![使用 mencoder 根据图片序列创建视频时,文件名顺序错误](https://linux22.com/image/1128406/%E4%BD%BF%E7%94%A8%20mencoder%20%E6%A0%B9%E6%8D%AE%E5%9B%BE%E7%89%87%E5%BA%8F%E5%88%97%E5%88%9B%E5%BB%BA%E8%A7%86%E9%A2%91%E6%97%B6%EF%BC%8C%E6%96%87%E4%BB%B6%E5%90%8D%E9%A1%BA%E5%BA%8F%E9%94%99%E8%AF%AF.png)
我想用 制作一个图片视频mencoder
,我可以用以下方法制作:
mencoder mf://*.jpeg -mf fps=50 -ovc copy -oac copy output.avi
但问题来自于我的图片的名称......事实上,我有video000001.jpg
,......,video0000100,
...所以当它创建视频时,序列不受尊重......它分类video10000.jpeg
,video100000.jpeg
使用python,我们可以使用这个命令:
sorted(glob.glob('*.jpeg'), key=os.path.getmtime)
我怎样才能在控制台中以同等方式实现我的视频mencoder
?
答案1
通过
mencoder mf://video{000001..100000}.jpeg -mf fps=50 -ovc copy -oac copy output.avi
但如果列表太长,可能会出现错误,例如video{00000000..10000000}.jpg
argument list too long: touch
因此最好创建一个排序列表
find . -type f -name 'video*.jpeg' | sort -V > list
并使用列表
mencoder mf://@list -mf fps=50 -ovc copy -oac copy output.avi
答案2
您可以使用mencoder
开关mf://@list.txt
来根据需要生成文件列表list.txt
,例如使用上面的 python 命令。
也可以看看:mencoder 和图片序列
答案3
我没有 50 个代表来评论。AB 提供的答案有效。尽管命令应该是
mencoder mf://@list -mf fps=50 -ovc copy -oac copy -o output.avi
上述语法结果如下。
mencoder mf://@list -mf fps=50 -ovc copy -oac copy output.avi MEncoder 1.2.1 (Debian), built with gcc-5.3.1 (C) 2000-2016 MPlayer Team Exiting... (No output file specified, please see the -o option.)