为什么把MP4转换m3u8呢?因为m3u8是把一个视频分割成很多碎片,最小是5秒。可以提高视频传输效率。
为什么m3u8转换MP4呢?因为在网络上的绝大部分数据是m3u8格式,而下载这个数据电脑或者浏览器没有办法播放。所以把m3u8转换成MP4文件才能播放。
下面是最简单的基于Python+ffmpeg的MP4和m3u8转换的实现。
首先Python里安装ffmpeg包:
pip install ffmpeg
在ffmpeg官网上下载ffmpeg:Download FFmpeg
在FFmpeg中的三个ffmpeg.exe,ffplay.exe,ffprobe.exe文件复制到自己Python项目当中
现在可以写基于Python+ffmpeg的转换程序
if __name__ == '__main__':
mp4_file='D:/探索者/探索者.mp4' #MP4文件路径
m3u8_file='D:/探索者/探索者/m3u8文件/探索者.m3u8' #m3u8文件路径
# subprocess.Popen()相当于在Python中运行cmd输入命令
subprocess.Popen('ffmpeg -i {} -profile:v baseline -level 3.0 -start_number 0 -hls_time 10 -hls_list_size 0 -f hls {}'.format(mp4_file,m3u8_file))
subprocess.Popen('ffmpeg -i {} -vcodec copy -acodec copy -absf aac_adtstoasc {}'.format(m3u8.file,mp4_file))
这样就能实现mp4转换m3u8的功能。