美文网首页FFmpeg
Mac平台通过ffmpeg将mp4文件生成m3u8

Mac平台通过ffmpeg将mp4文件生成m3u8

作者: 编程文学家 | 来源:发表于2019-08-03 11:01 被阅读26次

在线平台常用m3u8文件形式加载TS片段来播放,这样的好处是可以根据视频的播放进度实现加载当前播放的切片,而不用等待整个视频的完全加载,极大地减小了服务器的压力,降低了播放的延迟。
倘若我们有一部mp4电影,应当怎样切片呢。现在我用Mac平台演示一下。

下载ffmpeg

下载ffmpeg需要先安装Homebrew,若你已安装brew环境,可跳过下面的步骤。

// 安装brew
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"  

安装完成brew可以在终端试一试是否成功安装,如下图:

1564798154691.jpg

输入brew,显示如图信息表示安装成功

然后我们就可以安装ffmpeg了,终端输入:

brew install ffmpeg

稍等片刻,brew会拉取git上的ffmpeg,然后会自动部署ffmpeg,安装速度以来网络状况。安装ffmpeg完成可以终端输入:

ffmpeg -version

终端会显示当前ffmpeg版本即表示安装成功。

转换MP4视频 -> TS格式

这个时候可以进行视频编辑了。示例如下:

注:文件路径尽量使用英文名

ffmpeg -y -i <mp4源文件路径> -vcodec copy -acodec copy -vbsf h264_mp4toannexb <打算生成的TS文件路径>

示例:

ffmpeg -y -i /Users/$(whoami)/input/sourcevideo.mp4 -vcodec copy -acodec copy -vbsf h264_mp4toannexb /Users/$(whoami)/output/outputvideo.ts

可能有的mp4视频在转换ts文件时,终端会报异常,这个时候可以尝试更换视频来实现转码。当然,你也可以采用其他的方式转码,比如借助三方工具。

切片TS视频

接下来对视频进行切片操作,即生成若干连续TS文件和m3u8播放列表文件。

示例:

ffmpeg -i /Users/$(whoami)/output/outputvideo.ts  -c copy -map 0 -f segment -segment_list /Users/$(whoami)/play/playlist.m3u8 -segment_time 10  /Users/$(whoami)/play/video_%03d.ts

然后,我们在play文件夹可以看到‘playlist.m3u8’文件和‘video_000.ts’,‘video_001.ts’...等连续ts文件,切片成功。
去嗨皮吧,视频切片成功啦,so easy!

相关文章

网友评论

    本文标题:Mac平台通过ffmpeg将mp4文件生成m3u8

    本文链接:https://www.haomeiwen.com/subject/wffjdctx.html