通过具有高清分辨率的ffmpeg录制桌面并将其流式传输到Youtube



我想通过FFmpeg录制桌面并流式传输到Youtube。但是输出分辨率很低,最大360。 我需要更改哪些选项?

ffmpeg  -framerate 30 -f x11grab -i :1 -f pulse -i default -c:v libx264 -s 1920x1080 -r 60 -b:v 5000k  -crf 10 -vf format=yuv420p -c:a aac -b:a 128k -f flv rtmp://a.rtmp.youtube.com/live2/stream_key

问题

x11grab 的默认大小是完整的桌面或窗口(旧的 ffmpeg 版本为 640x480(。您的 ffmpeg 很旧,因此它以 640x480 捕获。然后,您将640x480升级到1920x1080,这很糟糕并且看起来很丑。

解决方案 1:升级 ffmpeg

使用现代 ffmpeg 版本进行修复,默认情况下它将获取完整的桌面或窗口大小。有关链接或 FFmpeg 编译和安装指南,请参阅 FFmpeg 下载页面。

解决方案 2:使用-video_size输入选项

ffmpeg -framerate 30 -video_size 1920x1080 -f x11grab -i :0.0 -f pulse -i default -c:v libx264 -b:v 5000k -maxrate 5000k -bufsize 10000k -g 60 -vf format=yuv420p -c:a aac -b:a 128k -f flv rtmp://a.rtmp.youtube.com/live2/stream_key
  • 请参阅 FFmpeg x11grab 文档以获取更多信息和选项。

  • 对于流式传输,建议添加-g-bufsize-maxrate以启用 VBV。

最新更新