h264_qsv 在直播时很不流畅

h264_qsv 在直播时很不流畅

我正在尝试使用 h264_qvs 进行视频游戏的直播,但与 libx264 相比,效果不太好。以下是我正在运行的 ffmpeg 命令的一些变体:

变体 1

ffmpeg.exe -y  -hwaccel qsv -i pipe:0 -vf "hwdownload,format=nv12" -c:v h264_qsv -video_size 1920x1080 -preset veryfast  -global_quality 35 -look_ahead 0 -b:v 9000k -maxrate 12000k -bufsize 9000k -pix_fmt yuv420p -r 60 -g 120 -c:a aac -b:a 256k -ac 2 -ar 44100  -af afftdn -f tee -map 0 "[f=flv]rtmp://endpoint.example.com|[f=mp4]C\:\\Users\\me\\savedFile.mp4"

变化 2:将比例移到 vf 内

ffmpeg.exe -y  -hwaccel qsv -i pipe:0 -vf "hwdownload,format=nv12,scale=1920:1080" -c:v h264_qsv -preset veryfast  -global_quality 35 -look_ahead 0 -b:v 9000k -maxrate 12000k -bufsize 9000k -pix_fmt yuv420p -r 60 -g 120 -c:a aac -b:a 256k -ac 2 -ar 44100  -af afftdn -f tee -map 0 "[f=flv]rtmp://endpoint.example.com|[f=mp4]C\:\\Users\\me\\savedFile.mp4"

变体 3:使用 scale_qsv 并删除 -pix_fmt yuv420p

ffmpeg.exe -y  -hwaccel qsv -i pipe:0 -vf "hwdownload,format=nv12,vpp_qsv=framerate=60,scale_qsv=w=1920:height=1080" -c:v h264_qsv -preset veryfast  -global_quality 35 -look_ahead 0 -b:v 9000k -maxrate 12000k -bufsize 9000k  -r 60 -g 120 -c:a aac -b:a 256k -ac 2 -ar 44100  -af afftdn -f tee -map 0 "[f=flv]rtmp://endpoint.example.com|[f=mp4]C\:\\Users\\me\\savedFile.mp4"

变体 4:最佳变体,但仍低于 libx264,延迟为 1 分 30 秒

ffmpeg.exe -y  -hwaccel qsv -i pipe:0 -vf "vpp_qsv=framerate=60,scale_qsv=w=1920:h=1080" -c:v h264_qsv  -preset veryfast  -global_quality 25 -look_ahead 1 -b:v 9000k -maxrate 12000k -bufsize 9000k  -g 120 -c:a aac -b:a 256k -ac 2 -ar 44100 -f tee -map 0 "[f=flv]rtmp://endpoint.example.com|[f=mp4]C\:\\Users\\me\\savedFile.mp4"

但无论我如何更改它,流媒体都是断断续续的开始/停止。我还应该在这里测试什么性能?

相关内容