On 1/23/15 2:30 PM, Deron wrote:
On 1/23/15 9:28 AM, Deron wrote:
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


Reading this, I obviously did not make the problem very clear.

I am trying to do this (simplified):

ffmpeg -i "/dev/dvb/adapter0/dvr0" -b:v 2400k "hi.m3u8" -b:v 1200k "med.m3u8" -b:v 600k "low.m3u8" -vn "audio.m3u8"

And it fails with: /dev/dvb/adapter0/dvr0: Value too large for defined data type

But if I remove any 2 outputs like:

ffmpeg -i "/dev/dvb/adapter0/dvr0" -b:v 2400k "hi.m3u8" -vn "audio.m3u8"

It works. I can see fps is very close (not sure if it is a because of HLS working in "real time" or some thread limitation), but cpu usage is very light.

Since I have 2 adapters, I can actually run

ffmpeg -i "/dev/dvb/adapter0/dvr0" -b:v 2400k "hi.m3u8" -b:v 1200k "med.m3u8"
ffmpeg -i "/dev/dvb/adapter1/dvr0" -b:v 600k "low.m3u8" -vn "audio.m3u8"

And that runs fine (again with light cpu usage). Obviously a threading issue. What can I do to fix this?

To further complicate maters, I tried copying 10 minutes of data to a file using:

cp /dev/dvb/adapter0/dvr0 data.ts

and then

ffmpeg -i data.ts -b:v 2400k "hi.m3u8" -b:v 1200k "med.m3u8" -b:v 600k "low.m3u8" -vn "audio.m3u8"

Which works. In fact, I can run 8 copies of this at the same time and it still runs faster than real time on this computer.

where

ffmpeg -i "/dev/dvb/adapter0/dvr0" -b:v 2400k "hi.m3u8" -b:v 1200k "med.m3u8" -b:v 600k "low.m3u8" -vn "audio.m3u8"

and

ffmpeg -i "/dev/dvb/adapter0/dvr0" -b:v 2400k "hi.m3u8" -b:v 1200k "med.m3u8"

Fails as above (and below) with: /dev/dvb/adapter0/dvr0: Value too large for defined data type

and

ffmpeg -i "/dev/dvb/adapter0/dvr0" -b:v 2400k "hi.m3u8" -vn "audio.m3u8"

Works.

Does anyone have an idea on what could be causing this grief? What is kicking out this message? Could it be simply that ffmpeg can't get going fast enough and the dvb device is loosing initial data?? Ie, the first frame takes too long?

Thanks,

Deron



Thanks,

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

_______________________________________________
ffmpeg-user mailing list
[email protected]
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

Reply via email to