[FFmpeg-user] Multithreaded multioutput problem

Deron deron at pagestream.org
Fri Jan 23 17:28:44 CET 2015


I would like to generate 4 different HLS (sub)streams from a single DVB 
capture, but ffmpeg fails to keep up with more than 2. Yes, I have the 
CPU power and I'm writing to a ram disk (or SSD, doesn't matter). I have 
a dual tuner capture card and can generate two different HLS substreams 
per tuner (total of 4) with plenty of CPU left to burn.

I would guess it is some kind of thread limit but I can't seem to get 
past it. Any suggestions? Below is an example command and output. If I 
cut out one of the outputs, it works fine.

Thanks for your suggestions!

Deron

ffmpeg -f mpegts -i /dev/dvb/adapter0/dvr0 -c:v libx264 -vf 
scale=1280:720 -s 1280x720 -aspect 1280:720 -pix_fmt yuv420p -r 29.97 
-preset veryfast -b:v 2400k -c:a libfaac -ar 48000 -ac 2 -async 2 -f hls 
-hls_time 2 -hls_list_size 10 -hls_wrap 20 -y 
"/var/www/html/stream/WPBF/wpbf.hi.m3u8" -c:v libx264 -vf scale=1280:720 
-s 1280x720 -aspect 1280:720 -pix_fmt yuv420p -r 29.97 -preset veryfast 
-b:v 1200k -c:a libfaac -ar 48000 -ac 2 -async 2 -f hls -hls_time 2 
-hls_list_size 10 -hls_wrap 20 -y 
"/var/www/html/stream/WPBF/wpbf.mid.m3u8" -c:v libx264 -vf 
scale=1280:720 -s 1280x720 -aspect 1280:720 -pix_fmt yuv420p -r 29.97 
-preset veryfast -b:v 600k -c:a libfaac -ar 48000 -ac 2 -async 2 -f hls 
-hls_time 2 -hls_list_size 10 -hls_wrap 20 -y 
"/var/www/html/stream/WPBF/wpbf.low.m3u8" -vn -c:a libfaac -b:a 30k -ar 
24000 -ac 1  -f hls -hls_time 2 -hls_list_size 10 -hls_wrap 20 -y 
"/var/www/html/stream/WPBF/wpbf.a.m3u8"


ffmpeg version N-69206-g4b46ce8 Copyright (c) 2000-2015 the FFmpeg 
developers
   built on Jan 22 2015 18:39:59 with gcc 4.8 (Ubuntu 4.8.2-19ubuntu1)
   configuration: --enable-shared --enable-gpl --enable-nonfree 
--enable-libxvid --enable-libx264 --enable-libmp3lame --enable-libvorbis 
--enable-libfaac --enable-libopenjpeg
   libavutil      54. 17.100 / 54. 17.100
   libavcodec     56. 20.100 / 56. 20.100
   libavformat    56. 19.100 / 56. 19.100
   libavdevice    56.  4.100 / 56.  4.100
   libavfilter     5.  8.101 /  5.  8.101
   libswscale      3.  1.101 /  3.  1.101
   libswresample   1.  1.100 /  1.  1.100
   libpostproc    53.  3.100 / 53.  3.100
[mpeg2video @ 0x1c430a0] Invalid frame dimensions 0x0.
Input #0, mpegts, from '/dev/dvb/adapter0/dvr0':
   Duration: N/A, start: 94543.371178, bitrate: N/A
     Stream #0:0[0x31]: Video: mpeg2video (Main), yuv420p(tv), 1920x1080 
[SAR 1:1 DAR 16:9], max. 24000 kb/s, 29.97 fps, 29.97 tbr, 90k tbn, 
59.94 tbc
     Stream #0:1[0x34]: Audio: ac3, 48000 Hz, 5.1(side), fltp, 384 kb/s
-async is forwarded to lavfi similarly to -af 
aresample=async=2:min_hard_comp=0.100000:first_pts=0.
     Last message repeated 3 times
[libx264 @ 0x1db48a0] using SAR=1/1
[libx264 @ 0x1db48a0] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX
[libx264 @ 0x1db48a0] profile High, level 3.1
[libx264 @ 0x1c4b780] using SAR=1/1
[libx264 @ 0x1c4b780] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX
[libx264 @ 0x1c4b780] profile High, level 3.1
[libx264 @ 0x1c4f400] using SAR=1/1
[libx264 @ 0x1c4f400] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX
[libx264 @ 0x1c4f400] profile High, level 3.1
Output #0, hls, to '/var/www/html/stream/WPBF/wpbf.hi.m3u8':
   Metadata:
     encoder         : Lavf56.19.100
     Stream #0:0: Video: h264 (libx264), yuv420p, 1280x720 [SAR 1:1 DAR 
16:9], q=-1--1, 2400 kb/s, 29.97 fps, 90k tbn, 29.97 tbc
     Metadata:
       encoder         : Lavc56.20.100 libx264
     Stream #0:1: Audio: aac (libfaac), 48000 Hz, stereo, s16, 128 kb/s
     Metadata:
       encoder         : Lavc56.20.100 libfaac
Output #1, hls, to '/var/www/html/stream/WPBF/wpbf.mid.m3u8':
   Metadata:
     encoder         : Lavf56.19.100
     Stream #1:0: Video: h264 (libx264), yuv420p, 1280x720 [SAR 1:1 DAR 
16:9], q=-1--1, 1200 kb/s, 29.97 fps, 90k tbn, 29.97 tbc
     Metadata:
       encoder         : Lavc56.20.100 libx264
     Stream #1:1: Audio: aac (libfaac), 48000 Hz, stereo, s16, 128 kb/s
     Metadata:
       encoder         : Lavc56.20.100 libfaac
Output #2, hls, to '/var/www/html/stream/WPBF/wpbf.low.m3u8':
   Metadata:
     encoder         : Lavf56.19.100
     Stream #2:0: Video: h264 (libx264), yuv420p, 1280x720 [SAR 1:1 DAR 
16:9], q=-1--1, 600 kb/s, 29.97 fps, 90k tbn, 29.97 tbc
     Metadata:
       encoder         : Lavc56.20.100 libx264
     Stream #2:1: Audio: aac (libfaac), 48000 Hz, stereo, s16, 128 kb/s
     Metadata:
       encoder         : Lavc56.20.100 libfaac
Output #3, hls, to '/var/www/html/stream/WPBF/wpbf.a.m3u8':
   Metadata:
     encoder         : Lavf56.19.100
     Stream #3:0: Audio: aac (libfaac), 24000 Hz, mono, s16, 30 kb/s
     Metadata:
       encoder         : Lavc56.20.100 libfaac
Stream mapping:
   Stream #0:0 -> #0:0 (mpeg2video (native) -> h264 (libx264))
   Stream #0:1 -> #0:1 (ac3 (native) -> aac (libfaac))
   Stream #0:0 -> #1:0 (mpeg2video (native) -> h264 (libx264))
   Stream #0:1 -> #1:1 (ac3 (native) -> aac (libfaac))
   Stream #0:0 -> #2:0 (mpeg2video (native) -> h264 (libx264))
   Stream #0:1 -> #2:1 (ac3 (native) -> aac (libfaac))
   Stream #0:1 -> #3:0 (ac3 (native) -> aac (libfaac))
Press [q] to stop, [?] for help
[mpegts @ 0x1c26340] PES packet size mismatch=N/A time=00:00:02.30 
bitrate=N/A dup=24 drop=0
[mpeg2video @ 0x1c479c0] ac-tex damaged at 30 5
[mpeg2video @ 0x1c479c0] Warning MVs not available
[mpeg2video @ 0x1c479c0] concealing 7560 DC, 7560 AC, 7560 MV errors in 
P frame
[ac3 @ 0x1c46260] incomplete frame
/dev/dvb/adapter0/dvr0: Value too large for defined data type
     Last message repeated 1 times
frame=   96 fps= 51 q=-1.0 Lq=-1.0 q=-1.0 size=N/A time=00:00:03.13 
bitrate=N/A dup=27 drop=0
video:1360kB audio:145kB subtitle:0kB other streams:0kB global 
headers:0kB muxing overhead: unknown
[libx264 @ 0x1db48a0] frame I:3     Avg QP:21.51  size: 77363
[libx264 @ 0x1db48a0] frame P:34    Avg QP:24.37  size: 13149
[libx264 @ 0x1db48a0] frame B:59    Avg QP:26.02  size:  2416
[libx264 @ 0x1db48a0] consecutive B-frames:  4.2% 29.2% 37.5% 29.2%
[libx264 @ 0x1db48a0] mb I  I16..4: 14.4% 37.0% 48.5%
[libx264 @ 0x1db48a0] mb P  I16..4:  4.9%  4.9%  0.6%  P16..4: 36.3% 
13.0%  6.1%  0.0%  0.0%    skip:34.3%
[libx264 @ 0x1db48a0] mb B  I16..4:  0.4%  0.2%  0.0%  B16..8: 12.1%  
2.5%  0.2%  direct: 9.4%  skip:75.3%  L0:32.6% L1:54.1% BI:13.3%
[libx264 @ 0x1db48a0] final ratefactor: 20.34
[libx264 @ 0x1db48a0] 8x8 transform intra:42.0% inter:42.7%
[libx264 @ 0x1db48a0] coded y,uvDC,uvAC intra: 55.0% 81.7% 52.3% inter: 
6.0% 19.6% 1.3%
[libx264 @ 0x1db48a0] i16 v,h,dc,p: 39% 33% 22%  6%
[libx264 @ 0x1db48a0] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 24% 20% 28% 4%  4%  
5%  4%  5%  5%
[libx264 @ 0x1db48a0] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 25% 25%  7% 6%  7%  
8%  7%  8%  7%
[libx264 @ 0x1db48a0] i8c dc,h,v,p: 40% 27% 25%  9%
[libx264 @ 0x1db48a0] Weighted P-Frames: Y:0.0% UV:0.0%
[libx264 @ 0x1db48a0] kb/s:2052.11
[libx264 @ 0x1c4b780] frame I:3     Avg QP:26.95  size: 44610
[libx264 @ 0x1c4b780] frame P:34    Avg QP:29.81  size:  5683
[libx264 @ 0x1c4b780] frame B:59    Avg QP:32.12  size:   949
[libx264 @ 0x1c4b780] consecutive B-frames:  4.2% 29.2% 37.5% 29.2%
[libx264 @ 0x1c4b780] mb I  I16..4: 21.7% 49.9% 28.4%
[libx264 @ 0x1c4b780] mb P  I16..4:  4.1%  4.6%  0.1%  P16..4: 20.5%  
7.4%  2.6%  0.0%  0.0%    skip:60.8%
[libx264 @ 0x1c4b780] mb B  I16..4:  0.3%  0.1%  0.0%  B16..8: 6.3%  
1.1%  0.0%  direct: 3.0%  skip:89.1%  L0:33.2% L1:58.6% BI: 8.3%
[libx264 @ 0x1c4b780] final ratefactor: 24.88
[libx264 @ 0x1c4b780] 8x8 transform intra:50.4% inter:46.8%
[libx264 @ 0x1c4b780] coded y,uvDC,uvAC intra: 45.4% 64.9% 28.0% inter: 
1.9% 7.1% 0.2%
[libx264 @ 0x1c4b780] i16 v,h,dc,p: 41% 33% 19%  7%
[libx264 @ 0x1c4b780] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 23% 21% 28% 4%  4%  
5%  4%  6%  5%
[libx264 @ 0x1c4b780] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 26% 24%  8% 7%  7%  
8%  6%  8%  6%
[libx264 @ 0x1c4b780] i8c dc,h,v,p: 42% 26% 25%  7%
[libx264 @ 0x1c4b780] Weighted P-Frames: Y:0.0% UV:0.0%
[libx264 @ 0x1c4b780] kb/s:956.64
[libx264 @ 0x1c4f400] frame I:3     Avg QP:32.85  size: 24825
[libx264 @ 0x1c4f400] frame P:34    Avg QP:36.57  size:  2594
[libx264 @ 0x1c4f400] frame B:59    Avg QP:39.34  size:   421
[libx264 @ 0x1c4f400] consecutive B-frames:  4.2% 29.2% 37.5% 29.2%
[libx264 @ 0x1c4f400] mb I  I16..4: 30.6% 59.5%  9.9%
[libx264 @ 0x1c4f400] mb P  I16..4:  3.4%  4.0%  0.0%  P16..4: 11.3%  
3.4%  0.9%  0.0%  0.0%    skip:76.9%
[libx264 @ 0x1c4f400] mb B  I16..4:  0.2%  0.1%  0.0%  B16..8: 3.3%  
0.5%  0.0%  direct: 1.1%  skip:94.9%  L0:34.9% L1:61.8% BI: 3.3%
[libx264 @ 0x1c4f400] final ratefactor: 30.77
[libx264 @ 0x1c4f400] 8x8 transform intra:56.3% inter:50.0%
[libx264 @ 0x1c4f400] coded y,uvDC,uvAC intra: 33.4% 49.8% 16.7% inter: 
0.5% 2.7% 0.0%
[libx264 @ 0x1c4f400] i16 v,h,dc,p: 45% 34% 14%  8%
[libx264 @ 0x1c4f400] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 21% 19% 33% 4%  3%  
5%  4%  5%  5%
[libx264 @ 0x1c4f400] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 27% 24% 11% 7%  6%  
8%  6%  7%  5%
[libx264 @ 0x1c4f400] i8c dc,h,v,p: 51% 22% 22%  5%
[libx264 @ 0x1c4f400] Weighted P-Frames: Y:0.0% UV:0.0%
[libx264 @ 0x1c4f400] kb/s:468.32




More information about the ffmpeg-user mailing list