Python3、3行のコードでオーディオを抽出できることを知っているなら、これらの10元でパンを買うのは私にとって美味しくないですか?

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には多くの機能があり、公式ドキュメント
を参照できます。

おすすめ

転載: blog.csdn.net/wuyoudeyuer/article/details/123470161