實現將一直的視頻流文件保存到本地,需要
安裝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。