电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

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

瀏覽:125日期:2022-07-04 14:31:30

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

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

import tkinter as tkfrom tkinter import filedialogimport osimport tkinter.messageboxfrom tkinter import ttkmainGUI=tk.Tk()width = 400height = 400screenwidth = 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 = '請(qǐng)選擇視頻文件',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 = '請(qǐng)選擇音頻文件',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 = '請(qǐng)輸入新文件命名',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:Usersrenboyu010214DesktopoutputFile'+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 = '請(qǐng)選擇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 = '請(qǐng)輸入新文件命名',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:Usersrenboyu010214DesktopoutputFile'+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 = '請(qǐng)選擇視頻文件',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 = '請(qǐng)輸入新文件命名',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:Usersrenboyu010214DesktopoutputFile'+name+'.aac') #ffmpeg -i F:video冠世一戰(zhàn).mp4 -acodec copy -vn F:videooutput.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 = '請(qǐng)選擇音頻/視頻文件',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 = '請(qǐng)輸入新文件命名(音頻后綴.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 = '請(qǐng)輸入開始時(shí)間(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 = '請(qǐng)輸入截取時(shí)間(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:Usersrenboyu010214DesktopoutputFile'+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)換的實(shí)例代碼的文章就介紹到這了,更多相關(guān)python+ffmpeg合并B站視頻及格式轉(zhuǎn)換內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: b站 嗶哩嗶哩 Python
相關(guān)文章:
主站蜘蛛池模板: 实验室装修_实验室设计_实验室规划设计- 上海广建净化工程公司 | 伊卡洛斯软装首页-电动窗帘,别墅窗帘,定制窗帘,江浙沪1000+别墅窗帘案例 | 精密钢管,冷拔精密无缝钢管,精密钢管厂,精密钢管制造厂家,精密钢管生产厂家,山东精密钢管厂家 | 光泽度计_测量显微镜_苏州压力仪_苏州扭力板手维修-苏州日升精密仪器有限公司 | 德州网站制作 - 网站建设设计 - seo排名优化 -「两山建站」 | 污水提升器,污水提升泵,地下室排水,增压泵,雨水泵,智能供排水控制器-上海智流泵业有限公司 | 防火门|抗爆门|超大门|医疗门|隔声门-上海加汇门业生产厂家 | 昆明网络公司|云南网络公司|昆明网站建设公司|昆明网页设计|云南网站制作|新媒体运营公司|APP开发|小程序研发|尽在昆明奥远科技有限公司 | 耐酸泵,耐腐蚀真空泵,耐酸真空泵-淄博华舜耐腐蚀真空泵有限公司 精密模具-双色注塑模具加工-深圳铭洋宇通 | CE认证_FCC认证_CCC认证_MFI认证_UN38.3认证-微测检测 CNAS实验室 | 派克防爆伺服电机品牌|国产防爆伺服电机|高低温伺服电机|杭州摩森机电科技有限公司 | 玻璃钢型材-玻璃钢风管-玻璃钢管道,生产厂家-[江苏欧升玻璃钢制造有限公司] | 有源电力滤波装置-电力有源滤波器-低压穿排电流互感器|安科瑞 | 电子万能试验机_液压拉力试验机_冲击疲劳试验机_材料试验机厂家-济南众标仪器设备有限公司 | Jaeaiot捷易科技-英伟达AI显卡模组/GPU整机服务器供应商 | 涡街流量计_LUGB智能管道式高温防爆蒸汽温压补偿计量表-江苏凯铭仪表有限公司 | 手术室净化厂家-成都做医院净化工程的公司-四川华锐-15年特殊科室建设经验 | 板框压滤机-隔膜压滤机-厢式压滤机生产厂家-禹州市君工机械设备有限公司 | 哈希余氯测定仪,分光光度计,ph在线监测仪,浊度测定仪,试剂-上海京灿精密机械有限公司 | 环氧铁红防锈漆_环氧漆_无溶剂环氧涂料_环氧防腐漆-华川涂料 | 窖井盖锯圆机_锯圆机金刚石锯片-无锡茂达金刚石有限公司 | 济南玻璃安装_济南玻璃门_济南感应门_济南玻璃隔断_济南玻璃门维修_济南镜片安装_济南肯德基门_济南高隔间-济南凯轩鹏宇玻璃有限公司 | 滁州高低温冲击试验箱厂家_安徽高低温试验箱价格|安徽希尔伯特 | 铁艺,仿竹,竹节,护栏,围栏,篱笆,栅栏,栏杆,护栏网,网围栏,厂家 - 河北稳重金属丝网制品有限公司 山东太阳能路灯厂家-庭院灯生产厂家-济南晟启灯饰有限公司 | 棕刚玉_白刚玉_铝酸钙-锐石新材料 | 纸张环压仪-纸张平滑度仪-杭州纸邦自动化技术有限公司 | 深圳货架厂_仓库货架公司_重型仓储货架_线棒货架批发-深圳市诺普泰仓储设备有限公司 | 直流电能表-充电桩电能表-导轨式电能表-智能电能表-浙江科为电气有限公司 | 电线电缆厂家|沈阳电缆厂|电线厂|沈阳英联塑力线缆有限公司 | 深圳展厅设计_企业展馆设计_展厅设计公司_数字展厅设计_深圳百艺堂 | 山东螺杆空压机,烟台空压机,烟台开山空压机-烟台开山机电设备有限公司 | 小学教案模板_中学教师优秀教案_高中教学设计模板_教育巴巴 | 工装定制/做厂家/公司_工装订做/制价格/费用-北京圣达信工装 | 台湾阳明固态继电器-奥托尼克斯光电传感器-接近开关-温控器-光纤传感器-编码器一级代理商江苏用之宜电气 | 工控机-图像采集卡-PoE网卡-人工智能-工业主板-深圳朗锐智科 | 除甲醛公司-甲醛检测治理-杭州创绿家环保科技有限公司-室内空气净化十大品牌 | 绿萝净除甲醛|深圳除甲醛公司|测甲醛怎么收费|培训机构|电影院|办公室|车内|室内除甲醛案例|原理|方法|价格立马咨询 | 光谱仪_积分球_分布光度计_灯具检测生产厂家_杭州松朗光电【官网】 | 康明斯发电机,上柴柴油发电机,玉柴柴油发电机组_海南重康电力官网 | 儋州在线-儋州招聘找工作、找房子、找对象,儋州综合生活信息门户! | 寮步纸箱厂_东莞纸箱厂 _东莞纸箱加工厂-东莞市寮步恒辉纸制品厂 |