2016-12-28 6 views
0

私はビデオに透かしを追加しようとしましたが、呼び出しサブプロセスffmpegでpythonを使用しました。私のコード:オプションがffmpegに見つかりません

command = "C:\\VidMaker\\source\\ffmpeg.win32.exe -i C:\\VidMaker\\kq"+str(i)+".mp4 -i C:\\VidMaker\\1.png -filter_complex" "[0:v]setsar=sar=1[v];[v][1]blend=all_mode='overlay':all_opacity=0.7" "-vcodec libx264 C:\VidMaker\\Res"+str(i)+".mp4" 
subprocess.check_call(command, shell = False) 

結果は次のとおりです。

Unrecognized option 'filter_complex[0:v]setsar=sar=1[v];[v][1]blend=all_mode='overlay':all_opacity=0.7-movflags'. 
Error splitting the argument list: Option not found 
Traceback (most recent call last): 
    File "C:\VidMaker\add.py", line 10, in <module> 
    subprocess.check_call(command, shell = False) 
    File "C:\Python27\lib\subprocess.py", line 186, in check_call 
    raise CalledProcessError(retcode, cmd) 
subprocess.CalledProcessError: Command 'C:\VidMaker\source\ffmpeg.win32.exe -n -i C:\VidMaker\kq2.mp4 -i C:\VidMaker\1.png -filter_complex[0:v]setsar=sar=1[v];[v][1]blend=all_mode='overlay':all_opacity=0.7-movflags +faststart C:\VidMaker\Res2.mp4' returned non-zero exit status 1 
[Finished in 0.4s with exit code 1] 

EDIT1:それはオプションなしでOKを実行します。

command = "C:\\VidMaker\\source\\ffmpeg.win32.exe -i C:\\VidMaker\\kq"+str(i)+".mp4 -i C:\\VidMaker\\1.png -filter_complex overlay=10:10 C:\VidMaker\\Res"+str(i)+".mp4" 

オプションとどのようにそれを修正することができ感謝して起こるのか?!

EDIT2:私のVPSは、私のコンピュータのように実行することはできませんので、私は自分のコンピュータにそれがで正常に実行、そのようにコールする必要があります。

subprocess.call(['ffmpeg', 
    '-i', 'funvi 155.mp4', 
    '-i', '1.png', 
    '-filter_complex', "[1:v]format=argb,geq=r='r(X,Y)':a='0.15*alpha(X,Y)'[zork]; [0:v][zork]overlay", 
    '-vcodec', 'libx264', 
    'myresult6.mp4']) 

答えて

1

それはあなたの文字列リテラルを連結されています

"A" "B" 

「AB」ではなく「AB」になり、スペースは追加されません。したがって、コマンドラインパラメータの間にスペースを入れた単一引用符付きの文字列を使用するか、コマンドラインパラメータを格納するための別の方法を探してください。そのリストをサブプロセスに渡すことができます。実行する準備ができたら、後でそのリストを渡すことができます。

ご迷惑をおかけして申し訳ありません。

関連する問題