欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python實(shí)現(xiàn)m3u8格式轉(zhuǎn)換為mp4視頻格式

 更新時(shí)間:2018年02月28日 14:32:10   作者:septwolves2015  
這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)m3u8格式轉(zhuǎn)換為mp4視頻格式,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

開發(fā)動(dòng)機(jī):最近用手機(jī)QQ瀏覽器下載了一些視頻,視頻越來越多,占用了手機(jī)內(nèi)存,于是想把下載的視頻傳到電腦上保存,可后來發(fā)現(xiàn)這些視頻都是m3u8格式的,且這個(gè)格式的視頻都切成了碎片,存在電腦里不方便查看,于是想把它轉(zhuǎn)換為其他可以直接打開播放的完整視頻,到網(wǎng)上找了一些工具,都不怎么好用,后來發(fā)現(xiàn)一個(gè)手機(jī)端的“緩沖合并工具”,倒是可以用,但是合并的視頻順序是亂的,碎片的視頻順序還需要用戶手動(dòng)調(diào)整,感覺太耽誤時(shí)間了,于是自己打算寫一個(gè)轉(zhuǎn)換工具。

直接上代碼:(程序的文件名為:convert_m3u8.py)   

# -*- coding:utf-8 -*- 
import sys 
import os 
from glob import glob 
#獲取需要轉(zhuǎn)換的路徑 
def get_user_path(argv_dir): 
  if os.path.isdir(argv_dir): 
    return argv_dir 
  elif os.path.isabs(argv_dir): 
    return argv_dir 
  else: 
    return False 
#對(duì)轉(zhuǎn)換的TS文件進(jìn)行排序     
def get_sorted_ts(user_path): 
  ts_list = glob(os.path.join(user_path,'*.ts')) 
  #print(ts_list) 
  boxer = [] 
  for ts in ts_list: 
    if os.path.exists(ts): 
      #print(os.path.splitext(os.path.basename(ts))) 
      file,_ = os.path.splitext(os.path.basename(ts)) 
      boxer.append(int(file)) 
  boxer.sort() 
  #print(boxer) 
  return boxer 
#文件合并   
def convert_m3u8(boxer,o_file_name): 
  #cmd_arg = str(ts0)+"+"+str(ts1)+" "+o_file_name 
  tmp = [] 
  for ts in boxer: 
    tmp.append(str(ts)+'.ts') 
  cmd_str = '+'.join(tmp) 
  exec_str = "copy /b "+cmd_str+' '+o_file_name 
  #print("copy /b "+cmd_str+' '+o_file_name) 
  os.system(exec_str) 
     
     
if __name__=='__main__': 
  #print(sys.argv[1:]) 
  argv_len = len(sys.argv) 
  if argv_len == 3: 
    o_dir,o_file_name =sys.argv[1:] 
    #print(o_dir+":"+o_file_name) 
    user_path = get_user_path(o_dir) 
    #print(user_path) 
    if not user_path: 
      print("您輸入的路徑不正確,:-("); 
    else: 
      if os.path.exists(os.path.join(user_path,o_file_name)): 
        print('目標(biāo)文件已存在,程序停止運(yùn)行。') 
        exit(0) 
      os.chdir(user_path) 
      #convert_m3u8('2.ts','4.ts',o_file_name) 
      boxer = get_sorted_ts(user_path) 
      convert_m3u8(boxer,o_file_name) 
      #print(os.getcwd()) 
  else: 
    print("參數(shù)個(gè)數(shù)非法"); 
   

注:代碼不多,原理也很簡(jiǎn)單,就是把各個(gè)碎片視頻按照順序合并為一個(gè)視頻文件。
使用方法如下:

python  convert_m3u8.py    m3u8視頻的目錄   要轉(zhuǎn)換后文件的名字

其中第一個(gè)參數(shù)為m3u8視頻的目錄(m3u8的碎片視頻在手機(jī)里是隱藏的,需要將隱藏文件顯示出來才可以將文件導(dǎo)出到電腦里,在安卓手機(jī)里將隱藏文件夾前面的.重命名去掉就可以了),第二個(gè)參數(shù)為要轉(zhuǎn)換后文件的名字。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論