国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

腳本之家,腳本語言編程技術(shù)及教程分享平臺(tái)!
分類導(dǎo)航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務(wù)器之家 - 腳本之家 - Python - Python 如何利用ffmpeg 處理視頻素材

Python 如何利用ffmpeg 處理視頻素材

2022-03-08 12:01一行玩python Python

ffmpeg是一套可以用來記錄、轉(zhuǎn)換數(shù)字音頻、視頻,并能將其轉(zhuǎn)化為流的開源計(jì)算機(jī)程序,使用這個(gè)神器,便可以處理各種視頻素材內(nèi)容,極度舒適。本文將介紹如何利用ffmpeg對(duì)視頻素材進(jìn)行處理,感興趣的可以了解一下

前言

第一次處理視頻素材可以手動(dòng)用剪映來處理,然后再用代碼進(jìn)行自動(dòng)化處理,不然連朝哪個(gè)方向自動(dòng)化處理可能都不知道

那清楚處理流程之后,怎么用Python來處理視頻素材呢?

ffmpeg!

ffmpeg是一套可以用來記錄、轉(zhuǎn)換數(shù)字音頻、視頻,并能將其轉(zhuǎn)化為流的開源計(jì)算機(jī)程序

使用這個(gè)神器,便可以處理各種視頻素材內(nèi)容,極度舒適

下面一行來分享一下如何使用這個(gè)神器

一、安裝

首先需要在ffmpeg的官網(wǎng)下載最新版本,不然可能會(huì)出現(xiàn)各種奇怪的問題

Python 如何利用ffmpeg 處理視頻素材

因?yàn)閒fmpeg是個(gè)命令行工具,所以安裝時(shí)需要注意將ffmpeg加入環(huán)境變量中,安裝完之后,可以在終端里輸入下面命令查看是否安裝成功

?
1
ffmpeg -version

二、subprocess調(diào)用

因?yàn)閒fmpeg是命令行工具,可以通過subprocess的調(diào)用來使用

先查看使用文檔,例如拆分視頻文件的命令是:

?
1
ffmpeg -i [filename] -ss [starttime] -t [length] -c copy [newfilename]
  • i 為需要裁剪的文件
  • ss 為裁剪開始時(shí)間
  • t 為裁剪結(jié)束時(shí)間或者長(zhǎng)度
  • c 為裁剪好的文件存放

好了,用 Python 寫一個(gè)調(diào)用:

?
1
2
3
4
5
6
7
import subprocess as sp
 
def cut_video(filename, outfile, start, length=90):
    cmd = "ffmpeg -i %s -ss %d -t %d -c copy %s" % (filename, start, length, outfile)
    p = sp.Popen(cmd, shell=True)
    p.wait()
    return
  • 定義了一個(gè)函數(shù),通過參數(shù)傳入 ffmpeg 需要的信息
  • 將裁剪命令寫成一個(gè)字符串模板,將參數(shù)替換到其中
  • 用 subprocess 的 Popen 執(zhí)行命令,其中參數(shù) shell=True 表示將命令作為一個(gè)整體執(zhí)行
  • p.wait() 很重要,因?yàn)椴眉粜枰粫?huì)兒,而且是另起進(jìn)程執(zhí)行的,所以需要等待執(zhí)行完成再繼續(xù)執(zhí)行后面工作,不然可能找不到文件

三、ffmpy3

ffmpy3是ffmpeg的python包裝器,以可以用這個(gè)包來進(jìn)行處理視頻

需要先用pip進(jìn)行安裝

?
1
pip install ffmpy3

例如修改文件格式這種操作就可以使用ffmpy3直接輸出

?
1
2
3
4
5
6
import ffmpy3
ff = ffmpy3.FFmpeg(
     inputs={'input.mp4': None},
     outputs={'output.avi': None}
     )
ff.run()

轉(zhuǎn)碼

如果同時(shí)我們想使用不同的編解碼器重新編碼視頻和音頻,在輸出文件同時(shí)必須指定額外的輸出選項(xiàng):

?
1
2
3
4
5
6
ff = FFmpeg(
    inputs={'input.ts': None},
    outputs={'output.mp4': '-c:a mp2 -mpeg2video'}
)
ff.cmd
ff.run()

解復(fù)用

還可以將文件的音頻和視頻輸出成兩個(gè)mp4格式的文件

?
1
2
3
4
5
6
7
8
9
ff = FFmpeg(
    inputs={'input.ts': None},
    outputs={
         'video.mp4': ['-map', '0:0', '-c:a', 'copy', '-f', 'mp4'],
         'audio.mp4': ['-map', '0:1', '-c:a', 'copy', '-f', 'mp4']
     }
 )
ff.cmd
ff.run()

復(fù)用

復(fù)用就是將輸入的mp4文件和mp3文件合成同一個(gè)視頻文件

這里使用 OrderedDict 來保留輸入的順序,以便它們與輸出選項(xiàng)中的流的順序相匹配:

?
1
2
3
4
5
6
from collections import OrderedDict
inputs = OrderedDict([('video.mp4', None), ('audio_1.mp3', None), ('audio_2.mp3', None)])
outputs = {'output.ts', '-map 0 -c:v h264 -map 1 -c:a:0 ac3 -map 2 -c:a:1 mp2'}
ff = FFmpeg(inputs=inputs, outputs=outputs)
ff.cmd
ff.run()

拆分成圖片

處理視頻素材內(nèi)容還需要將視頻拆成一張張圖片,對(duì)圖片進(jìn)行處理,然后再合并成視頻

在輸出的文件類型改成.png結(jié)尾即可

?
1
2
3
4
5
6
import ffmpy3
ff = ffmpy3.FFmpeg(
     inputs={'data.MP4': None},
     outputs={'1/%d.png': None}
     )
ff.run()

四、最后

通過ffmpeg處理視頻主要還是要了解它的命令用法,可以在官方文檔里進(jìn)行查看

然后再去了解各種熱門視頻的模版,自動(dòng)化生成自己想要的視頻指日可待 

到此這篇關(guān)于Python 如何利用ffmpeg 處理視頻素材的文章就介紹到這了,更多相關(guān)Python ffmpeg 視頻素材處理內(nèi)容請(qǐng)搜索服務(wù)器之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持服務(wù)器之家!

原文鏈接:https://blog.csdn.net/qq_42554007/article/details/121504147

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产精品久久久久久久久久东京 | 欧美成人一区二区三区 | 中文字幕日韩一区 | 伊人中文字幕 | 龙珠z普通话国语版在线观看 | 国产欧美一区二区精品性色 | 国产va| 亚洲国产视频一区 | 激情综合在线 | 网友自拍第一页 | 国产精品久久久久一区二区三区 | 99精品久久久久久久免费 | 美女扒开尿口来摸 | 国产日韩欧美在线 | 国产在线精品一区 | 亚洲香蕉在线观看 | 91视频导航 | 中国久久久 | 亚洲每日更新 | 国产黄色av | 日本黄色美女视频 | 日日夜夜摸 | 日韩有码在线视频 | 亚洲视频1区 | 综合色久 | 亚洲欧洲一区二区三区 | 成人在线视频免费观看 | 久久久美女 | 国产精品无码久久久久 | 亚洲国产人午在线一二区 | 亚洲视频欧美视频 | 国产成人精品在线 | 日韩在线欧美 | 精品久久久久久亚洲综合网 | 精品久久久久久久久久久久久久 | 亚洲视频成人 | 精品国产免费人成在线观看 | 国产精品123 | 欧美一区二区三区在线看 | 日韩城人免费 | 国产在线精品一区二区 |