batch-file - ffmpeg 来自多个源的输出文件名

标签 batch-file ffmpeg

我想让输出文件与源文件具有相同的名称(例如来自 list.txt 的第一个文件名),我该怎么做?

这是我的代码,它将文件夹中的所有 .avi 转换为单个文件并将其重命名为 output.avi .

而不是 output.avi我希望文件名与源文件夹中的第一个文件名或 list.txt 中的第一个文件名相同.

for %%f in (*.avi) do (
    echo file %%f >> list.txt
)
ffmpeg -f concat -safe 0 -i list.txt -c copy output.avi
del list.txt

我还想知道一件事,是否可以在不重新编码的情况下将视频水平翻转或镜像?

最佳答案

我不认为 ffmpeg 支持“反向引用”输入文件名。我建议在 bash 中或通过其他脚本编写方式来处理它。例如。您可以使用 list.txt 的第一行作为这样的输出文件名(未经测试):

ffmpeg -f concat -i list.txt -c copy output/$(head -1 list.txt)

在本例中,如果第一行是 foo.avi ,输出将保存在 output/foo.avi .

is it possible to flip video horizontal or mirror it without re-encoding



显然你可以 set rotation metadata无需重新编码以提示视频播放器以给定的旋转播放。也许有用于镜像或​​翻转的元数据标志,但我找不到。

如果这对您不起作用,我认为没有内置解决方案可以在不重新编码的情况下执行此操作。

关于batch-file - ffmpeg 来自多个源的输出文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56236641/

相关文章:

batch-file - 循环遍历子文件夹的子文件夹并对最后一个子文件夹的每个文件执行命令

android - 使用 ffmpeg4android 库压缩视频

vb.net - 如何在 ffmpeg 中循环获取多个视频的图像

ffmpeg - 我将如何制作屏幕录像机?

c - dm365 mpeg4 编码器 P 帧

windows - 根据文件日期移动文件夹中的文件

batch-file - 将文件存储在批处理文件中?

windows - Batch 中引用文件名的问题

windows - 如何在文件移动过程中移动文件并删除文件名中的连字符?

ffmpeg - 从根本上说,编解码器到底是什么?