当 Ffmpeg 将 HLS 转换为 MPEGTS 时,帧和大小随着速度的降低而增加

时间:2021-07-28 13:10:26

标签: ffmpeg http-live-streaming fluent-ffmpeg mpeg2-ts

我一直在尝试使用 ffmpeg 以编程方式将 HTTP 实时流转换为 mpegt。我尝试过的所有 HLS 都在远程服务器上,并且在此特定提要之前一切正常。正如您在日志中看到的那样,帧数不断增加 150,结果大小也随之增加。同时,速度降低。这是我使用的代码:ffmpeg -i http://xxxxxxxx-xxxxxxx-xx.m3u8 -y -r 100 -vcodec libx264 -f mpegts -preset ultrafast -tune zerolatency -t 00:10:00.500 /home/xxxx-xxxxxx/app/backend/queues/../files/output.mpegts 我尝试了从 30 开始到 100 的不同 fps。我注意到帧数和大小继续与 fps 成正比增加。有没有更好的方法来重新编码这种流。我正在使用 fluent-ffmpeg,但我还没有弄清楚如何应用 nobuffer 选项,但我不确定这是否能解决问题。

[hls,applehttp @ 0x1d97f60] Opening 'http://xxxxxxxxxxx-xxx99.ts' for reading
Input #0, hls,applehttp, from 'http://xxxxxxxxxxxxxxxx-xxxxxxxx.m3u8':
  Duration: N/A, start: 28505.278111, bitrate: N/A
  Program 0 
    Metadata:
      variant_bitrate : 0
    Stream #0:0: Video: h264 (Constrained Baseline) ([27][0][0][0] / 0x001B), yuv420p, 320x240 [SAR 1:1 DAR 4:3], 25 fps, 25 tbr, 90k tbn, 50 tbc
    Metadata:
      variant_bitrate : 0
Stream mapping:
  Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264))
Press [q] to stop, [?] for help
[libx264 @ 0x1dc0ea0] using SAR=1/1
[libx264 @ 0x1dc0ea0] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 AVX2 LZCNT BMI2
[libx264 @ 0x1dc0ea0] profile Constrained Baseline, level 3.0
Output #0, mpegts, to '/home/xxxxx-xxxxxx-xxx/app/backend/queues/../files/output.mpegts':
  Metadata:
    encoder         : Lavf57.83.100
    Stream #0:0: Video: h264 (libx264), yuv420p, 320x240 [SAR 1:1 DAR 4:3], q=-1--1, 100 fps, 90k tbn, 100 tbc
    Metadata:
      variant_bitrate : 0
      encoder         : Lavc57.107.100 libx264
    Side data:
      cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: -1
[hls,applehttp @ 0x1d97f60] Opening 'http://xxxxxxxxxxxxxxxx-xxxxx100.ts' for reading
frame=  149 fps=0.0 q=24.0 size=     239kB time=00:00:05.92 bitrate= 331.0kbits/s speed=9.52x    
[hls,applehttp @ 0x1d97f60] Opening 'http://xxxxxxxxxxxxxxxx-xxxxx101.ts' for reading
frame=  299 fps= 59 q=25.0 size=     256kB time=00:00:11.92 bitrate= 175.9kbits/s speed=2.35x    
[hls,applehttp @ 0x1d97f60] Opening 'http://xxxxxxxxxxxxxxxx-xxxxx102.ts' for reading
frame=  449 fps= 43 q=24.0 size=     512kB time=00:00:17.92 bitrate= 234.1kbits/s speed=1.72x    
[hls,applehttp @ 0x1d97f60] Opening 'http://xxxxxxxxxxxxxxxx-xxxxx103.ts' for reading
frame=  599 fps= 38 q=22.0 size=     768kB time=00:00:23.92 bitrate= 263.0kbits/s speed=1.52x    
[hls,applehttp @ 0x1d97f60] Opening 'http://xxxxxxxxxxxxxxxx-xxxxx104.ts' for reading
frame=  749 fps= 35 q=22.0 size=    1024kB time=00:00:29.92 bitrate= 280.4kbits/s speed=1.42x    
[hls,applehttp @ 0x1d97f60] Opening 'http://xxxxxxxxxxxxxxxx-xxxxx105.ts' for reading
frame=  899 fps= 28 q=23.0 size=    1280kB time=00:00:35.92 bitrate= 291.9kbits/s speed=1.12x    
[hls,applehttp @ 0x1d97f60] Opening 'http://xxxxxxxxxxxxxxxx-xxxxx106.ts' for reading
frame= 1049 fps= 25 q=23.0 size=    1536kB time=00:00:41.92 bitrate= 300.2kbits/s speed=0.998x    
[hls,applehttp @ 0x1d97f60] Opening 'http://xxxxxxxxxxxxxxxx-xxxxx107.ts' for reading
frame= 1199 fps= 28 q=24.0 size=    1792kB time=00:00:47.92 bitrate= 306.3kbits/s speed=1.11x    
[hls,applehttp @ 0x1d97f60] Opening 'http://xxxxxxxxxxxxxxxx-xxxxx108.ts' for reading
frame= 1349 fps= 28 q=25.0 size=    2048kB time=00:00:53.92 bitrate= 311.2kbits/s speed=1.11x    
Past duration 0.999992 too large
    Last message repeated 6 times
[hls,applehttp @ 0x1d97f60] Opening 'http://xxxxxxxxxxxxxxxx-xxxxx109.ts' for reading
frame= 1499 fps= 28 q=23.0 size=    2048kB time=00:00:59.64 bitrate= 281.3kbits/s speed=1.11x    
[hls,applehttp @ 0x1d97f60] Opening 'http://xxxxxxxxxxxxxxxx-xxxxx110.ts' for reading
frame= 1649 fps= 28 q=24.0 size=    2304kB time=00:01:05.64 bitrate= 287.5kbits/s speed=1.11x    
[http @ 0x23b86e0] HTTP error 404 Not Found
[hls,applehttp @ 0x1d97f60] Failed to reload playlist 0
[http @ 0x23b86e0] HTTP error 404 Not Found
[hls,applehttp @ 0x1d97f60] Failed to reload playlist 0
frame= 1799 fps= 13 q=24.0 size=    2560kB time=00:01:11.64 bitrate= 292.7kbits/s speed=0.523x    
[http @ 0x23b86e0] HTTP error 404 Not Found
[hls,applehttp @ 0x1d97f60] Failed to reload playlist 0
frame= 1800 fps= 13 q=24.0 size=    2560kB time=00:01:11.68 bitrate= 292.6kbits/s speed=0.514x    
[http @ 0x1e34ea0] HTTP error 404 Not Found
[hls,applehttp @ 0x1d97f60] Failed to reload playlist 0
frame= 1800 fps= 13 q=24.0 size=    2560kB time=00:01:11.68 bitrate= 292.6kbits/s speed=0.512x    
frame= 1800 fps= 13 q=24.0 Lsize=    2756kB time=00:01:11.68 bitrate= 315.0kbits/s speed=0.512x    
video:2359kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 16.855715%
[libx264 @ 0x1dc0ea0] frame I:8     Avg QP:20.62  size: 21713
[libx264 @ 0x1dc0ea0] frame P:1792  Avg QP:23.84  size:  1251
[libx264 @ 0x1dc0ea0] mb I  I16..4: 100.0%  0.0%  0.0%
[libx264 @ 0x1dc0ea0] mb P  I16..4:  0.2%  0.0%  0.0%  P16..4: 32.8%  0.0%  0.0%  0.0%  0.0%    skip:67.0%
[libx264 @ 0x1dc0ea0] coded y,uvDC,uvAC intra: 83.7% 62.6% 40.9% inter: 12.7% 15.3% 7.9%
[libx264 @ 0x1dc0ea0] i16 v,h,dc,p: 26% 29% 31% 14%
[libx264 @ 0x1dc0ea0] i8c dc,h,v,p: 58% 20% 14%  8%
[libx264 @ 0x1dc0ea0] kb/s:1073.41

0 个答案:

没有答案