如何把多个视频合成一个视频(如何把两段视频合成一段)
一.情况介绍
当你有一个m3u8文件和一个目录,目录中有连续的视频片段,这些片段可以连成一段完整的视频。
m3u8文件打开后像这样:
样例.m3u8
m3u8文件,可以理解为播放列表,里面是播放视频片段的顺序。
视频片段像这样:
为了将片段连接在一起,我选择使用是ffmpeg,一个强大的处理音频,视频的工具,是开源的。许多windows处理音频,视频的工具,背后都是使用了ffmpeg。
二.合并过程
1)安装ffmpeg
sudo apt install ffmpeg
2)生成配置文件
用文本编辑器打开m3u8文件,我就选择了vscode。选择编辑菜单的替换,
选择“正则表达式”查找
首先是要把#EXT开头的行,变成空行,
在查找框输入^#EXT.*,
替换前
替换框不输入内容,点击全部替换
替换后
上一步,留下了很多空行,现在要去掉这些空行。
在查找框输入^\s*(?=\r?$)\n,
替换前
替换框不输入内容,点击全部替换,
替换后
剩下来的每一行就是视频片段的绝对路径,接下来,把视频片段的路径改成自己电脑中的路径,
在查找框中输入自己文件的路径,我这里是
/storage/emulated/0/Quark/Download,
替换前
在替换框中输入本机中视频片段的绝对路径。
替换后
最后,在每一行的绝对路径前面加入file ' ,后面加入单引号 '
在查找框输入^,替换框输入file '
替换前
替换后
在查找框输入$,替换框输入英文单引号 '
替换前
替换后
这样配置文件就修改好了。
3)生成最后的文件
在终端中使用命令合并成一个视频,其中filelist.txt就是m3u8,output.mp4就是最后生成的文件名
ffmpeg -f concat -safe 0 -i filelist.txt -c copy output.mp4
赞 (0)