Video 使用FFmpeg实现高质量屏幕捕获
我正试图找出一个在REHL上实现高质量屏幕捕获的命令 我尝试过各种选择,但没有一个真正奏效。质量不够好。我是ffmpeg的新手,不太了解所有不同的标志。因此,任何帮助都将不胜感激 我尝试过的命令:Video 使用FFmpeg实现高质量屏幕捕获,video,ffmpeg,video-encoding,screen-capture,x264,Video,Ffmpeg,Video Encoding,Screen Capture,X264,我正试图找出一个在REHL上实现高质量屏幕捕获的命令 我尝试过各种选择,但没有一个真正奏效。质量不够好。我是ffmpeg的新手,不太了解所有不同的标志。因此,任何帮助都将不胜感激 我尝试过的命令: ffmpeg -y -f x11grab -r 30 -s 1920x1080 -i :0.0+0,0 -vcodec libx264 -strict -2 -b:v 16M output.mov 我试过的第一个命令。奇怪的是它似乎没有保留指定的比特率-b:v16m。输出视频的比特率仅为2mb/s。
ffmpeg -y -f x11grab -r 30 -s 1920x1080 -i :0.0+0,0 -vcodec libx264 -strict -2 -b:v 16M output.mov
我试过的第一个命令。奇怪的是它似乎没有保留指定的比特率-b:v16m
。输出视频的比特率仅为2mb/s。在进行屏幕捕获时,这不是指定比特率的正确方法吗
ffmpeg -f x11grab -s 1920x1080 -r 30 -i :0.0 -qscale 0 -vcodec huffyuv output.mov
huffyuv编解码器应该是无损的,但质量似乎并不比libx264输出好
ffmpeg -f x11grab -r 30 -s 1920x1080 -i :0.0+0,0 -vcodec copy -pix_fmt yuv420p -qscale 0 -an output.mkv
ffmpeg -f rawvideo -pix_fmt yuv420p -s:v 1920x1080 -r 30 -i output.mkv -an -c:v libx264 -qscale 0 result.mov
我甚至尝试捕获原始视频,然后将其转换为libx264编解码器viedeo。但是输出被破坏了
我使用的是今年4月23日构建的ffmpeg版本。它没有像我在很多帖子中提到的那样预设的-vpre lossless\u ultrafast
编辑:
经过更多的研究,这是我最终使用的命令。我必须使用h264编解码器和yuv420p作为像素fmt,因为我需要能够使用quicktime播放quicktimes
ffmpeg -y -f x11grab -framerate 30 -video_size 1920x1080 -i :0.0+0,0 -c:v libx264 -pix_fmt yuv420p -qp 0 -preset ultrafast output.mov
即使将-qp设置为0,质量似乎也没有多大提高。但根据这篇文章,这也可能是因为rgb转换成yuv颜色空间
在互联网上找到这个,也许它会回答你的问题:
编辑:如评论中所述,此答案已过时。请忽略。谢谢链接。是的,我看到了,但是我们的ffmpeg版本没有这些命令中使用的预设。你有什么预设?非常有限。。。libvpx-1080p50_60、libvpx-360p、libvpx-720p、libx264-ipod640、libvpx-1080p、libvpx-720p50_60、libx264-ipod320年似乎非常有限。。。如果我理解正确的话,1080p对你来说是不够的,对吧?1080p是用于libvpx的。我只是尝试一下。不好(可能丢失了LIXX264第一行的QSCORE参数。@ RoGrdD打包LIX264忽略了<代码> -QSCAS/CODE >。使用“代码> -CRF < /代码>。请包括完整的<代码> FFMPEG控制台输出,用于您的前两个命令。访问此链接,用于工作FFPEG+C++ MP4格式屏幕记录器应用程序。您尝试过<代码> -CRF 0 < /COD吗?e> 这对我很有效。