最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

利用python+ffmpeg合并B站視頻及格式轉(zhuǎn)換的實例代碼

 更新時間:2020年11月24日 14:13:09   作者:Ywrby  
這篇文章主要介紹了利用python+ffmpeg合并B站視頻及格式轉(zhuǎn)換的實例代碼,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下

利用python+ffmpeg合并B站視頻及格式轉(zhuǎn)換 B站客戶端下載的視頻一般有兩種格式:早期的多為blv格式(由flv格式轉(zhuǎn)換而來,音視頻軌道在同一文件下)。

如今的多為m4s格式,音頻軌視頻軌分開 以下為利用ffmpeg簡單對文件處理,使其轉(zhuǎn)換為大多數(shù)播放器能正常播放的mp4格式 前提:已正常安裝ffmpeg

import tkinter as tk
from tkinter import filedialog
import os
import tkinter.messagebox
from tkinter import ttk
mainGUI=tk.Tk()
width = 400
height = 400
screenwidth = mainGUI.winfo_screenwidth()
screenheight = mainGUI.winfo_screenheight()
alignstr = '%dx%d+%d+%d' % (width, height, (screenwidth-width)/2, (screenheight-height)/2)
mainGUI.geometry(alignstr)
mainGUI.title("轉(zhuǎn)碼系統(tǒng)")
def browseDialog():
 root = tk.Tk()
 root.withdraw()
 return filedialog.askopenfilename()
def browseDialogTo():
 path=browseDialog()
 var.set(path)
def browseDialogTo2():
 path=browseDialog()
 var2.set(path)
def browseDialogTof2():
 path=browseDialog()
 varf2.set(path)
def browseDialogTof3():
 path=browseDialog()
 varf3.set(path)
def browseDialogTof4():
 path=browseDialog()
 varf4.set(path)

tab = ttk.Notebook(mainGUI)

frame0 = tk.Frame(tab)
tab6 = tab.add(frame0, text = "m4s轉(zhuǎn)mp4")

frame1 = tk.Frame(tab)
tab1 = tab.add(frame1, text = "blv,flv轉(zhuǎn)mp4")

frame2 = tk.Frame(tab)
tab2 = tab.add(frame2, text = "提取音頻")

frame3 = tk.Frame(tab)
tab3 = tab.add(frame3, text = "音頻截取")

tab.pack(expand = True, fill = tk.BOTH)

#----------------------------------------------------------------------------------------------#
l1=tk.Label(frame0,text = "請選擇視頻文件",font=('Arial', 15),width=100,height=2)
l1.pack()
var=tk.StringVar()
var.set("")
e1 = tk.Entry(frame0,textvariable = var, show = None)#顯示成明文形式
e1.pack()
b1=tk.Button(frame0, text='瀏覽', width=6,
     height=2, command=browseDialogTo)
b1.pack()

l2=tk.Label(frame0,text = "請選擇音頻文件",font=('Arial', 15),width=100,height=2)
l2.pack()
var2=tk.StringVar()
var2.set("")
e2 = tk.Entry(frame0,textvariable = var2, show = None)#顯示成明文形式
e2.pack()
b2=tk.Button(frame0, text='瀏覽', width=6,
     height=2, command=browseDialogTo2)
b2.pack()

l3=tk.Label(frame0,text = "請輸入新文件命名",font=('Arial', 15),width=100,height=2)
l3.pack()
e3 = tk.Entry(frame0, show = None)#顯示成明文形式
e3.pack()

def myCMD(path1,path2,name):
 ver=os.popen("FFmpeg -i "+path1+" -i "+path2+" -codec copy "+"C:\\Users\\renboyu010214\\Desktop\\outputFile\\"+name+".mp4")
 ver.close()
def myCMDmain():
 path1=e1.get()
 path2=e2.get()
 name=e3.get()
 myCMD(path1,path2,name)
 tkinter.messagebox.showinfo(title='success', message="轉(zhuǎn)碼成功!")
b4=tk.Button(frame0, text='確定', width=6,
     height=2, command=myCMDmain)
b4.pack()
#----------------------------------------------------------------------------------------------#
lf2=tk.Label(frame1,text = "請選擇blv或flv文件",font=('Arial', 15),width=100,height=2)
lf2.pack()
varf2=tk.StringVar()
varf2.set("")
ef2 = tk.Entry(frame1,textvariable = varf2, show = None)#顯示成明文形式
ef2.pack()
bf2=tk.Button(frame1, text='瀏覽', width=6,
     height=2, command=browseDialogTof2)
bf2.pack()
lf2_1=tk.Label(frame1,text = "請輸入新文件命名",font=('Arial', 15),width=100,height=2)
lf2_1.pack()
ef2_1 = tk.Entry(frame1, show = None)#顯示成明文形式
ef2_1.pack()
def myCMDmainf2():
 path1=ef2.get()
 name=ef2_1.get()
 ver=os.popen("ffmpeg -i "+path1+" "+"C:\\Users\\renboyu010214\\Desktop\\outputFile\\"+name+".mp4")
 ver.close()
 tkinter.messagebox.showinfo(title='success', message="轉(zhuǎn)碼成功!")
bf2=tk.Button(frame1, text='確定', width=6,
     height=2, command=myCMDmainf2)

bf2.pack()

#----------------------------------------------------------------------------------------------#
lf3=tk.Label(frame2,text = "請選擇視頻文件",font=('Arial', 15),width=100,height=2)
lf3.pack()
varf3=tk.StringVar()
varf3.set("")
ef3 = tk.Entry(frame2,textvariable = varf3, show = None)#顯示成明文形式
ef3.pack()
bf3=tk.Button(frame2, text='瀏覽', width=6,
     height=2, command=browseDialogTof3)######
bf3.pack()
lf3_1=tk.Label(frame2,text = "請輸入新文件命名",font=('Arial', 15),width=100,height=2)
lf3_1.pack()
ef3_1 = tk.Entry(frame2, show = None)#顯示成明文形式
ef3_1.pack()
def myCMDmainf3():
 path1=ef3.get()
 name=ef3_1.get()
 ver=os.popen("ffmpeg -i "+path1+" -acodec copy -vn "+"C:\\Users\\renboyu010214\\Desktop\\outputFile\\"+name+".aac") 
 #ffmpeg -i F:\video\冠世一戰(zhàn).mp4 -acodec copy -vn F:\video\output.aac
 ver.close()
 tkinter.messagebox.showinfo(title='success', message="音頻提取成功!")
bf3=tk.Button(frame2, text='確定', width=6,
     height=2, command=myCMDmainf3)

bf3.pack()

#----------------------------------------------------------------------------------------------#

#----------------------------------------------------------------------------------------------#
lf4=tk.Label(frame3,text = "請選擇音頻/視頻文件",font=('Arial', 15),width=100,height=2)
lf4.pack()
varf4=tk.StringVar()
varf4.set("")
ef4 = tk.Entry(frame3,textvariable = varf4, show = None)#顯示成明文形式
ef4.pack()
bf4=tk.Button(frame3, text='瀏覽', width=6,
     height=2, command=browseDialogTof4)######
bf4.pack()
lf4_1=tk.Label(frame3,text = "請輸入新文件命名(音頻后綴.mp3 視頻后綴.mp4)",font=('Arial', 15),width=100,height=2)
lf4_1.pack()
ef4_1 = tk.Entry(frame3, show = None)#顯示成明文形式
ef4_1.pack()
lf4_2=tk.Label(frame3,text = "請輸入開始時間(xx:xx:xx)",font=('Arial', 15),width=100,height=2)
lf4_2.pack()
ef4_2 = tk.Entry(frame3, show = None)#顯示成明文形式
ef4_2.pack()
lf4_3=tk.Label(frame3,text = "請輸入截取時間(xx:xx:xx)",font=('Arial', 15),width=100,height=2)
lf4_3.pack()
ef4_3 = tk.Entry(frame3, show = None)#顯示成明文形式
ef4_3.pack()
def myCMDmainf4():
 path1=ef4.get()
 name=ef4_1.get()
 startTime=ef4_2.get()
 time=ef4_3.get()
 ver=os.popen("ffmpeg -ss "+startTime+" -t "+time+" -i "+path1+" -vcodec copy -acodec copy "+"C:\\Users\\renboyu010214\\Desktop\\outputFile\\"+name) 
 #ffmpeg -ss 00:00:00 -t 00:00:05 -i input.mp4 -vcodec copy -acodec copy output.mp4 
 ver.close()
 tkinter.messagebox.showinfo(title='success', message="音頻/視頻截取成功!")
bf4=tk.Button(frame3, text='確定', width=6,
     height=2, command=myCMDmainf4)

bf4.pack()

#----------------------------------------------------------------------------------------------#

mainGUI.mainloop()

到此這篇關(guān)于利用python+ffmpeg合并B站視頻及格式轉(zhuǎn)換的實例代碼的文章就介紹到這了,更多相關(guān)python+ffmpeg合并B站視頻及格式轉(zhuǎn)換內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python pow函數(shù)的底層實現(xiàn)原理介紹

    python pow函數(shù)的底層實現(xiàn)原理介紹

    這篇文章主要介紹了python pow函數(shù)的底層實現(xiàn)原理介紹,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • 詳解python中的線程與線程池

    詳解python中的線程與線程池

    這篇文章主要介紹了python線程與線程池,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05
  • 詳解Python中Pygame鍵盤事件

    詳解Python中Pygame鍵盤事件

    今天給大家?guī)淼氖顷P(guān)于Python的相關(guān)知識,文章圍繞著Pygame鍵盤事件展開,文中有非常詳細的介紹及代碼示例,需要的朋友可以參考下
    2021-06-06
  • python基于ID3思想的決策樹

    python基于ID3思想的決策樹

    這篇文章主要為大家詳細介紹了python基于ID3思想的決策樹,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • opencv 查找連通區(qū)域 最大面積實例

    opencv 查找連通區(qū)域 最大面積實例

    這篇文章主要介紹了opencv 查找連通區(qū)域 最大面積實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-06-06
  • Python分割指定頁數(shù)的pdf文件方法

    Python分割指定頁數(shù)的pdf文件方法

    今天小編就為大家分享一篇Python分割指定頁數(shù)的pdf文件方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-10-10
  • Python編譯為二進制so可執(zhí)行文件實例

    Python編譯為二進制so可執(zhí)行文件實例

    今天小編就為大家分享一篇Python編譯為二進制so可執(zhí)行文件實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • 深入詳解Python中dotted庫的使用

    深入詳解Python中dotted庫的使用

    Python的dotted庫提供了一種便捷的方式來處理嵌套字典和列表,允許通過點分隔的路徑字符串來訪問和設(shè)置嵌套結(jié)構(gòu)中的數(shù)據(jù),下面我們就來看看它的具體使用
    2019-04-04
  • linux系統(tǒng)使用python獲取內(nèi)存使用信息腳本分享

    linux系統(tǒng)使用python獲取內(nèi)存使用信息腳本分享

    這篇文章主要介紹了linux系統(tǒng)使用python獲取內(nèi)存使用情況信息,大家參考使用吧
    2014-01-01
  • Python中的閉包總結(jié)

    Python中的閉包總結(jié)

    這篇文章主要介紹了Python中的閉包總結(jié),本文講解了閉包的概念、為什么使用閉包、使用閉包實例等內(nèi)容,需要的朋友可以參考下
    2014-09-09

最新評論

通榆县| 马关县| 武威市| 临江市| 广元市| 永城市| 鄂伦春自治旗| 海伦市| 东山县| 宜兰县| 东山县| 阿拉尔市| 永善县| 罗山县| 青海省| 儋州市| 台南县| 苗栗县| 肇源县| 舞钢市| 武冈市| 南投县| 射阳县| 牙克石市| 济南市| 通城县| 桃江县| 丽江市| 五指山市| 宝鸡市| 湘阴县| 河津市| 瓮安县| 云浮市| 抚宁县| 黑水县| 逊克县| 宝兴县| 龙江县| 铜梁县| 云和县|