我用FFmpeg在我的树莓皮上录制视频。代码在这里:
ffmpeg -f video4linux2 -y -r 4 -i /dev/video0 -vf "drawtext=fontfile=/usr/share/fonts/truetype/ttf-dejavu/DejaVuSans-Bold.ttf:expansion=strftime:text='%Y-%m-%d %H\\:%M\\:%S': fontcolor=white:box=1:boxcolor=black@0.8:x=w-text_w:y=h-line_h" -vframes 20 -vcodec mpeg4 out.mp4
我在终端运行了这个代码,它运行得很好。但是我需要使用Python来运行它。然后我写了以下代码:
^{pr2}$工作时间绝对短于1s。有什么问题吗?在
我想我明白了。看起来你对bash空白有问题。在命令行中,您将整个
-vf
选项括在引号中。在python脚本中,您将x
创建为字符串;Popen
将像列表中的其他参数一样解释该字符串,并最终在实际的命令运行中不加引号。在命令行上,这看起来像:实际上,你需要:
^{pr2}$否则,当bash实际运行时,该参数将以日期格式在空白处拆分,并导致一些意外行为。在
(抱歉,这是一堵墙,我只是想确保我不会混淆。)
相关问题 更多 >
编程相关推荐