python extract audio from video tool クラス詳細
2022-01-26 07:03:32
プリアンブル
Pythonのffmpyライブラリを使って、動画から音声を抽出します。この記事では、ツールクラスのコードを提供します。
環境依存性
ffmpyのインストールが必要なので、インストールコマンドを実行してください。
pip install ffmpy -i https://pypi.douban.com/simple
ツールコード
さっそくですが、コードを見てみましょう。
#! /user/bin/env python
# coding=utf-8
"""
@project : csdn
@author : huyi
@file : extract_audio_from_audio.py
@ide : PyCharm
@time : 2021-11-12 17:16:56
"""
from ffmpy import FFmpeg
import os
import uuid
def extract(video_path: str, tmp_dir: str, ext: str):
file_name = '.' .join(os.path.basename(video_path).split('.') [0:-1])
print('filename:{}, extract audio'.format(file_name))
if ext == 'mp3':
return _run_ffmpeg(video_path, os.path.join(tmp_dir, '{}. {}'.format(uuid.uuid4(), ext)), 'mp3')
if ext == 'wav':
return _run_ffmpeg(video_path, os.path.join(tmp_dir, '{}. {}'.format(uuid.uuid4(), ext)), 'wav')
def _run_ffmpeg(video_path: str, audio_path: str, format: str):
ff = FFmpeg(inputs={video_path: None},
outputs={audio_path: '-f {} -vn'.format(format)})
print(ff.cmd)
ff.run()
return audio_path
コードの説明
1. 入力パラメータは、ビデオアドレス、ディレクトリ格納アドレス、オーディオサフィックスです。
2、オーディオサフィックスによると、MP3またはWAV形式のオーディオ出力に適応することができます。
バリデーションコード
if __name__ == '__main__':
print(extract('C:/Users/huyi/Desktop/test1.mp4', 'C:/Users/huyi/Desktop', 'wav'))
概要
後で簡単にアクセスできるように、ツールのカテゴリのいくつかを書き出して、自分に言い聞かせる。
この記事では、pythonで動画から音声ツールクラスを抽出する方法を紹介します。音声抽出に関するその他の関連コンテンツは、Script Houseで過去の記事を検索するか、以下の関連記事を引き続きご覧ください。
関連
-
[解決済み】PythonとPYAML - yaml.scanner.ScannerError: マッピングの値はここでは許可されません。
-
[解決済み] 終了コード -1073741515 (0xC0000135)でプロセス終了
-
[解決済み] pyplotのウィンドウを閉じる
-
[解決済み] numpy.fft.fft と numpy.fft.fftfreq の違いは何ですか?
-
[解決済み] statsmodel AttributeError: モジュール 'scipy.stats' には 'chisqprob' という属性がありません。
-
[解決済み] Python 3.5でbs4をインポートする
-
[解決済み] Scipy の疎な行列の乗算
-
[解決済み] sklearn classifier get ValueError: Bad input shape.
-
[解決済み] Pythonでvirtualenvの名前を変更する方法は?
-
virtualenvwrapper.hook_loader'のモジュール仕様を見つける際にpythonエラーが発生しました。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】numpy: true_divide で無効な値に遭遇
-
[解決済み] なぜImportErrorが発生するのでしょうか?pipをインストールした直後に「No module named pip」と表示されるのはなぜですか?
-
[解決済み] Django - makemigrations - 変更は検出されませんでした。
-
[解決済み] 退出時の質問で "y "と書かれたものを "yes "と表示するには?[クローズド]
-
[解決済み] Pythonは長い数値をfloatに変換すると思います(例:x.xxxe+yy)。
-
[解決済み] モジュール 'pandas' には 'rolling_mean' という属性がありません。
-
[解決済み] BeautifulSoupです。find_all()とunicodeの問題?
-
[解決済み] Pythonです。トレースバック codecs.charmap_decode(input,self.errors,decoding_table)[0].
-
[解決済み] Pythonの新スタイルのプロパティで「属性を設定できない」ことがある
-
pythonは、ValueError: 2 次元配列を期待したが、代わりに 1 次元配列が来た。