FFmpeg使用来自一个源的多个流创建多播(实时源)

时间:2018-05-01 16:10:48

标签: ffmpeg

嗨:)我在使用来自一个源(实时源)的多个流创建多播时遇到问题。问题是编码比实时慢。这对我来说是个大问题,因为我正在处理实时Feed。确切的命令和它的输出你可以在这里找到:

命令

ffmpeg -y -hwaccel cuvid -c:v h264_cuvid -vsync 0 -deint 2 -drop_second_field 1 -surfaces 10 -i 'udp://@239.10.150.2:5004?fifo_size=100000000&bitrate=12000000'  -map i:0xc77 -r:v:0 25 -filter:v:0 fps=25,scale_npp=640:360:format=same:interp_algo=lanczos -aspect:v:0 16:9 -g:v:0 80 -vcodec:v:0 h264_nvenc -b:v:0 400K -minrate:v:0 400k -maxrate:v:0 400k  -map i:0xc77 -r:v:1 25 -filter:v:1 fps=25,scale_npp=720:405:format=same:interp_algo=lanczos -aspect:v:1 16:9 -g:v:1 80 -vcodec:v:1 h264_nvenc -b:v:1 1000K -minrate:v:1 1000k -maxrate:v:1 1000k  -map i:0xc77 -r:v:2 25 -filter:v:2 fps=25,scale_npp=1280:720:format=same:interp_algo=lanczos -aspect:v:2 16:9 -g:v:2 80 -vcodec:v:2 h264_nvenc -b:v:2 2500K -minrate:v:2 2500K -maxrate:v:2 2500K  -map i:0xc77 -r:v:3 25 -filter:v:3 fps=25,scale_npp=1920:1080:format=same:interp_algo=lanczos -aspect:v:3 16:9 -g:v:3 80 -vcodec:v:3 h264_nvenc -b:v:3 4500K -minrate:v:3 4500K -maxrate:v:3 4500K  -map i:0xc7a -ab:a:0 128k -ar:a:0 48k -acodec:a:0 aac -ac:a:0 2  -map i:0xc7b -ab:a:1 128k -ar:a:1 48k -acodec:a:1 aac -ac:a:1 2  -map i:0xc7c -ab:a:2 128k -ar:a:2 48k -acodec:a:2 aac -ac:a:2 2  -map i:0xc7d -ab:a:3 128k -ar:a:3 48k -acodec:a:3 aac -ac:a:3 2  -f mpegts "udp://@239.100.0.23:3234?overrun_nonfatal_option=1&pkt_size=1316

输出(速度应该是1>我希望)

Stream #0:0 -> #0:0 (h264 (h264_cuvid) -> h264 (h264_nvenc))
 Stream #0:0 -> #0:1 (h264 (h264_cuvid) -> h264 (h264_nvenc))
 Stream #0:0 -> #0:2 (h264 (h264_cuvid) -> h264 (h264_nvenc))
 Stream #0:0 -> #0:3 (h264 (h264_cuvid) -> h264 (h264_nvenc))
 Stream #0:1 -> #0:4 (mp2 (native) -> aac (native))
 Stream #0:2 -> #0:5 (mp2 (native) -> aac (native))
 Stream #0:3 -> #0:6 (mp2 (native) -> aac (native))
 Stream #0:4 -> #0:7 (mp2 (native) -> aac (native))
Press [q] to stop, [?] for help
Output #0, mpegts, to 'udp://@239.100.0.23:3234?overrun_nonfatal_option=1&pkt_size=1316':=  -0.0kbits/s speed=N/A    
 Metadata:
   encoder         : Lavf57.83.100
   Stream #0:0: Video: h264 (h264_nvenc) (Main), cuda, 640x360 [SAR 1:1 DAR 16:9], q=-1--1, 400 kb/s, 25 fps, 90k tbn, 25 tbc
   Metadata:
     encoder         : Lavc57.107.100 h264_nvenc
   Side data:
     cpb: bitrate max/min/avg: 400000/0/400000 buffer size: 800000 vbv_delay: -1
   Stream #0:1: Video: h264 (h264_nvenc) (Main), cuda, 720x405 [SAR 1:1 DAR 16:9], q=-1--1, 1000 kb/s, 25 fps, 90k tbn, 25 tbc
   Metadata:
     encoder         : Lavc57.107.100 h264_nvenc
   Side data:
     cpb: bitrate max/min/avg: 1000000/0/1000000 buffer size: 2000000 vbv_delay: -1
   Stream #0:2: Video: h264 (h264_nvenc) (Main), cuda, 1280x720 [SAR 1:1 DAR 16:9], q=-1--1, 2500 kb/s, 25 fps, 90k tbn, 25 tbc
   Metadata:
     encoder         : Lavc57.107.100 h264_nvenc
   Side data:
     cpb: bitrate max/min/avg: 2500000/0/2500000 buffer size: 5000000 vbv_delay: -1
   Stream #0:3: Video: h264 (h264_nvenc) (Main), cuda, 1920x1080 [SAR 1:1 DAR 16:9], q=-1--1, 4500 kb/s, 25 fps, 90k tbn, 25 tbc
   Metadata:
     encoder         : Lavc57.107.100 h264_nvenc
   Side data:
     cpb: bitrate max/min/avg: 4500000/0/4500000 buffer size: 9000000 vbv_delay: -1
   Stream #0:4(cze): Audio: aac (LC), 48000 Hz, stereo, fltp, 128 kb/s
   Metadata:
     encoder         : Lavc57.107.100 aac
   Stream #0:5(eng): Audio: aac (LC), 48000 Hz, stereo, fltp, 128 kb/s
   Metadata:
     encoder         : Lavc57.107.100 aac
   Stream #0:6(hun): Audio: aac (LC), 48000 Hz, stereo, fltp, 128 kb/s
   Metadata:
     encoder         : Lavc57.107.100 aac
   Stream #0:7(ron): Audio: aac (LC), 48000 Hz, stereo, fltp, 128 kb/s
   Metadata:
     encoder         : Lavc57.107.100 aac
frame= 2868 fps= 19 q=18.0 Lq=14.0 q=15.0 q=16.0 size=  134155kB time=00:01:55.88 bitrate=9484.0kbits/s speed=0.768x

有没有人有类似这样的经历?

0 个答案:

没有答案