見出し画像

【動画処理】動画ファイルフォーマット変換ツール サンプルコード

・業務効率化には何すればいいのかな?
・Pythonで自動化ツールを作成できると聞くけど、具体的に何が作れるの?
・自動化のアイデアが出てこない

こんな悩みを抱えている人に向けて、Pythonで作れる自動化ツールを解説しています。

動画処理のツールについて、こちらの記事で紹介しています。
 ⇒【画像・音声・動画】Pythonで作れる自動化ツールの具体例アイデア13選【業務効率化】

本記事では、動画ファイルフォーマット変換ツールのサンプルコードを公開しています。

サンプルコードは、自分で作成するのが難しい方や、ツール作成の手間を減らしたい方にお勧めです。ぜひご活用ください。

【関連記事】
【業務効率化】Pythonで作れる自動化ツール具体例・アイデア53選!
【Pythonで業務効率化】自動化ツールを自作する方法を5STEPで解説!



アイデア「動画ファイルフォーマット変換ツール」

概要

指定したフォルダ内の動画ファイルを一括で別のフォーマットに変換します。

導入メリット

異なるデバイスやプラットフォームでの互換性を高めるため、動画ファイルのフォーマット変換作業を自動化します。

ツール機能

ユーザーが指定した動画フォーマット(例:mp4からavi)へ、フォルダ内の全動画ファイルを一括変換します。

必要技術

moviepy:動画ファイルの読み込み、変換、保存を行う

処理フロー

  1. 変換元と変換先のフォーマットをユーザーから入力受け取り

  2. 変換対象の動画ファイルが含まれるフォルダを指定

  3. フォルダ内の動画ファイルを一覧化し、変換処理の対象とする

  4. 各動画ファイルを指定されたフォーマットに変換

  5. 変換後のファイルを元の場所に保存または新しいフォルダに保存

  6. 変換の進行状況と結果をログとして記録またはユーザーに通知


注意事項

著作権について

本ソースコードの著作権は、販売者に帰属します。
修正や改変は自由に行えますが、無断での複製、配布は法律で禁止されています。

ライセンスについて

本ソースコードは、個人利用及び商用利用が可能です。ただし、再販売や、本ソースコードを基にした派生作品の販売は禁止します。

返金について

デジタルコンテンツの性質上、購入後の返品や返金は原則として受け付けておりません。

使用上の免責事項

本ソースコードは予告なく変更や修正を行う場合があります。
本ソースコードの動作を保証するものではありません。
本ソースコードの使用から生じたいかなる直接的または間接的な損害に対しても、販売者は責任を負いません。
動作の不具合については、購入者自身の責任で対処してください。

サポートについて

本ソースコードに関するサポートは行っておりません。バグ報告や質問への対応は致しかねます。


事前準備

動画ファイルを変換用フォルダに保存します。
複数のファイルを保存しても変換できます。

動画ファイルを保存したフォルダのパスを確認してください。


ソースコード

import os
from moviepy.editor import VideoFileClip
from tqdm import tqdm

def convert_videos(source_folder, output_folder, source_ext, target_ext):
    """
    指定したフォルダ内の動画ファイルを指定されたフォーマットに変換します。
    
    Args:
        source_folder (str): 変換元の動画ファイルがあるフォルダのパス
        output_folder (str): 変換後の動画ファイルを保存するフォルダのパス
        source_ext (str): 変換元の動画ファイルの拡張子
        target_ext (str): 変換先の動画ファイルの拡張子
    """
    # 出力フォルダがない場合は作成
    if not os.path.exists(output_folder):
        os.makedirs(output_folder)
    
    # 変換対象のファイルを検索
    files = [f for f in os.listdir(source_folder) if f.endswith(source_ext)]
    
    # 進行状況バーでファイルを一つずつ処理
    for file in tqdm(files, desc="変換中"):
        full_path = os.path.join(source_folder, file)
        output_path = os.path.join(output_folder, os.path.splitext(file)[0] + '.' + target_ext)
        clip = VideoFileClip(full_path)
        clip.write_videofile(output_path, codec="libx264")
        clip.close()

def main():
    source_folder = input("変換元の動画があるフォルダのパスを入力してください: ")
    output_folder = input("変換後の動画を保存するフォルダのパスを入力してください: ")
    source_ext = input("変換元の動画ファイルの拡張子を入力してください (例: mp4): ")
    target_ext = input("変換先の動画ファイルの拡張子を入力してください (例: avi): ")
    
    convert_videos(source_folder, output_folder, source_ext, target_ext)

if __name__ == "__main__":
    main()

最後まで読んでいただき、ありがとうございました!
参考のなったと思っていただけたら、
♡スキを押していただけると嬉しいです。

今後もサンプルコードを紹介する予定なので、
関心のある方は是非アカウントのフォローをお願いします!

この記事が気に入ったらサポートをしてみませんか?