1はじめに
Xiao Diaosi:Yu兄弟、ビデオから音声を抽出したいのですが、方法はありますか?
Xiaoyu:ソフトウェアで直接行うことができます。
Xiao Diaosi:それならあなたはお金を使うことができません
Xiaoyu:...あなたは無料で売春をしたいですか??
Xiao Diaosi:いいえ、私は自分のスキルに頼らなければなりません!
Xiaoyu:それならあなたはそれに頼ることができます!
Xiao Diaosi:これはあなたのサポートなしではできません。
Xiaoyu:あなたと一緒に、これは花です、そして私は緑の葉ですか?
Xiao Diaosi:いいえ、あなたは根であり、根がなく、花はありません...
Xiaoyu:ああ、私はまだ共著であなたに貢献しなければなりませんか?
Xiao Diaosi:Yu兄弟、これができる図書館はあると思いますか?
Xiaoyu:はい、あるに違いありません...
Xiao Diaosi:わかりました、古いルールです。
Xiaoyu:まあ、全部開いて。
2.コード戦闘
2.1サードパーティライブラリの概要
今日は、ビデオからオーディオのみを抽出できるライブラリ、ffmpyを紹介します。多くの人がこのライブラリについて言及していないかもしれませんが、オーディオとビデオの複数の形式で録音、変換、ストリーミング機能を実行できる
FFmpegについては誰もが聞いたことがあるはずです。それについて言えば、2つのライブラリについて言及する必要があります。
- libavcodec:複数のプロジェクトのオーディオとビデオ用のデコーダーライブラリ
- libavformat:オーディオおよびビデオフォーマット変換ライブラリ
Pythonでは、FFmpegはffmpyに対応します。それで、
2.2インストール
古いルール、直接ピップインストール
pip install ffmpy3
インストールする他の方法:
「Python3、Pythonを選択してサードパーティのライブラリを自動的にインストールし、pipに別れを告げます。!"
" Python3:すべてのPythonライブラリをインポートするために1行のコードのみを使用します!!》
2.3コード例
コードは非常に簡潔なので、コードに直接移動しましょう
# -*- coding:utf-8 -*-
# @Time : 2022-03-13
# @Author : carl_DJ
import uuid
import os
import ffmpy3
'调用FFmpeg提取音频'
#传入三个参数:视频地址,音频结果存入地址,音频的格式后缀
def run_ffmpeg(video_path:str,audio_path:str,format:str):
ff= ffmpy3.FFmpeg(inputs = {
video_path:None},outputs = {
audio_path:'-f{} -vn'.format(format)})
ff.run()
return audio_path
'接收参数'
def extract(video_path:str,tmp_dir:str,ext:str):
file_name = '.'.join(os.path.basename(video_path).split('.')[0:-1])
temp_name = os.path.join(tmp_dir,'{}.{}'.format(uuid.uuid4(),ext))
return run_ffmpeg(video_path,temp_name,ext)
if __name__ == "__main__":
print(extract('D:\project\kd.mp4','D:\project\video','wav'))
実行後、フォルダがuuidであるwav形式のオーディオファイルが生成されます。
3.まとめ
これを見て、今日の共有はほぼここにあります。
主にオーディオコンテンツを抽出するために、ffmpy3には多くの機能があり、公式ドキュメント
を参照できます。