[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