#1734: Problems dumping H264 stream from an Axis camera -------------------------------------+------------------------------------- Reporter: PaulJBis | Type: defect Status: new | Priority: normal Component: | Version: git- undetermined | master Keywords: | Blocked By: Blocking: | Reproduced by developer: 0 Analyzed by developer: 0 | -------------------------------------+------------------------------------- I'm trying to dump the H264 stream from an Axis M-1011 camera, and latest ffmpeg gives me a "av_interleaved_write_frame(): Invalid argument" error.
The stream does work if I play it using ffplay. If I dump the raw stream with openRTSP (from http://www.live555.com/liveMedia) and then feed it to ffmpeg, it does work too. It only stops working if I use ffmpeg to receive directly the stream (so unfortunately I can't provide you with any video samples). Using git bisect, I managed to narrow down the revision where the bug started happening: version 2107009 is the last one that worked, while 3e1cf49 (and subsequent ones) don't work. Following a discussion in the mailing list, I tried removing "&& has_decode_delay_been_guessed(st)" from compute_pkt_fields() in libavformat/utils.c, in the current version, and it started working too. Below are console outputs, including command lines: Output of the current version: {{{ [paulo@webserver ffmpeg]$ ./ffmpeg -v 9 -loglevel 99 -rtsp_transport tcp -i rtsp://root:root@192.168.1.131:554/axis- media/media.amp?streamprofile=Media?tcp -vcodec copy -acodec copy -t 4 ../axis.mp4 ffmpeg version N-44400-g2de8877 Copyright (c) 2000-2012 the FFmpeg developers built on Sep 12 2012 22:25:21 with gcc 4.1.2 (GCC) 20080704 (Red Hat 4.1.2-50) configuration: --enable-encoder=libx264 --enable-libx264 --enable- runtime-cpudetect --enable-libmp3lame --enable-gpl --extra- cflags=-I/usr/local/include --extra-ldflags=-L/usr/local/lib libavutil 51. 72.100 / 51. 72.100 libavcodec 54. 55.100 / 54. 55.100 libavformat 54. 26.101 / 54. 26.101 libavdevice 54. 2.100 / 54. 2.100 libavfilter 3. 16.103 / 3. 16.103 libswscale 2. 1.101 / 2. 1.101 libswresample 0. 15.100 / 0. 15.100 libpostproc 52. 0.100 / 52. 0.100 [rtsp @ 0xa6d85e0] SDP: v=0 o=- 1288182959680264 1288182959680264 IN IP4 192.168.1.131 s=Media Presentation e=NONE c=IN IP4 0.0.0.0 b=AS:50000 t=0 0 a=control:rtsp://192.168.1.131:554/axis- media/media.amp?streamprofile=Media?tcp a=range:npt=0.000000- m=video 0 RTP/AVP 96 b=AS:50000 a=framerate:25.0 a=transform:1,0,0;0,1,0;0,0,1 a=control:rtsp://192.168.1.131:554/axis- media/media.amp/trackID=1?streamprofile=Media?tcp a=rtpmap:96 H264/90000 a=fmtp:96 packetization-mode=1; profile-level-id=420029; sprop-parameter- sets=Z0IAKeNQFAe2AtwEBAaQeJEV,aM48gA== [rtsp @ 0xa6d85e0] video codec set to: h264 [NULL @ 0xa6e07c0] RTP Packetization Mode: 1 [NULL @ 0xa6e07c0] RTP Profile IDC: 42 Profile IOP: 0 Level: 29 [NULL @ 0xa6e07c0] Extradata set to 0xa6e0c40 (size: 30)! [rtsp @ 0xa6d85e0] hello state=0 [rtsp @ 0xa6d85e0] All info found rfps: 29.500000 0.016870 rfps: 29.583333 0.012762 rfps: 29.666667 0.009299 rfps: 29.750000 0.006483 rfps: 29.833333 0.004314 Last message repeated 1 times rfps: 29.916667 0.002791 Last message repeated 1 times rfps: 30.000000 0.001914 Last message repeated 1 times rfps: 30.083333 0.001684 rfps: 30.166667 0.002100 Last message repeated 1 times rfps: 30.250000 0.003163 Last message repeated 1 times rfps: 30.333333 0.004872 Last message repeated 1 times rfps: 30.416667 0.007228 rfps: 30.500000 0.010230 rfps: 30.583333 0.013878 rfps: 30.666667 0.018173 rfps: 59.666667 0.017255 rfps: 59.750000 0.013886 rfps: 59.833333 0.011163 rfps: 59.916667 0.009087 Last message repeated 1 times rfps: 60.000000 0.007657 Last message repeated 1 times rfps: 29.970030 0.002155 Last message repeated 1 times rfps: 59.940060 0.008620 Last message repeated 1 times [rtsp @ 0xa6d85e0] Estimating duration from bitrate, this may be inaccurate Input #0, rtsp, from 'rtsp://root:root@192.168.1.131:554/axis- media/media.amp?streamprofile=Media?tcp': Metadata: title : Media Presentation Duration: N/A, start: 0.099867, bitrate: N/A Stream #0:0, 28, 1/90000: Video: h264 (Baseline), yuvj420p, 640x480 [SAR 1:1 DAR 4:3], 1/180000, 30.08 tbr, 90k tbn, 180k tbc Output #0, mp4, to '../axis.mp4': Metadata: title : Media Presentation encoder : Lavf54.26.101 Stream #0:0, 0, 1/90000: Video: h264 ([33][0][0][0] / 0x0021), yuvj420p, 640x480 [SAR 1:1 DAR 4:3], 1/90000, q=2-31, 90k tbn, 90k tbc Stream mapping: Stream #0:0 -> #0:0 (copy) Press [q] to stop, [?] for help [mp4 @ 0xa8125e0] pts (0) < dts (1) in stream 0 av_interleaved_write_frame(): Invalid argument }}} Output of version 2107009 (last one that worked): {{{ [paulo@webserver ffmpeg]$ ./ffmpeg -v 9 -loglevel 99 -rtsp_transport tcp -i rtsp://root:root@192.168.1.131:554/axis- media/media.amp?streamprofile=Media?tcp -vcodec copy -acodec copy -t 4 ../axis.mp4 ffmpeg version N-43195-g2107009 Copyright (c) 2000-2012 the FFmpeg developers built on Sep 14 2012 14:26:23 with gcc 4.1.2 (GCC) 20080704 (Red Hat 4.1.2-50) configuration: --enable-encoder=libx264 --enable-libx264 --enable- runtime-cpudetect --enable-libmp3lame --enable-gpl --extra- cflags=-I/usr/local/include --extra-ldflags=-L/usr/local/lib libavutil 51. 66.100 / 51. 66.100 libavcodec 54. 48.100 / 54. 48.100 libavformat 54. 22.100 / 54. 22.100 libavdevice 54. 2.100 / 54. 2.100 libavfilter 3. 5.102 / 3. 5.102 libswscale 2. 1.100 / 2. 1.100 libswresample 0. 15.100 / 0. 15.100 libpostproc 52. 0.100 / 52. 0.100 [rtsp @ 0xa0df5c0] SDP: v=0 o=- 1288183655668567 1288183655668567 IN IP4 192.168.1.131 s=Media Presentation e=NONE c=IN IP4 0.0.0.0 b=AS:50000 t=0 0 a=control:rtsp://192.168.1.131:554/axis- media/media.amp?streamprofile=Media?tcp a=range:npt=0.000000- m=video 0 RTP/AVP 96 b=AS:50000 a=framerate:25.0 a=transform:1,0,0;0,1,0;0,0,1 a=control:rtsp://192.168.1.131:554/axis- media/media.amp/trackID=1?streamprofile=Media?tcp a=rtpmap:96 H264/90000 a=fmtp:96 packetization-mode=1; profile-level-id=420029; sprop-parameter- sets=Z0IAKeNQFAe2AtwEBAaQeJEV,aM48gA== [rtsp @ 0xa0df5c0] video codec set to: h264 [NULL @ 0xa0e7760] RTP Packetization Mode: 1 [NULL @ 0xa0e7760] RTP Profile IDC: 42 Profile IOP: 0 Level: 29 [NULL @ 0xa0e7760] Extradata set to 0xa0e7c40 (size: 30)! [rtsp @ 0xa0df5c0] hello state=0 [rtsp @ 0xa0df5c0] All info found rfps: 29.666667 0.017957 rfps: 29.750000 0.011154 Last message repeated 1 times rfps: 29.833333 0.006086 Last message repeated 1 times rfps: 29.916667 0.002752 Last message repeated 1 times rfps: 30.000000 0.001154 rfps: 30.083333 0.001291 rfps: 30.166667 0.003162 Last message repeated 1 times rfps: 30.250000 0.006769 Last message repeated 1 times rfps: 30.333333 0.012110 Last message repeated 1 times rfps: 30.416667 0.019187 rfps: 59.750000 0.016809 rfps: 59.833333 0.011010 Last message repeated 1 times rfps: 59.916667 0.006945 Last message repeated 1 times rfps: 60.000000 0.004616 rfps: 29.970030 0.001529 Last message repeated 1 times rfps: 59.940060 0.006116 Last message repeated 1 times [rtsp @ 0xa0df5c0] Estimating duration from bitrate, this may be inaccurate Input #0, rtsp, from 'rtsp://root:root@192.168.1.131:554/axis- media/media.amp?streamprofile=Media?tcp': Metadata: title : Media Presentation Duration: N/A, start: 0.099856, bitrate: N/A Stream #0:0, 22, 1/90000: Video: h264 (Baseline), yuvj420p, 640x480 [SAR 1:1 DAR 4:3], 1/180000, 30 tbr, 90k tbn, 180k tbc Output #0, mp4, to '../axis.mp4': Metadata: title : Media Presentation encoder : Lavf54.22.100 Stream #0:0, 0, 1/90000: Video: h264 ([33][0][0][0] / 0x0021), yuvj420p, 640x480 [SAR 1:1 DAR 4:3], 1/90000, q=2-31, 90k tbn, 90k tbc Stream mapping: Stream #0:0 -> #0:0 (copy) Press [q] to stop, [?] for help frame= 38 fps=0.0 q=-1.0 size= 347kB time=00:00:01.82 bitrate=1554.8kbits/ frame= 50 fps= 47 q=-1.0 size= 434kB time=00:00:02.36 bitrate=1507.2kbits/ frame= 62 fps= 40 q=-1.0 size= 520kB time=00:00:02.85 bitrate=1490.0kbits/ frame= 75 fps= 36 q=-1.0 size= 652kB time=00:00:03.39 bitrate=1574.2kbits/ frame= 88 fps= 34 q=-1.0 size= 744kB time=00:00:03.89 bitrate=1567.0kbits/ No more output streams to write to, finishing. frame= 91 fps= 32 q=-1.0 Lsize= 767kB time=00:00:03.98 bitrate=1575.8kbits/s video:766kB audio:0kB subtitle:0 global headers:0kB muxing overhead 0.236722% }}} -- Ticket URL: <https://ffmpeg.org/trac/ffmpeg/ticket/1734> FFmpeg <http://ffmpeg.org> FFmpeg issue tracker _______________________________________________ FFmpeg-trac mailing list FFmpeg-trac@avcodec.org http://avcodec.org/mailman/listinfo/ffmpeg-trac