私はこれで何時間も頭を悩ませてきました。
HandbrakeCLI を使用して .AVI 形式の古いビデオを .mp4 に変換する簡単なスクリプトを作成しようとしていますが、Handbrake に正しい引数を登録させることができません。「Missing output file name.Run C:/Program Files /Handbrake/HandbrakeCLI.exe --help for syntax.\r\n" エラー。
ここに私がこれまでに持っているものがあります
import glob
import os
import handbrake
hb = handbrake.HandbrakeEncode
mydir = "C:\\Path\\To\\MyVids\\"
os.chdir(mydir)
filesList = []
for files in glob.glob("*.avi"):
filesList.append(mydir + files)
print(mydir + files)
#this prints the correctly assembled path and file as expected
for files in filesList:
print("Encoding file: " + files)
hb(files)
hb 関数は次のとおりです。
def HandbrakeEncode(filepath):
import subprocess
import os
from subprocess import Popen, PIPE
outputPath, fileExtension = os.path.splitext(filepath)
outputPath += ".mp4"
args = '-i ' + filepath + ' -o '+ outputPath
cmd = ['C:\\Program Files\\Handbrake\\HandbrakeCLI.exe', args]
p = subprocess.Popen(cmd, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
stdout, stderr = p.communicate()
print(stdout)
あなたが提供できる助けをありがとう...