推荐向:分段视频连接工具 ffmpeg

承接前面b站视频下载思路的科普文,实现对大量分段视频的拼接


环境

操作系统:MacOS 10.13.4
视频连接工具:ffmpeg v4.0


前言

如果你已经实现了b站视频的下载程序,那么下载完应该是一大堆分段的

图片

之前一直苦于找不到好的视频拼接工具,今天偶然发现了一个,ffmpeg,而且是跨平台的,非常nice

图片

我是使用Mac的,所以就用homebrew直接安装,快捷方便

1
brew install ffmpeg

使用方式

由于分段视频较多,所以我们使用bash脚本来自动化执行拼接程序

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# 获取存储分段视频的路径,在命令行中输入
read dir_path

cd $dir_path

# ls需要添加后缀遍历一次防止变成 1、10、2、3 这样的顺序
for i in `ls -1v ${pwd}`; do
# 将每个分段视频的信息写入一个文本文件中用于连接程序的读取
echo "file '${i}'" >> "ff.txt"
done

ffmpeg -f concat -i ff.txt -c copy result.mp4

# 参数说明:
# -i 设定输入文件
# -f 设定编码器,这里使用 concat 无损合并
# -c 流选择器,这里选择所有流
# 最后可以选择任何可以封装的格式,不一定是 MP4

# 清理多余的文件
rm ff.txt
rm *.flv

测试

把b站的刀剑神域序列之争1080p+扒下来总共21个分段3.7G,配合bash脚本,拼接就用了16s,非常nice

图片