將.m3u8轉換爲視頻文件保存到本地

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

簡單解釋一下代碼:

  1. 代碼是基於python2.7,windows環境使用。所以,如果你使用的python3,需要對代碼進行小範圍的調整。
  2. 代碼中,我指定了自己的ffmpeg 的絕對路徑,如果你在使用時,需要替換爲自己的ffmpeg 路徑。
  3. 還以一點,需要注意。使用帶代碼時,需要檢測一下自己的環境默認編碼格式,根據自己的環境對“os.system(cmd.encode(‘gb2312’))”的編碼格式進行調整。
  4. 代碼片中,有兩種使用ffplay的方式:直接指定ffmpeg的路徑調用;另一種先進行盤符切換,然後使用ffmpeg命令。
  5. 代碼中使用ffmpeg對視頻流進行了mp4文件轉換。更多轉換命令可以參考

祝你愉快的使用ffmpeg。

發佈了47 篇原創文章 · 獲贊 18 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章