FFmpeg转码MP4成M3U8格式并切片+自动检测切片M3U8脚本编写详解

目前各大视频类的网站都是M3U8格式的视频文件,都是通过将视频切片生成M3U8文件,再索引那些切片后的小文件进行网络分享的。

视频网站采用的就是HLS技术,Http Live Streaming 是由Apple公司定义的用于实时流传输的协议,HLS基于HTTP协议实现,传输内容包括两部分,一是M3U8描述文件,二是TS媒体文件。

M3U8文件是指UTF-8编码格式的M3U文件。M3U文件是记录了一个索引纯文本文件,打开它时播放软件并不是播放它,而是根据它的索引找到对应的音视频文件的网络地址进行在线播放。

M3U8是一种常见的流媒体格式,主要以文件列表的形式存在,既支持直播又支持点播,尤其在Android、iOS等平台最为常用。

HLS的优势为:自适应码率流播(adaptive streaming)。效果就是客户端会根据网络状况自动选择不同码率的视频流,条件允许的情况下使用高码率,网络繁忙的时候使用低码率,并且能够自动在二者之间随意切换。这对移动设备网络状况不稳定的情况下保障流畅播放非常有帮助。实现方法是服务器端提供多码率视频流,并且在列表文件中注明,播放器根据播放进度和下载速度进行自动调整。

【FFmpeg分割MP4成M3U8格式并切片详细步骤】

一、FFmpeg的下载和安装

FFmpeg官网(http://ffmpeg.org)进入以后点击Download,进入后选择Windows版本

https://github.com/BtbN/FFmpeg-Builds/releases/download/latest/ffmpeg-master-latest-win64-gpl.zip
https://www.gyan.dev/ffmpeg/builds/ffmpeg-release-full-shared.7z
https://github.com/BtbN/FFmpeg-Builds/releases

将下载好的FFmpeg解压到D盘根目录(方便调用)

二、FFmpeg的使用和技巧

1、进入FFmpeg文件夹

开始--运行,输入cmd进入命令提示符,或者 win+R 后输入cmd进入命令提示符

依次输入后回车:
D:
cd D:\ffmpeg\bin\

3、使用ffmpeg进行转码和M3U8的切片

提前将视频文件 pop.mp4 放入D盘根目录
提前在D盘根目录建立一个up文件夹

ffmpeg转码MP4成M3U8的切片常用命令:

不改变画面尺寸,直接切片(速度最快,文件大小变化不大)
ffmpeg -i D:\pop.mp4 -codec: copy -start_number 0 -hls_time 10 -hls_list_size 0 -f hls D:\up\pop.m3u8

压缩为1280x720尺寸转码切片(速度适中,文件大小变小)
ffmpeg -i D:\pop.mp4 -profile:v baseline -level 3.0 -s 1280x720 -start_number 0 -hls_time 10 -hls_list_size 0 -f hls D:\up\pop.m3u8

多线程压缩为1280x720尺寸转码切片(速度适中,文件大小变小)
ffmpeg -i D:\pop.mp4 -threads 10 -preset ultrafast -profile:v baseline -level 3.0 -s 1280x720 -start_number 0 -hls_time 10 -hls_list_size 0 -f hls D:\up\pop.m3u8

4、上传到主机空间

将UP文件夹通过FTP上传到网站虚拟主机的根目录

通过PotPlayer等播放器,输入网址来访问m3u8索引文件即可观看视频,如 http://网址/up/pop.m3u8

相关文章:
https://www.vvso.cn/xlbk/16540.html

FFmpeg上传文件到服务器实现自动检测切片m3u8脚本编写
https://blog.csdn.net/weixin_52270081/article/details/125695738

Related Posts