Broken video in rtmp stream to Wowza using tee pseudo-muxer
Hello everyone, I'm trying to send a rtmp stream to our Wowza streaming server and record that stream at the same time. I've followed the instructions from https://trac.ffmpeg.org/wiki/Creating%20multiple%20outputs and https://trac.ffmpeg.org/wiki/EncodingForStreamingSites. I'm experiencing the same problem as another user did before: http://www.ffmpeg-archive.org/rtmp-output-is-black-bitrate-N-A-td4670047.htm... When I just upload the stream without the tee muxer, everything works as expected, but with tee I only get audio but no video. In the Wowza logs I can see errors like this: H264Utils.decodeAVCC : java.lang.ArrayIndexOutOfBoundsException Sounds to me like there's something wrong with the h.264 video. The ffmpeg command looks like this: ffmpeg -y -v info -f x11grab -draw_mouse 0 -r 25 -s 1280x720 -thread_queue_size 4096 -i :0.0+0,0 -f alsa \ -thread_queue_size 4096 -i hw:0,1,0 -acodec aac -strict -2 -ar 44100 -c:v libx264 -preset veryfast \ -maxrate 2976k -bufsize 5952k -pix_fmt yuv420p -r 25 -crf 25 -g 50 -tune zerolatency \ -f tee -map 0:v -map 1:a "[f=flv]rtmp://user:password@servername:1935/live/test_stream" I can watch the rtmp stream using VLC, although it shows artifacts about every 30 seconds. Flash won't play it and the transcoding to HLS in Wowza fails with the errors mentioned above. I've compiled ffmpeg from the latest snapshot to make sure I'm not encountering a bug that has already been fixed. Does anyone know how to solve this problem or at least has some hints on how to debug it? Thanks, Erwin
2018-01-24 16:36 GMT+01:00 Erwin Eggenberger <eeggenberger+ffmpeg@techcast.com>:
When I just upload the stream without the tee muxer, everything works as expected, but with tee I only get audio but no video. In the Wowza logs I can see errors like this: H264Utils.decodeAVCC : java.lang.ArrayIndexOutOfBoundsException
Sounds to me like there's something wrong with the h.264 video. The ffmpeg command looks like this:
ffmpeg -y -v info -f x11grab -draw_mouse 0 -r 25 -s 1280x720 -thread_queue_size 4096 -i :0.0+0,0 -f alsa \ -thread_queue_size 4096 -i hw:0,1,0 -acodec aac -strict -2 -ar 44100 -c:v libx264 -preset veryfast \ -maxrate 2976k -bufsize 5952k -pix_fmt yuv420p -r 25 -crf 25 -g 50 -tune zerolatency \ -f tee -map 0:v -map 1:a "[f=flv]rtmp://user:password@servername:1935/live/test_stream"
Please also provide the complete, uncut console output. Carl Eugen
Hi Carl Eugen, I finally had the chance to look into this again. Here's the command and its output that isn't working: ffmpeg -y -v info -f x11grab -draw_mouse 0 -r 25 -s 1280x720 \ -thread_queue_size 4096 -i :0.0+0,0 -f alsa -thread_queue_size 4096 \ -i hw:0,1,0 -acodec aac -strict -2 -ar 44100 -c:v libx264 -preset veryfast \ -maxrate 2976k -bufsize 5952k -pix_fmt yuv420p -r 25 -crf 25 -g 50 \ -tune zerolatency \ -f tee -map 0:v -map 1:a \ "[f=flv]rtmp://user:password@wowza-server.tld:1935/live/tcfw_demo_db728" Output: ffmpeg version N-89907-g293f24b Copyright (c) 2000-2018 the FFmpeg developers built with gcc 5.4.0 (Ubuntu 5.4.0-6ubuntu1~16.04.5) 20160609 configuration: --prefix=/home/eeggenberger/ffmpeg_build --pkg-config-flags=--static --extra-cflags=-I/home/eeggenberger/ffmpeg_build/include --extra-ldflags=-L/home/eeggenberger/ffmpeg_build/lib --extra-libs='-lpthread -lm' --bindir=/home/eeggenberger/bin --enable-gpl --enable-libass --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-nonfree libavutil 56. 7.100 / 56. 7.100 libavcodec 58. 9.100 / 58. 9.100 libavformat 58. 6.100 / 58. 6.100 libavdevice 58. 0.101 / 58. 0.101 libavfilter 7. 11.101 / 7. 11.101 libswscale 5. 0.101 / 5. 0.101 libswresample 3. 0.101 / 3. 0.101 libpostproc 55. 0.100 / 55. 0.100 [x11grab @ 0x35aaf80] Stream #0: not enough frames to estimate rate; consider increasing probesize Input #0, x11grab, from ':0.0+0,0': Duration: N/A, start: 1517487900.599421, bitrate: N/A Stream #0:0: Video: rawvideo (BGR[0] / 0x524742), bgr0, 1280x720, 25 fps, 1000k tbr, 1000k tbn, 1000k tbc Guessed Channel Layout for Input Stream #1.0 : stereo Input #1, alsa, from 'hw:0,1,0': Duration: N/A, start: 1517487900.643670, bitrate: 1536 kb/s Stream #1:0: Audio: pcm_s16le, 48000 Hz, stereo, s16, 1536 kb/s Stream mapping: Stream #0:0 -> #0:0 (rawvideo (native) -> h264 (libx264)) Stream #1:0 -> #0:1 (pcm_s16le (native) -> aac (native)) Press [q] to stop, [?] for help [libx264 @ 0x35c84c0] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2 [libx264 @ 0x35c84c0] profile High, level 3.1 [rtmp @ 0x3fda200] Ignoring unsupported var reason Output #0, tee, to '[f=flv]rtmp://techcast:oleander@cdn.techcast.com:1935/live/tcfw_demo_db728': Metadata: encoder : Lavf58.6.100 Stream #0:0: Video: h264 (libx264), yuv420p(progressive), 1280x720, q=-1--1, 25 fps, 25 tbn, 25 tbc Metadata: encoder : Lavc58.9.100 libx264 Side data: cpb: bitrate max/min/avg: 2976000/0/0 buffer size: 5952000 vbv_delay: -1 Stream #0:1: Audio: aac (LC), 44100 Hz, stereo, fltp, 128 kb/s Metadata: encoder : Lavc58.9.100 aac frame= 12 fps=0.0 q=24.0 size=N/A time=00:00:00.48 bitrate=N/A speed=0.943x frame= 25 fps= 25 q=23.0 size=N/A time=00:00:01.00 bitrate=N/A speed=0.987x frame= 37 fps= 24 q=23.0 size=N/A time=00:00:01.48 bitrate=N/A speed=0.973x ... similar messages repeated ... frame= 2818 fps= 25 q=23.0 size=N/A time=00:01:52.72 bitrate=N/A speed= 1x frame= 2830 fps= 25 q=23.0 size=N/A time=00:01:53.20 bitrate=N/A speed= 1x frame= 2843 fps= 25 q=23.0 size=N/A time=00:01:53.72 bitrate=N/A speed= 1x [flv @ 0x3fd7f00] Failed to update header with correct duration. [flv @ 0x3fd7f00] Failed to update header with correct filesize. frame= 2855 fps= 25 q=23.0 Lsize=N/A time=00:01:54.20 bitrate=N/A speed= 1x video:9655kB audio:1790kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown [libx264 @ 0x35c84c0] frame I:58 Avg QP:17.26 size: 48561 [libx264 @ 0x35c84c0] frame P:2797 Avg QP:18.06 size: 2528 [libx264 @ 0x35c84c0] mb I I16..4: 24.2% 40.0% 35.9% [libx264 @ 0x35c84c0] mb P I16..4: 2.5% 0.2% 0.0% P16..4: 23.1% 2.4% 0.5% 0.0% 0.0% skip:71.2% [libx264 @ 0x35c84c0] 8x8 transform intra:21.9% inter:16.9% [libx264 @ 0x35c84c0] coded y,uvDC,uvAC intra: 37.3% 79.3% 43.8% inter: 0.6% 21.5% 0.5% [libx264 @ 0x35c84c0] i16 v,h,dc,p: 50% 24% 21% 6% [libx264 @ 0x35c84c0] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 11% 22% 22% 6% 6% 2% 16% 5% 10% [libx264 @ 0x35c84c0] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 15% 24% 12% 6% 8% 4% 19% 5% 8% [libx264 @ 0x35c84c0] i8c dc,h,v,p: 54% 23% 19% 5% [libx264 @ 0x35c84c0] Weighted P-Frames: Y:0.0% UV:0.0% [libx264 @ 0x35c84c0] kb/s:692.58 [aac @ 0x35c9780] Qavg: 247.443 Exiting normally, received signal 2. For comparison, this is the working command without tee: ffmpeg -y -v info -f x11grab -draw_mouse 0 -r 25 -s 1280x720 \ -thread_queue_size 4096 -i :0.0+0,0 -f alsa -thread_queue_size 4096 \ -i hw:0,1,0 -acodec aac -strict -2 -ar 44100 -c:v libx264 -preset veryfast \ -maxrate 2976k -bufsize 5952k -pix_fmt yuv420p -r 25 -crf 25 -g 50 \ -tune zerolatency \ -f flv rtmp://user:password@wowza-server.tld:1935/live/tcfw_demo_db728 Output: ffmpeg version N-89907-g293f24b Copyright (c) 2000-2018 the FFmpeg developers built with gcc 5.4.0 (Ubuntu 5.4.0-6ubuntu1~16.04.5) 20160609 configuration: --prefix=/home/eeggenberger/ffmpeg_build --pkg-config-flags=--static --extra-cflags=-I/home/eeggenberger/ffmpeg_build/include --extra-ldflags=-L/home/eeggenberger/ffmpeg_build/lib --extra-libs='-lpthread -lm' --bindir=/home/eeggenberger/bin --enable-gpl --enable-libass --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-nonfree libavutil 56. 7.100 / 56. 7.100 libavcodec 58. 9.100 / 58. 9.100 libavformat 58. 6.100 / 58. 6.100 libavdevice 58. 0.101 / 58. 0.101 libavfilter 7. 11.101 / 7. 11.101 libswscale 5. 0.101 / 5. 0.101 libswresample 3. 0.101 / 3. 0.101 libpostproc 55. 0.100 / 55. 0.100 [x11grab @ 0x3ffbf40] Stream #0: not enough frames to estimate rate; consider increasing probesize Input #0, x11grab, from ':0.0+0,0': Duration: N/A, start: 1517487760.405432, bitrate: N/A Stream #0:0: Video: rawvideo (BGR[0] / 0x524742), bgr0, 1280x720, 25 fps, 1000k tbr, 1000k tbn, 1000k tbc Guessed Channel Layout for Input Stream #1.0 : stereo Input #1, alsa, from 'hw:0,1,0': Duration: N/A, start: 1517487760.451644, bitrate: 1536 kb/s Stream #1:0: Audio: pcm_s16le, 48000 Hz, stereo, s16, 1536 kb/s [rtmp @ 0x401d4c0] Ignoring unsupported var reason Stream mapping: Stream #0:0 -> #0:0 (rawvideo (native) -> h264 (libx264)) Stream #1:0 -> #0:1 (pcm_s16le (native) -> aac (native)) Press [q] to stop, [?] for help [libx264 @ 0x4019740] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2 [libx264 @ 0x4019740] profile High, level 3.1 [libx264 @ 0x4019740] 264 - core 155 - H.264/MPEG-4 AVC codec - Copyleft 2003-2018 - http://www.videolan.org/x264.html - options: cabac=1 ref=1 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=2 psy=1 psy_rd=1.00:0.00 mixed_ref=0 me_range=16 chroma_me=1 trellis=0 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=0 threads=4 lookahead_threads=4 sliced_threads=1 slices=4 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=0 weightp=1 keyint=50 keyint_min=5 scenecut=40 intra_refresh=0 rc_lookahead=0 rc=crf mbtree=0 crf=25.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 vbv_maxrate=2976 vbv_bufsize=5952 crf_max=0.0 nal_hrd=none filler=0 ip_ratio=1.40 aq=1:1.00 Output #0, flv, to 'rtmp://techcast:oleander@cdn.techcast.com:1935/live/tcfw_demo_db728': Metadata: encoder : Lavf58.6.100 Stream #0:0: Video: h264 (libx264) ([7][0][0][0] / 0x0007), yuv420p(progressive), 1280x720, q=-1--1, 25 fps, 1k tbn, 25 tbc Metadata: encoder : Lavc58.9.100 libx264 Side data: cpb: bitrate max/min/avg: 2976000/0/0 buffer size: 5952000 vbv_delay: -1 Stream #0:1: Audio: aac (LC) ([10][0][0][0] / 0x000A), 44100 Hz, stereo, fltp, 128 kb/s Metadata: encoder : Lavc58.9.100 aac frame= 18 fps=0.0 q=24.0 size= 98kB time=00:00:00.69 bitrate=1155.1kbits/s speed=1.37x frame= 31 fps= 31 q=22.0 size= 130kB time=00:00:01.21 bitrate= 882.0kbits/s speed=1.19x frame= 43 fps= 28 q=21.0 size= 160kB time=00:00:01.72 bitrate= 762.1kbits/s speed=1.13x frame= 56 fps= 28 q=23.0 size= 232kB time=00:00:02.20 bitrate= 859.9kbits/s speed=1.09x ... similar messages repeated ... frame= 1294 fps= 25 q=21.0 size= 4190kB time=00:00:51.73 bitrate= 663.5kbits/s speed= 1x frame= 1307 fps= 25 q=23.0 size= 4266kB time=00:00:52.24 bitrate= 668.9kbits/s speed= 1x frame= 1320 fps= 25 q=23.0 size= 4299kB time=00:00:52.76 bitrate= 667.5kbits/s speed= 1x [flv @ 0x4017780] Failed to update header with correct duration. [flv @ 0x4017780] Failed to update header with correct filesize. frame= 1322 fps= 25 q=23.0 Lsize= 4306kB time=00:00:52.87 bitrate= 667.1kbits/s speed= 1x video:3409kB audio:829kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 1.602683% [libx264 @ 0x4019740] frame I:27 Avg QP:16.74 size: 46784 [libx264 @ 0x4019740] frame P:1295 Avg QP:17.30 size: 1720 [libx264 @ 0x4019740] mb I I16..4: 24.8% 39.7% 35.5% [libx264 @ 0x4019740] mb P I16..4: 1.6% 0.1% 0.0% P16..4: 16.4% 1.5% 0.4% 0.0% 0.0% skip:80.1% [libx264 @ 0x4019740] 8x8 transform intra:23.7% inter:13.0% [libx264 @ 0x4019740] coded y,uvDC,uvAC intra: 45.7% 75.0% 38.4% inter: 0.3% 14.4% 0.1% [libx264 @ 0x4019740] i16 v,h,dc,p: 59% 20% 16% 5% [libx264 @ 0x4019740] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 11% 23% 16% 7% 6% 2% 17% 6% 11% [libx264 @ 0x4019740] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 15% 24% 12% 6% 8% 4% 18% 5% 8% [libx264 @ 0x4019740] i8c dc,h,v,p: 52% 24% 20% 5% [libx264 @ 0x4019740] Weighted P-Frames: Y:0.0% UV:0.0% [libx264 @ 0x4019740] kb/s:528.04 [aac @ 0x401aa00] Qavg: 248.935 Exiting normally, received signal 2. I've already used diff to find differences in the output, but there isn't anything obvious. I only noticed that the line starting with "264 - core 155 - H.264/MPEG-4 AVC codec - Copyleft 2003-2018" doesn't show up in the output when I use tee. Everything else looks more or less the same. Regards, Erwin Am 25.01.2018 um 11:21 schrieb Carl Eugen Hoyos:
2018-01-24 16:36 GMT+01:00 Erwin Eggenberger <eeggenberger+ffmpeg@techcast.com>:
When I just upload the stream without the tee muxer, everything works as expected, but with tee I only get audio but no video. In the Wowza logs I can see errors like this: H264Utils.decodeAVCC : java.lang.ArrayIndexOutOfBoundsException
Sounds to me like there's something wrong with the h.264 video. The ffmpeg command looks like this:
ffmpeg -y -v info -f x11grab -draw_mouse 0 -r 25 -s 1280x720 -thread_queue_size 4096 -i :0.0+0,0 -f alsa \ -thread_queue_size 4096 -i hw:0,1,0 -acodec aac -strict -2 -ar 44100 -c:v libx264 -preset veryfast \ -maxrate 2976k -bufsize 5952k -pix_fmt yuv420p -r 25 -crf 25 -g 50 -tune zerolatency \ -f tee -map 0:v -map 1:a "[f=flv]rtmp://user:password@servername:1935/live/test_stream"
Please also provide the complete, uncut console output.
Carl Eugen _______________________________________________ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-user
To unsubscribe, visit link above, or email ffmpeg-user-request@ffmpeg.org with subject "unsubscribe".
Oops! Forgot to remove the credentials for the rtmp stream from the command output. Already changed it ;-) Am 01.02.2018 um 13:52 schrieb Erwin Eggenberger:
Hi Carl Eugen,
I finally had the chance to look into this again. Here's the command and its output that isn't working:
ffmpeg -y -v info -f x11grab -draw_mouse 0 -r 25 -s 1280x720 \ -thread_queue_size 4096 -i :0.0+0,0 -f alsa -thread_queue_size 4096 \ -i hw:0,1,0 -acodec aac -strict -2 -ar 44100 -c:v libx264 -preset veryfast \ -maxrate 2976k -bufsize 5952k -pix_fmt yuv420p -r 25 -crf 25 -g 50 \ -tune zerolatency \ -f tee -map 0:v -map 1:a \ "[f=flv]rtmp://user:password@wowza-server.tld:1935/live/tcfw_demo_db728"
Output: ffmpeg version N-89907-g293f24b Copyright (c) 2000-2018 the FFmpeg developers built with gcc 5.4.0 (Ubuntu 5.4.0-6ubuntu1~16.04.5) 20160609 configuration: --prefix=/home/eeggenberger/ffmpeg_build --pkg-config-flags=--static --extra-cflags=-I/home/eeggenberger/ffmpeg_build/include --extra-ldflags=-L/home/eeggenberger/ffmpeg_build/lib --extra-libs='-lpthread -lm' --bindir=/home/eeggenberger/bin --enable-gpl --enable-libass --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-nonfree libavutil 56. 7.100 / 56. 7.100 libavcodec 58. 9.100 / 58. 9.100 libavformat 58. 6.100 / 58. 6.100 libavdevice 58. 0.101 / 58. 0.101 libavfilter 7. 11.101 / 7. 11.101 libswscale 5. 0.101 / 5. 0.101 libswresample 3. 0.101 / 3. 0.101 libpostproc 55. 0.100 / 55. 0.100 [x11grab @ 0x35aaf80] Stream #0: not enough frames to estimate rate; consider increasing probesize Input #0, x11grab, from ':0.0+0,0': Duration: N/A, start: 1517487900.599421, bitrate: N/A Stream #0:0: Video: rawvideo (BGR[0] / 0x524742), bgr0, 1280x720, 25 fps, 1000k tbr, 1000k tbn, 1000k tbc Guessed Channel Layout for Input Stream #1.0 : stereo Input #1, alsa, from 'hw:0,1,0': Duration: N/A, start: 1517487900.643670, bitrate: 1536 kb/s Stream #1:0: Audio: pcm_s16le, 48000 Hz, stereo, s16, 1536 kb/s Stream mapping: Stream #0:0 -> #0:0 (rawvideo (native) -> h264 (libx264)) Stream #1:0 -> #0:1 (pcm_s16le (native) -> aac (native)) Press [q] to stop, [?] for help [libx264 @ 0x35c84c0] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2 [libx264 @ 0x35c84c0] profile High, level 3.1 [rtmp @ 0x3fda200] Ignoring unsupported var reason Output #0, tee, to '[f=flv]rtmp://techcast:oleander@cdn.techcast.com:1935/live/tcfw_demo_db728': Metadata: encoder : Lavf58.6.100 Stream #0:0: Video: h264 (libx264), yuv420p(progressive), 1280x720, q=-1--1, 25 fps, 25 tbn, 25 tbc Metadata: encoder : Lavc58.9.100 libx264 Side data: cpb: bitrate max/min/avg: 2976000/0/0 buffer size: 5952000 vbv_delay: -1 Stream #0:1: Audio: aac (LC), 44100 Hz, stereo, fltp, 128 kb/s Metadata: encoder : Lavc58.9.100 aac frame= 12 fps=0.0 q=24.0 size=N/A time=00:00:00.48 bitrate=N/A speed=0.943x frame= 25 fps= 25 q=23.0 size=N/A time=00:00:01.00 bitrate=N/A speed=0.987x frame= 37 fps= 24 q=23.0 size=N/A time=00:00:01.48 bitrate=N/A speed=0.973x ... similar messages repeated ... frame= 2818 fps= 25 q=23.0 size=N/A time=00:01:52.72 bitrate=N/A speed= 1x frame= 2830 fps= 25 q=23.0 size=N/A time=00:01:53.20 bitrate=N/A speed= 1x frame= 2843 fps= 25 q=23.0 size=N/A time=00:01:53.72 bitrate=N/A speed= 1x [flv @ 0x3fd7f00] Failed to update header with correct duration. [flv @ 0x3fd7f00] Failed to update header with correct filesize. frame= 2855 fps= 25 q=23.0 Lsize=N/A time=00:01:54.20 bitrate=N/A speed= 1x video:9655kB audio:1790kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown [libx264 @ 0x35c84c0] frame I:58 Avg QP:17.26 size: 48561 [libx264 @ 0x35c84c0] frame P:2797 Avg QP:18.06 size: 2528 [libx264 @ 0x35c84c0] mb I I16..4: 24.2% 40.0% 35.9% [libx264 @ 0x35c84c0] mb P I16..4: 2.5% 0.2% 0.0% P16..4: 23.1% 2.4% 0.5% 0.0% 0.0% skip:71.2% [libx264 @ 0x35c84c0] 8x8 transform intra:21.9% inter:16.9% [libx264 @ 0x35c84c0] coded y,uvDC,uvAC intra: 37.3% 79.3% 43.8% inter: 0.6% 21.5% 0.5% [libx264 @ 0x35c84c0] i16 v,h,dc,p: 50% 24% 21% 6% [libx264 @ 0x35c84c0] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 11% 22% 22% 6% 6% 2% 16% 5% 10% [libx264 @ 0x35c84c0] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 15% 24% 12% 6% 8% 4% 19% 5% 8% [libx264 @ 0x35c84c0] i8c dc,h,v,p: 54% 23% 19% 5% [libx264 @ 0x35c84c0] Weighted P-Frames: Y:0.0% UV:0.0% [libx264 @ 0x35c84c0] kb/s:692.58 [aac @ 0x35c9780] Qavg: 247.443 Exiting normally, received signal 2.
For comparison, this is the working command without tee:
ffmpeg -y -v info -f x11grab -draw_mouse 0 -r 25 -s 1280x720 \ -thread_queue_size 4096 -i :0.0+0,0 -f alsa -thread_queue_size 4096 \ -i hw:0,1,0 -acodec aac -strict -2 -ar 44100 -c:v libx264 -preset veryfast \ -maxrate 2976k -bufsize 5952k -pix_fmt yuv420p -r 25 -crf 25 -g 50 \ -tune zerolatency \ -f flv rtmp://user:password@wowza-server.tld:1935/live/tcfw_demo_db728
Output: ffmpeg version N-89907-g293f24b Copyright (c) 2000-2018 the FFmpeg developers built with gcc 5.4.0 (Ubuntu 5.4.0-6ubuntu1~16.04.5) 20160609 configuration: --prefix=/home/eeggenberger/ffmpeg_build --pkg-config-flags=--static --extra-cflags=-I/home/eeggenberger/ffmpeg_build/include --extra-ldflags=-L/home/eeggenberger/ffmpeg_build/lib --extra-libs='-lpthread -lm' --bindir=/home/eeggenberger/bin --enable-gpl --enable-libass --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-nonfree libavutil 56. 7.100 / 56. 7.100 libavcodec 58. 9.100 / 58. 9.100 libavformat 58. 6.100 / 58. 6.100 libavdevice 58. 0.101 / 58. 0.101 libavfilter 7. 11.101 / 7. 11.101 libswscale 5. 0.101 / 5. 0.101 libswresample 3. 0.101 / 3. 0.101 libpostproc 55. 0.100 / 55. 0.100 [x11grab @ 0x3ffbf40] Stream #0: not enough frames to estimate rate; consider increasing probesize Input #0, x11grab, from ':0.0+0,0': Duration: N/A, start: 1517487760.405432, bitrate: N/A Stream #0:0: Video: rawvideo (BGR[0] / 0x524742), bgr0, 1280x720, 25 fps, 1000k tbr, 1000k tbn, 1000k tbc Guessed Channel Layout for Input Stream #1.0 : stereo Input #1, alsa, from 'hw:0,1,0': Duration: N/A, start: 1517487760.451644, bitrate: 1536 kb/s Stream #1:0: Audio: pcm_s16le, 48000 Hz, stereo, s16, 1536 kb/s [rtmp @ 0x401d4c0] Ignoring unsupported var reason Stream mapping: Stream #0:0 -> #0:0 (rawvideo (native) -> h264 (libx264)) Stream #1:0 -> #0:1 (pcm_s16le (native) -> aac (native)) Press [q] to stop, [?] for help [libx264 @ 0x4019740] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2 [libx264 @ 0x4019740] profile High, level 3.1 [libx264 @ 0x4019740] 264 - core 155 - H.264/MPEG-4 AVC codec - Copyleft 2003-2018 - http://www.videolan.org/x264.html - options: cabac=1 ref=1 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=2 psy=1 psy_rd=1.00:0.00 mixed_ref=0 me_range=16 chroma_me=1 trellis=0 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=0 threads=4 lookahead_threads=4 sliced_threads=1 slices=4 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=0 weightp=1 keyint=50 keyint_min=5 scenecut=40 intra_refresh=0 rc_lookahead=0 rc=crf mbtree=0 crf=25.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 vbv_maxrate=2976 vbv_bufsize=5952 crf_max=0.0 nal_hrd=none filler=0 ip_ratio=1.40 aq=1:1.00 Output #0, flv, to 'rtmp://techcast:oleander@cdn.techcast.com:1935/live/tcfw_demo_db728': Metadata: encoder : Lavf58.6.100 Stream #0:0: Video: h264 (libx264) ([7][0][0][0] / 0x0007), yuv420p(progressive), 1280x720, q=-1--1, 25 fps, 1k tbn, 25 tbc Metadata: encoder : Lavc58.9.100 libx264 Side data: cpb: bitrate max/min/avg: 2976000/0/0 buffer size: 5952000 vbv_delay: -1 Stream #0:1: Audio: aac (LC) ([10][0][0][0] / 0x000A), 44100 Hz, stereo, fltp, 128 kb/s Metadata: encoder : Lavc58.9.100 aac frame= 18 fps=0.0 q=24.0 size= 98kB time=00:00:00.69 bitrate=1155.1kbits/s speed=1.37x frame= 31 fps= 31 q=22.0 size= 130kB time=00:00:01.21 bitrate= 882.0kbits/s speed=1.19x frame= 43 fps= 28 q=21.0 size= 160kB time=00:00:01.72 bitrate= 762.1kbits/s speed=1.13x frame= 56 fps= 28 q=23.0 size= 232kB time=00:00:02.20 bitrate= 859.9kbits/s speed=1.09x ... similar messages repeated ... frame= 1294 fps= 25 q=21.0 size= 4190kB time=00:00:51.73 bitrate= 663.5kbits/s speed= 1x frame= 1307 fps= 25 q=23.0 size= 4266kB time=00:00:52.24 bitrate= 668.9kbits/s speed= 1x frame= 1320 fps= 25 q=23.0 size= 4299kB time=00:00:52.76 bitrate= 667.5kbits/s speed= 1x [flv @ 0x4017780] Failed to update header with correct duration. [flv @ 0x4017780] Failed to update header with correct filesize. frame= 1322 fps= 25 q=23.0 Lsize= 4306kB time=00:00:52.87 bitrate= 667.1kbits/s speed= 1x video:3409kB audio:829kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 1.602683% [libx264 @ 0x4019740] frame I:27 Avg QP:16.74 size: 46784 [libx264 @ 0x4019740] frame P:1295 Avg QP:17.30 size: 1720 [libx264 @ 0x4019740] mb I I16..4: 24.8% 39.7% 35.5% [libx264 @ 0x4019740] mb P I16..4: 1.6% 0.1% 0.0% P16..4: 16.4% 1.5% 0.4% 0.0% 0.0% skip:80.1% [libx264 @ 0x4019740] 8x8 transform intra:23.7% inter:13.0% [libx264 @ 0x4019740] coded y,uvDC,uvAC intra: 45.7% 75.0% 38.4% inter: 0.3% 14.4% 0.1% [libx264 @ 0x4019740] i16 v,h,dc,p: 59% 20% 16% 5% [libx264 @ 0x4019740] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 11% 23% 16% 7% 6% 2% 17% 6% 11% [libx264 @ 0x4019740] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 15% 24% 12% 6% 8% 4% 18% 5% 8% [libx264 @ 0x4019740] i8c dc,h,v,p: 52% 24% 20% 5% [libx264 @ 0x4019740] Weighted P-Frames: Y:0.0% UV:0.0% [libx264 @ 0x4019740] kb/s:528.04 [aac @ 0x401aa00] Qavg: 248.935 Exiting normally, received signal 2.
I've already used diff to find differences in the output, but there isn't anything obvious. I only noticed that the line starting with "264 - core 155 - H.264/MPEG-4 AVC codec - Copyleft 2003-2018" doesn't show up in the output when I use tee. Everything else looks more or less the same.
Regards,
Erwin
Am 25.01.2018 um 11:21 schrieb Carl Eugen Hoyos:
2018-01-24 16:36 GMT+01:00 Erwin Eggenberger <eeggenberger+ffmpeg@techcast.com>:
When I just upload the stream without the tee muxer, everything works as expected, but with tee I only get audio but no video. In the Wowza logs I can see errors like this: H264Utils.decodeAVCC : java.lang.ArrayIndexOutOfBoundsException
Sounds to me like there's something wrong with the h.264 video. The ffmpeg command looks like this:
ffmpeg -y -v info -f x11grab -draw_mouse 0 -r 25 -s 1280x720 -thread_queue_size 4096 -i :0.0+0,0 -f alsa \ -thread_queue_size 4096 -i hw:0,1,0 -acodec aac -strict -2 -ar 44100 -c:v libx264 -preset veryfast \ -maxrate 2976k -bufsize 5952k -pix_fmt yuv420p -r 25 -crf 25 -g 50 -tune zerolatency \ -f tee -map 0:v -map 1:a "[f=flv]rtmp://user:password@servername:1935/live/test_stream"
Please also provide the complete, uncut console output.
Carl Eugen _______________________________________________ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-user
To unsubscribe, visit link above, or email ffmpeg-user-request@ffmpeg.org with subject "unsubscribe".
_______________________________________________ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-user
To unsubscribe, visit link above, or email ffmpeg-user-request@ffmpeg.org with subject "unsubscribe".
participants (2)
-
Carl Eugen Hoyos -
Erwin Eggenberger