Ticket #1814 (closed defect: fixed)
MJPEG in ASF: Unable to parse option value "0/0"
| Reported by: | taeuber | Owned by: | |
|---|---|---|---|
| Priority: | important | Component: | FFplay |
| Version: | git-master | Keywords: | regression |
| Cc: | Blocked By: | ||
| Blocking: | Reproduced by developer: | yes | |
| Analyzed by developer: | no |
Description
I'm not sure if this is avformat or avcodec
How to reproduce:
% ffplay stream.dump
ffplay version N-45494-gd310981 Copyright (c) 2003-2012 the FFmpeg developers
built on Oct 14 2012 09:54:09 with gcc 4.6.1 (Ubuntu/Linaro 4.6.1-9ubuntu3)
configuration: --enable-gpl --enable-pthreads --enable-libx264 --enable-libfaac --enable-libgsm --enable-libmp3lame --enable-libschroedinger --enable-libtheora --enable-libvorbis --enable-nonfree --enable-shared --enable-pic --enable-libxvid --enable-libspeex --enable-librtmp --enable-libopenjpeg --disable-vdpau
libavutil 51. 76.100 / 51. 76.100
libavcodec 54. 65.100 / 54. 65.100
libavformat 54. 32.100 / 54. 32.100
libavdevice 54. 3.100 / 54. 3.100
libavfilter 3. 19.102 / 3. 19.102
libswscale 2. 1.101 / 2. 1.101
libswresample 0. 16.100 / 0. 16.100
libpostproc 52. 1.100 / 52. 1.100
[asf @ 0x1f42420] max_analyze_duration 5000000 reached at 5120000
[asf @ 0x1f42420] Estimating duration from bitrate, this may be inaccurate
Input #0, asf, from 'stream.dump':
Duration: 00:01:34.10, start: 0.000000, bitrate: 31 kb/s
Stream #0:0: Video: mjpeg (MJPG / 0x47504A4D), yuvj422p, 640x480, 6.25 tbr, 1k tbn, 1k tbc
Stream #0:1: Audio: adpcm_ima_wav ([17][0][0][0] / 0x0011), 8000 Hz, 1 channels, s16p, 32 kb/s
Frame changed from size:0x0 to size:640x480B vq= 67KB sq= 0B f=0/0
[buffer @ 0x20977a0] Unable to parse option value "0/0"
This is a stream dump of a webcam with fps=0.5.
I can provide a private http streaming test account on my private cam to a limited group of developpers when necessary.
[...] [mjpeg @ 0xc49280] marker=d8 avail_size_in_buf=17310 [mjpeg @ 0xc49280] marker parser used 0 bytes (0 bits) [mjpeg @ 0xc49280] marker=e0 avail_size_in_buf=17308 [mjpeg @ 0xc49280] marker parser used 18 bytes (144 bits) [mjpeg @ 0xc49280] marker=c0 avail_size_in_buf=17287 [mjpeg @ 0xc49280] sof0: picture: 640x480 [mjpeg @ 0xc49280] component 0 2:1 id: 0 quant:0 [mjpeg @ 0xc49280] component 1 1:1 id: 1 quant:1 [mjpeg @ 0xc49280] component 2 1:1 id: 2 quant:1 [mjpeg @ 0xc49280] pix fmt id 21111100 [mjpeg @ 0xc49280] marker parser used 17 bytes (136 bits) [mjpeg @ 0xc49280] marker=db avail_size_in_buf=17268 [mjpeg @ 0xc49280] index=0 [mjpeg @ 0xc49280] qscale[0]: 4 [mjpeg @ 0xc49280] index=1 [mjpeg @ 0xc49280] qscale[1]: 8 [mjpeg @ 0xc49280] marker parser used 132 bytes (1056 bits) [mjpeg @ 0xc49280] marker=c4 avail_size_in_buf=17134 [mjpeg @ 0xc49280] class=0 index=0 nb_codes=12 [mjpeg @ 0xc49280] class=1 index=0 nb_codes=251 [mjpeg @ 0xc49280] class=0 index=1 nb_codes=12 [mjpeg @ 0xc49280] class=1 index=1 nb_codes=251 [mjpeg @ 0xc49280] marker parser used 418 bytes (3344 bits) [mjpeg @ 0xc49280] escaping removed 34 bytes [mjpeg @ 0xc49280] marker=da avail_size_in_buf=16714 [mjpeg @ 0xc49280] component: 0 [mjpeg @ 0xc49280] component: 1 [mjpeg @ 0xc49280] component: 2 [mjpeg @ 0xc49280] marker parser used 16677 bytes (133409 bits) [mjpeg @ 0xc49280] marker=d9 avail_size_in_buf=0 [mjpeg @ 0xc49280] decode frame unused 0 bytes Frame changed from size:0x0 to size:640x480 [buffer @ 0x7f04f80077a0] Setting entry with key 'video_size' to value '640x480' [buffer @ 0x7f04f80077a0] Setting entry with key 'pix_fmt' to value '13' [buffer @ 0x7f04f80077a0] Setting entry with key 'time_base' to value '1/1000' [buffer @ 0x7f04f80077a0] Setting entry with key 'pixel_aspect' to value '0/0' [buffer @ 0x7f04f80077a0] Unable to parse option value "0/0" [AVIOContext @ 0xc48000] Statistics: 196608 bytes read, 0 seeks 0B f=0/0
Attachments
Change History
Changed 7 months ago by taeuber
-
attachment
stream.dump
added
comment:1 Changed 7 months ago by cehoyos
- Keywords regression added
- Priority changed from normal to important
Could you confirm that you see the same problem with the stream you attached and if you try to decode the original http stream?
Or does the sample you attached show one problem (Unable to parse option value "0/0"), but there is another problem if you try to decode a stream from your camera?
comment:2 Changed 7 months ago by taeuber
I confirm, that there is the same error with the stream directly read by ffplay:
$ ffplay http://user:pw@url:port/videostream.asf?resolution=32&rate=18
ffplay version N-45494-gd310981 Copyright (c) 2003-2012 the FFmpeg developers
built on Oct 14 2012 09:54:09 with gcc 4.6.1 (Ubuntu/Linaro 4.6.1-9ubuntu3)
configuration: --enable-gpl --enable-pthreads --enable-libx264 --enable-libfaac --enable-libgsm --enable-libmp3lame --enable-libschroedinger --enable-libtheora --enable-libvorbis --enable-nonfree --enable-shared --enable-pic --enable-libxvid --enable-libspeex --enable-librtmp --enable-libopenjpeg --disable-vdpau
libavutil 51. 76.100 / 51. 76.100
libavcodec 54. 65.100 / 54. 65.100
libavformat 54. 32.100 / 54. 32.100
libavdevice 54. 3.100 / 54. 3.100
libavfilter 3. 19.102 / 3. 19.102
libswscale 2. 1.101 / 2. 1.101
libswresample 0. 16.100 / 0. 16.100
libpostproc 52. 1.100 / 52. 1.100
[asf @ 0x25f8420] Format asf probed with size=2048 and score=100
[asf @ 0x25f8420] File position before avformat_find_stream_info() is 457
[asf @ 0x25f8420] parser not found for codec adpcm_ima_wav, packets or times may be invalid.
[mjpeg @ 0x264a6a0] marker=d8 avail_size_in_buf=18278
[mjpeg @ 0x264a6a0] marker parser used 0 bytes (0 bits)
[mjpeg @ 0x264a6a0] marker=e0 avail_size_in_buf=18276
[mjpeg @ 0x264a6a0] marker parser used 18 bytes (144 bits)
[mjpeg @ 0x264a6a0] marker=c0 avail_size_in_buf=18255
[mjpeg @ 0x264a6a0] sof0: picture: 640x480
[mjpeg @ 0x264a6a0] component 0 2:1 id: 0 quant:0
[mjpeg @ 0x264a6a0] component 1 1:1 id: 1 quant:1
[mjpeg @ 0x264a6a0] component 2 1:1 id: 2 quant:1
[mjpeg @ 0x264a6a0] pix fmt id 21111100
[mjpeg @ 0x264a6a0] marker parser used 17 bytes (136 bits)
[mjpeg @ 0x264a6a0] marker=db avail_size_in_buf=18236
[mjpeg @ 0x264a6a0] index=0
[mjpeg @ 0x264a6a0] qscale[0]: 4
[mjpeg @ 0x264a6a0] index=1
[mjpeg @ 0x264a6a0] qscale[1]: 8
[mjpeg @ 0x264a6a0] marker parser used 132 bytes (1056 bits)
[mjpeg @ 0x264a6a0] marker=c4 avail_size_in_buf=18102
[mjpeg @ 0x264a6a0] class=0 index=0 nb_codes=12
[mjpeg @ 0x264a6a0] class=1 index=0 nb_codes=251
[mjpeg @ 0x264a6a0] class=0 index=1 nb_codes=12
[mjpeg @ 0x264a6a0] class=1 index=1 nb_codes=251
[mjpeg @ 0x264a6a0] marker parser used 418 bytes (3344 bits)
[mjpeg @ 0x264a6a0] escaping removed 36 bytes
[mjpeg @ 0x264a6a0] marker=da avail_size_in_buf=17682
[mjpeg @ 0x264a6a0] component: 0
[mjpeg @ 0x264a6a0] component: 1
[mjpeg @ 0x264a6a0] component: 2
[mjpeg @ 0x264a6a0] marker parser used 17644 bytes (141149 bits)
[mjpeg @ 0x264a6a0] marker=d9 avail_size_in_buf=2
[mjpeg @ 0x264a6a0] decode frame unused 2 bytes
[asf @ 0x25f8420] parser not found for codec adpcm_ima_wav, packets or times may be invalid.
[asf @ 0x25f8420] max_analyze_duration 5000000 reached at 5120000
rfps: 1.166667 0.001017
Last message repeated 1 times
rfps: 1.583333 0.000536
[...]
rfps: 59.083333 0.010758
Last message repeated 1 times
rfps: 59.416667 0.012328
rfps: 59.500000 0.019289
rfps: 59.833333 0.008958
rfps: 11.988012 0.016747
Last message repeated 1 times
[asf @ 0x25f8420] Estimating duration from bitrate, this may be inaccurate
[asf @ 0x25f8420] File position after avformat_find_stream_info() is 103507
Input #0, asf, from 'http://xxxxxx:xx@yyyyyyyy.dyndns.org:zz/videostream.asf?resolution=32&rate=18':
Duration: N/A, start: 0.000000, bitrate: 32 kb/s
Stream #0:0, 4, 1/1000: Video: mjpeg (MJPG / 0x47504A4D), yuvj422p, 640x480, 1/1000, 25 tbr, 1k tbn, 1k tbc
Stream #0:1, 34, 1/1000: Audio: adpcm_ima_wav ([17][0][0][0] / 0x0011), 8000 Hz, 1 channels, s16p, 32 kb/s
[mjpeg @ 0x264a6a0] marker=d8 avail_size_in_buf=18278
[mjpeg @ 0x264a6a0] marker parser used 0 bytes (0 bits)
[mjpeg @ 0x264a6a0] marker=e0 avail_size_in_buf=18276
[mjpeg @ 0x264a6a0] marker parser used 18 bytes (144 bits)
[mjpeg @ 0x264a6a0] marker=c0 avail_size_in_buf=18255
[mjpeg @ 0x264a6a0] sof0: picture: 640x480
[mjpeg @ 0x264a6a0] component 0 2:1 id: 0 quant:0
[mjpeg @ 0x264a6a0] component 1 1:1 id: 1 quant:1
[mjpeg @ 0x264a6a0] component 2 1:1 id: 2 quant:1
[mjpeg @ 0x264a6a0] pix fmt id 21111100
[mjpeg @ 0x264a6a0] marker parser used 17 bytes (136 bits)= 0B f=0/0
[mjpeg @ 0x264a6a0] marker=db avail_size_in_buf=18236
[mjpeg @ 0x264a6a0] index=0
[mjpeg @ 0x264a6a0] qscale[0]: 4
[mjpeg @ 0x264a6a0] index=1
[mjpeg @ 0x264a6a0] qscale[1]: 8
[mjpeg @ 0x264a6a0] marker parser used 132 bytes (1056 bits)
[mjpeg @ 0x264a6a0] marker=c4 avail_size_in_buf=18102
[mjpeg @ 0x264a6a0] class=0 index=0 nb_codes=12
[mjpeg @ 0x264a6a0] class=1 index=0 nb_codes=251
[mjpeg @ 0x264a6a0] class=0 index=1 nb_codes=12
[mjpeg @ 0x264a6a0] class=1 index=1 nb_codes=251
[mjpeg @ 0x264a6a0] marker parser used 418 bytes (3344 bits)
[mjpeg @ 0x264a6a0] escaping removed 36 bytes
[mjpeg @ 0x264a6a0] marker=da avail_size_in_buf=17682
[mjpeg @ 0x264a6a0] component: 0
[mjpeg @ 0x264a6a0] component: 1
[mjpeg @ 0x264a6a0] component: 2
[mjpeg @ 0x264a6a0] marker parser used 17644 bytes (141149 bits)
[mjpeg @ 0x264a6a0] marker=d9 avail_size_in_buf=2
[mjpeg @ 0x264a6a0] decode frame unused 2 bytes
Frame changed from size:0x0 to size:640x480
[buffer @ 0x2756ae0] Setting entry with key 'video_size' to value '640x480'
[buffer @ 0x2756ae0] Setting entry with key 'pix_fmt' to value '13'
[buffer @ 0x2756ae0] Setting entry with key 'time_base' to value '1/1000'
[buffer @ 0x2756ae0] Setting entry with key 'pixel_aspect' to value '0/0'
[buffer @ 0x2756ae0] Unable to parse option value "0/0"
[AVIOContext @ 0x264d4a0] Statistics: 103507 bytes read, 0 seeks
regards
Lars
comment:3 Changed 7 months ago by richardpl
lavfi trips over 0/0 sample aspect ratio.
Possible solutions:
1st: modify mjpedec.c and make 0/0 into 0/1
2st: teach lavfi to assume invalid aspect ratios are 1/1



created with mplayer http://URL -dumpstream