合并时显示是无效的m3u8文件_教你把多个视频合并成一个视频的方法

一.情况介绍

当你有一个m3u8文件和一个目录,目录中有连续的视频片段,这些片段可以连成一段完整的视频。

212084612da29fa3a2172259c5c3e185.png

m3u8文件打开后像这样:

9f6e7c95f8e4314bfcfa34d4abb39cb6.png

样例.m3u8

m3u8文件,可以理解为播放列表,里面是播放视频片段的顺序。

视频片段像这样:

da0b30b628f77d10734480a07073b3dc.png

为了将片段连接在一起,我选择使用是ffmpeg,一个强大的处理音频,视频的工具,是开源的。许多windows处理音频,视频的工具,背后都是使用了ffmpeg。

二.合并过程

1)安装ffmpeg

sudo apt install ffmpeg

eae8dcd8003b6232d99dbc3a94ebaa75.png

2)生成配置文件

用文本编辑器打开m3u8文件,我就选择了vscode。选择编辑菜单的替换,

59c0876d82b87c93eb9a32ced2715b85.png

选择“正则表达式”查找

6163ec98a0a37d256416e50f0887f826.png

首先是要把#EXT开头的行,变成空行,

在查找框输入^#EXT.*,

62c0fbf5f9cdee6e03e158252969d603.png

替换前

替换框不输入内容,点击全部替换

068816f0f9c4b9007a9a4cfd280fed5a.png

替换后

上一步,留下了很多空行,现在要去掉这些空行。

在查找框输入^s*(?=?$),

01a3ee6c09b91fe4e01e800c3772fa9c.png

替换前

替换框不输入内容,点击全部替换,

a7166eb08e78dac3d4b0105336e18f01.png

替换后

剩下来的每一行就是视频片段的绝对路径,接下来,把视频片段的路径改成自己电脑中的路径,

在查找框中输入自己文件的路径,我这里是/storage/emulated/0/Quark/Download,

acde059d56583b08cccca15c86ebc413.png

替换前

在替换框中输入本机中视频片段的绝对路径。

cf0c03bcee29640f3f95eb311ee840e1.png

替换后

最后,在每一行的绝对路径前面加入file ' ,后面加入单引号 '

在查找框输入^,替换框输入file '

532a5622a97f6fb90c447329433889ba.png

替换前

16a83688a6f2413212ee1b924d5567e6.png

替换后

在查找框输入$,替换框输入英文单引号 '

1e1bb4505d0a860ef2f3f2eb53730f6b.png

替换前

c687a7e6c88bec1855caaa6def346b6b.png

替换后

这样配置文件就修改好了。

3)生成最后的文件

在终端中使用命令合并成一个视频,其中filelist.txt就是m3u8,output.mp4就是最后生成的文件名

ffmpeg -f concat -safe 0 -i filelist.txt -c copy output.mp4 
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值