使用 ffmpeg 将某个文件夹下所有的视频文件拼接成一个

使用 ffmpeg 将某个文件夹下所有的视频文件拼接成一个

拼接路径下所有的视频文件

shell 脚本:

#!/usr/bin/env bash


# 读取路径下所有视频文件,然后合并
########################

# 先清空文件,避免之前的数据
echo '' >append.txt


# 使用 shuf 随机乱序拼接视频文件
find ./ |grep .mp4 |shuf |while read line; do

	# 使用 file 'test.mp4' 这样的格式,一行一个
	echo -E "file '$line'" >>append.txt
	echo $line

done


# 使用 ffmpeg 当前路径下的所有视频文件
ffmpeg -safe 0 -f concat -segment_time_metadata 1 -i append.txt \
	-vf select=concatdec_select -af aselect=concatdec_select,aresample=async=1 -y out.mp4

其他拼接方式

格式工厂

格式工厂虽然可以拼接,但是视频的顺序无法调整,它通过文件名称进行排序拼接

剪映

将所有视频文件导入到剪映,虽然可以拼接,但是如果需要随机调整视频片段,非常的繁琐。直接 ffmpeg 命令行操作速度更快

Copyright: 采用 知识共享署名4.0 国际许可协议进行许可

Links: https://zwc365.com/2025/03/29/shi-yong-ffmpeg-jiang-mou-ge-wen-jian-jia-xia-suo-you-de-shi-pin-wen-jian-pin-jie-cheng-yi-ge

Buy me a cup of coffee ☕.