本专辑将介绍如何处理视频以及处理完毕之后的在线播放。
视频通常需要经过编码处理才能基于HLS协议播放视频。ffmpeg是一个常用的视频处理程序,可以通过Java调用ffmpeg.exe完成视频处理。我们这里将首先使用命令行完成视频处理。
1、环境约束
- ffmpeg-20190502-7eba264-win64-static
2、操作步骤
- 1 下载ffmpeg
- 2 将ffmpeg解压到非中文不包含空格的路径下
笔者解压的路径是 D:/ffmpeg-20190502-7eba264-win64-static - 3 转换视频为mp4【如果视频本身就是mp4格式,这一步操作可省略】
假设有一个视频在D:/ffmpeg-20190502-7eba264-win64-static/bin目录下名字叫wanho.wmv,在该路径下打开命令行,执行以下命令:
ffmpeg.exe -i wanho.wmv -c:v libx264 -s 1280x720 -pix_fmt yuv420p -b:a 63k -b:v 753k -r 18 .\wanho.mp4
执行之后会多出来一个wanho.mp4。
- 4 切割视频为ts并生成m3u8
在D:/ffmpeg-20190502-7eba264-win64-static/bin文件夹下创建一个文件hls,继续在D:/ffmpeg-20190502-7eba264-win64-static/bin路径的命令行中执行以下命令:
ffmpeg -i wanho.mp4 -hls_time 10 -hls_list_size 0 -hls_segment_filename ./hls/wanho_%05d.ts ./hls/wanho.m3u8
执行之后,会在hls中多出来多个ts文件和一个m3u8文件。
至此,我们完成了文件的切割。