前回の内容をpythonを使って、フォルダの中のファイルを変換するプログラムをつくってみました。(環境は前回と同様にWSL2です)
今回のプログラムはシェルスクリプトでパイプを使うのが普通だと思いますが、あえてpythonで作りました。
# -*- coding: utf-8 -*-
import subprocess
import os
input_path = "./movie"
output_path = "./output"
#フォルダの中のファイル
files = os.listdir(input_path)
for i in files:
#ファイル名と拡張子を分ける
filename, extension = os.path.splitext(i)
if extension == ".mp4":
mp4_path = f'{input_path}/{i}'
webm_path = f'{output_path}/{filename}.webm'
try:
args = f'ffmpeg -i {mp4_path} {webm_path}'
subprocess.run(args, shell=True, check=True)
print(f'{filename}は変換されました')
#ファイル容量取得
mp4_filesize = os.path.getsize(mp4_path)
webm_filesize = os.path.getsize(webm_path)
complession_num = webm_filesize/mp4_filesize
print("{}のサイズは元の{:.2f}になりました".format(filename, complession_num))
except Exception as e:
print('エラー')
print(e)
