我正在尝试编写一个连接脚本(windows)以将 intro.mp4 视频添加到目录中的一百多个其他 mp4 视频中。
编解码器将保持相同的 mp4,介绍文件名将保持不变,但主视频名称将会改变,但都位于同一目录中。
我已经开始写 bash 脚本
#!/bin/bash
for file in *.mp4; do ffmpeg -i CONCAT COMMAND HERE; done
任何帮助将非常感激。
谢谢大家!
答案1
就像是:
ffmpeg -f concat -safe 0 -i filelist.txt -c copy output.mp4
的细节连接可以找到命令这里。输入需要是一个文件列表,否则会ffmpeg
出现带有未知关键字的错误。
-safe 0
如果文件路径是相对的,则不需要。
因此你的 bash 脚本看起来应该是这样的:
#! /bin/bash
set -eou pipefail
NAME="file"
NEW="new-"
for file in *.mp4;
do
touch input.txt
echo $NAME 'intro.mp4' >> filelist.txt
echo $NAME $file >> filelist.txt
ffmpeg -f concat -safe 0 -i filelist.txt -c copy $NEW$file;
rm filelist.txt
done
看起来应该filelist.txt
是这样的:
file intro.mp4
file nextvideo.mp4