如何进行视频的切片?(转m3u8格式)

March 13, 2021 · 技术 · 49次阅读

学习视频切片。

什么是m3u8,什么是切片?

首先,想要学会此技能,视频的基本格式要先了解一下……

m3u8是保存音频、视频分块的列表文件,通常一个大文件会被分割成若干小文件,然后通过m3u8记录每个文件的地址。

m3u8是苹果公司推出的视频播放标准,是m3u的一种,只是编码格式采用的是UTF-8。m3u8准确来说是一种索引文件,使用m3u8文件实际上是通过它来解析对应的放在服务器上的视频网络地址,从而实现在线播放。使用m3u8格式文件主要因为可以实现多码率视频的适配,视频网站可以根据用户的网络带宽情况,自动为客户端匹配一个合适的码率文件进行播放,从而保证视频的流畅度。

1、M3U8文件是指UTF-8编码格式的M3U文件。
2、M3U文件是记录了一个索引纯文本文件,打开它时播放软件并不是播放它,而是根据它的索引找到对应的音视频文件的网络地址进行在线播放。
3、M3U8是一种常见的流媒体格式,主要以文件列表的形式存在,既支持直播又支持点播,尤其在Android、iOS等平台最为常用。

mp4则是一种视频文件的格式。

所谓切片就是将视频文件分成若干个.ts文件,也就是转换成m3u8

Tip:
直播以及视频网站通常使用m3u8。

如何切片?


1.视频转码

对视频进行转码(转为 mp4),将视频文件转为视频编码 h.264,音频编码 aac 格式的 mp4 文件,mp4 视频文件不是 h.264 编码,到后面切片的时候可能会遇到很多莫名其妙的问题。

先将视频转为h.264 编码的mp4文件。

A:怎么转换?
B:小白建议格式工厂,老司机直接ffmpeg转吧,这里不提供ffmpeg转码教程了。格式工厂操作如下图:
选择输出为MP4选择转出为MP4
添加视频后,选择输出配置
如图设置完后,点击确定
再次确定
单机开始,然后等待完成

转码完成后输出MP4文件,我们记住它的位置。


2.利用FFmpeg软件切片

FFmpeg环境配置:

去FFmpeg官网 http://ffmpeg.org/ 下载软件包,软件包中找到主程序ffmpeg.exe(如果找不到请利用搜索引擎,软件支持windows和Linux等)

没错,就是它!

将它复制到刚才转换的mp4文件目录下。

放在一个目录里

win+R打开cmd,cd到这个目录。
(win+R键后弹出“运行“窗口,在“运行“窗口中输入“cmd“,回车。弹出“命令提示符“窗口,敲代码输入 cd D:1bin 。其中,D 为盘符,: 不用动,1 为D盘下文件夹, 不用动, bin 为1文件夹下的文件夹,以此类推,如需详解请自查。)

键入ffmpeg、回车。测试一下环境。
结果类似于这样

显示如上选项即环境配置成功!

开始切片,假设你的视频文件名为abd.mp4

1.先用ffmpeg把abc.mp4文件转换为abc.ts文件:

ffmpeg -y -i abc.mp4 -vcodec copy -acodec copy -vbsf h264_mp4toannexb abc.ts

2.再用ffmpeg把abc.ts文件切片并生成playlist.m3u8文件,5秒一个切片:

ffmpeg -i abc.ts -c copy -map 0 -f segment -segment_list playlist.m3u8 -segment_time 5 abc%03d.ts

这其中5表示5秒一个切片,可以自行更改(单个大小最好在20m以下)

( playlist.m3u8可以自行改成xxx.m3u8 ,如更改则最终组成链接时需要对应的更改文件名)
Tip:
以上直接将命令敲入,如有看不懂啊,不要乱搞,只允许更改文件名。

等完成后我们得到
这个

这个

说明切片成功!(切片失败的原因可能是你磁盘空间不足或者操作失误导致)

安装支持播放m3u8格式的播放器,直接点击后缀为m3u8的文件即可播放了!注意!.m3u8文件和.ts文件要在同一个目录下才不会有问题出现。

喝杯水

原创网络

最后编辑于3个月前

添加新评论