我使用FFmpeg-python绑定来使用FFmpeg。我必须接受来自x11grab的输入,在shell中我已经有了一个等价的命令,即,
ffmpeg -nostdin -hide_banner -nostats -loglevel panic -video_size 1920x1080 -r 60 -framerate 30 -f x11grab -i :1 -f alsa -ac 2 -i pulse -preset fast -pix_fmt yuv420p file.mkv &
我已经通过FFmpeg-Python的文档创建了一个等价的命令,但是,我在文档中找不到任何x11grab的例子。
我想使用绑定来提高代码的可读性,该命令可以使用subprocess.call() / os.system()
发布于 2021-11-28 20:07:43
语法类似于以下代码示例:
import ffmpeg
(
ffmpeg
.output(ffmpeg.input(':0', s='192x128', r=30, f='x11grab'),
ffmpeg.input('sine=frequency=500', f='lavfi'),
'file.mkv',
vcodec='libx264', acodec='aac', preset='fast', pix_fmt='yuv420p', t=5)
.global_args('-nostdin', '-hide_banner', '-nostats')
.overwrite_output()
.run()
)备注:
ffmpeg.input('sine=frequency=500', f='lavfi'):practice).
.overwrite_output()
vcodec='libx264', acodec='aac' (选择编解码器是一个很好的ffmpeg.input('pulse', f='alsa', ac=2)示例,使用t=5只记录5 seconds.
.overwrite_output()用于覆盖输出,而无需询问。)
抓取的样本:

https://stackoverflow.com/questions/70145683
复制相似问题