实现将一直的视频流文件保存到本地,需要
安装ffmpeg
视频流文件地址
使用ffmpeg安装包中的ffplay.exe实现视频的播放:
ffplay http://edge.linknetott.swiftserve.com/channelgroup5/cg542production/ch262/03.m3u8
实现视频的保存(注意不要是直播流)。
# coding:utf-8
import requests
import os
import sys
def SaveVideo(name, Hls):
"""
保存流视频
:param name: 保存路径、文件名
:param Hls: 流地址
:return:
"""
# Way1(&& 、;):
cmd = 'G:\\study\\ffmpeg\\bin\\ffmpeg -i "' + Hls + '" -vcodec copy -acodec copy -absf aac_adtstoasc ' + name + '.mp4'
# Way2:
# os.chdir("G:\\study\\ffmpeg\\bin")
# cmd = 'ffmpeg -i "' + Hls + '" -vcodec copy -acodec copy -absf aac_adtstoasc ' +name + '.mp4'
# print cmd
result = os.system(cmd.encode('gb2312'))
if result == 0:
print "Save Success ! "
elif result == 1:
print "Save Fail ! "
elif result == 2:
print "Save Error ! "
else:
print "Unknow Error ! "
简单解释一下代码:
- 代码是基于python2.7,windows环境使用。所以,如果你使用的python3,需要对代码进行小范围的调整。
- 代码中,我指定了自己的ffmpeg 的绝对路径,如果你在使用时,需要替换为自己的ffmpeg 路径。
- 还以一点,需要注意。使用带代码时,需要检测一下自己的环境默认编码格式,根据自己的环境对“os.system(cmd.encode(‘gb2312’))”的编码格式进行调整。
- 代码片中,有两种使用ffplay的方式:直接指定ffmpeg的路径调用;另一种先进行盘符切换,然后使用ffmpeg命令。
- 代码中使用ffmpeg对视频流进行了mp4文件转换。更多转换命令可以参考
祝你愉快的使用ffmpeg。