雨林的Blog - 转码
type: channel
link: https://tok9.com/tag/转码/
items: FFmpeg 将视频转成ts切片并生成m3u8播放文件

FFmpeg 将视频转成ts切片并生成m3u8播放文件
type: item
date: 2018-10-20T14:49:00+08:00
description: 1.首先将视频转换为编码h264，音频编码aac格式的mp4文件使用ffprobe查看视频文件的编码格式ffprobe 本地视频.mkv如果音视频编码为h264/aac则执行命令ffmpeg -i 本地视频.mkv -acodec copy -vcodec copy 转换视频.mp4否则执行以下命令ffmpeg -i 本地视频.mkv -acodec libfaac -vcodec libx264 转换视频.mp42.将mp4格式视频转换成ts格式 ffmpeg -i 本地视频.mp4 -c copy -bsf h264_mp4toannexb 转换视频.ts3.将ts格式视频切片,并生成m3u8文件ffmpeg -i 本地视频.ts -c copy -map 0 -f segment -segment_list 视频索引.m3u8 -segment_time 6 前缀-%03d.tsegment 就是切片，-segment_time表示隔几秒进行切一个文件，上面命令是隔6s，根据自己的需求调整参数跨域问题在跨域的网站根目录放crossdomain.xml文件，下面是允许所有的网站（一般不采取这样的方式，只是方便调试）均可以跨越访问资源配置如下：<?xml version="1.0" encoding="utf-8"?> <allow-access-from domain="*"/> 限制指定网站访问，可以参考百度https://www.baidu.com/crossdomain.xml配置 <allow-access-from domain="*.baidu.com"/> <allow-access-from domain="*.bdstatic.com"/> <allow-http-request-headers-from domain="*.baidu.com" headers="*"/> <allow-http-request-headers-from domain="*.bdstatic.com" headers="*"/> 如果文件存储在第三方平台上，比如阿里云OSS，就把crossdomain.xml放在bucket根目录下