Win10 下利用 ffmpeg 视频切片制作 m3u8

弥雅
弥雅
弥雅
165
文章
485
评论
2020年9月3日15:59:04 评论 185 1073字

Win10 下利用 ffmpeg 视频切片制作 m3u8 的主要作用是,一定程度上降低网站播放视频产生的费用,以及大幅度提高播放时缓存播放速度,下面是方法分享。

一、安装 FFmpeg

Win10 环境中如何安装 FFmpeg,弥雅有专门出了一篇博文,有兴趣的朋友请见点击《Win10 环境下安装 FFmpeg》

二、将视频格式转换为 mp4

因为 html5 可直接播放的 mp4 格式要求视频编码为 h.264,音频编码为 aac,在转换前可以查看下原视频的编码格式。

【输入】

ffprobe 222.flv

【输出】

Input #0, flv, from '.\111.flv':
Metadata:
  encoder         : Lavf54.6.100
Duration: 00:43:09.28, start: 0.040000, bitrate: 1137 kb/s
  Stream #0:0: Video: h264 (High), yuv420p(progressive), 1024x768 [SAR 1:1 DAR 4:3], 1000 kb/s, 25 fps, 25 tbr, 1k tbn, 50 tbc
  Stream #0:1: Audio: aac (LC), 44100 Hz, stereo, fltp, 128 kb/s

【转换命令】

ffmpeg -i 111.flv -c:v copy -c:a copy out/oo.mp4

【命令说明】

  • -i _file -i 后面跟带转换的文件位置
  • -c:v 等于 -vcodec。目标视频编码格式 copy 表示使用以前的格式,转换为 h.264 则libx264
  • -c:a 等于 -acodec。目标音频格式,转换为 aac 则libfaac 后 aac
  • -s hd720 目标视频的分辨率
  • -crf 23 设置质量等级,越高越差,也越费时间

总结:如果原始视频的编码符合 h.264 + aac 那就直接使用贴出的命令即可,比较快。

三、将 mp4 转 ts 切片并生成 m3u8

这一步分成两部分完成。

1、先将 mp4 格式的转换为 ts 格式,命令如下:

ffmpeg -i out/oo.mp4 -c copy -bsf:v h264_mp4toannexb out/oo.ts

2、将上面得到的完整 ts 文件进行切片处理,命令如下:

ffmpeg -i .\pp.ts -c copy -map 0 -f segment -segment_time 8 -segment_list pp.m3u8 pp_%03d.ts

【说明】

  • %03d有没有很像 c 语言中的格式化,表示三位整数
  • -segment_time 每个切片的视频时长,单位 s
  • -segment_list m3u8 文件输出位置
  • -f 大概就是格式化方式

注:m3u8 中文件路径是以相对路径存放的,可以按需修改。

继续阅读
1
win10最后更新:2020-10-27
弥雅
  • 本文由 发表于 2020年9月3日15:59:04
  • 2
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: