video_converter package

Submodules

Module contents

ffmpeg-python を用いた動画変換ライブラリ。

CLI (Fire) と GUI (Tkinter) の 2 つのインターフェースから、動画の圧縮・ 形式変換・音声抽出・音声除去を行う。

各変換関数は ffmpeg を即座に実行せず、ffmpeg.nodes.Node (pipeline) を 組み立てて返す。実行は video_converter.progress.run_with_tcp_pbar() が 担当し、その際 FFmpeg の -progress オプションによる進捗を TCP 経由で 受け取ってプログレスバーへ反映する。

モジュール構成:

video_converter.audio_eliminate(input_path, output_path='')[ソース]

音声を削除

パラメータ:
  • input_path (str | PathLike) -- 動画のファイルパス

  • output_path (str) -- 出力ファイルパス (省略した場合は、元のファイル名に"_wo_audio.mp4"を付加)

戻り値:

音声を削除するパイプライン。出力先が既に存在する場合は上書きする

例外:
  • FileNotFoundError -- 入力パスがファイルとして存在しない場合

  • ValueError -- 入力パスと出力パスが同一のファイルを指す場合

戻り値の型:

Node

video_converter.audio_extract(input_path, output_path='')[ソース]

音声を .mp3 で抽出

パラメータ:
  • input_path (str | PathLike) -- 動画のファイルパス

  • output_path (str) -- 出力ファイルパス (省略した場合は、元のファイル名に".mp3"を付加)

戻り値:

音声を .mp3 で抽出するパイプライン。出力先が既に存在する場合は上書きする

例外:
  • FileNotFoundError -- 入力パスがファイルとして存在しない場合

  • ValueError -- 入力パスと出力パスが同一のファイルを指す場合

戻り値の型:

Node

video_converter.compress(input_path, output_path='', crf=23)[ソース]

動画を圧縮

パラメータ:
  • input_path (str | PathLike) -- 動画のファイルパス

  • output_path (str | PathLike) -- 圧縮後の動画のファイルパス (省略した場合は、元のファイル名に"_compressed"を付加)

  • crf (int) -- 圧縮後の動画品質 (低いほうが品質が高い)

戻り値:

圧縮後の動画のパイプライン。出力先が既に存在する場合は上書きする

例外:
  • FileNotFoundError -- 入力パスがファイルとして存在しない場合

  • ValueError -- 入力パスと出力パスが同一のファイルを指す場合

戻り値の型:

Node

video_converter.to_mp4(input_path, output_path='')[ソース]

.mp4 へ変換

パラメータ:
  • input_path (str | PathLike) -- 動画のファイルパス

  • output_path (str) -- 出力ファイルパス (省略した場合は、元のファイル名に".mp4"を付加)

戻り値:

.mp4 へ変換するパイプライン。出力先が既に存在する場合は上書きする

例外:
  • FileNotFoundError -- 入力パスがファイルとして存在しない場合

  • ValueError -- 入力パスと出力パスが同一のファイルを指す場合 (拡張子が .mp4 の入力に対し output_path を省略した場合など)

戻り値の型:

Node