2017-05-03 22 views
0

ffmpegでエンコード処理を停止する問題があり、インターネットで検索しても解決策が得られません。私はそうと、Pythonのsubprocessモジュールを通じて、Linuxでのffmpegを呼び出しています:ffmpegは-shortestコマンドでもエンコードを停止しません

mergeFiles = subprocess.Popen("ffmpeg -i /home/pi/Video/video.mov -i /home/pi/Audio/test.wav -acodec copy -vcodec copy -map 0:v -map 1:a -shortest /home/pi/Final/output.mkv", shell=True) 

私は手動で「CTRL-C」との符号化プロセスを終了するために、コマンドプロンプトが待機しているが、私はへのアクセス権を持っていますキーボードを使用してエンコードを終了します。私はそれが終わったときにそれを止めるだけです。私も数秒後にPythonからmergeFiles.kill()を使用しようとしましたが、それは動作しません。助けて!

編集:私が明確でない場合は、エラーがないことを意味し、ffmpegは単に「ctrl-c」を押すまで続きません。終了したらエンコードを停止するだけです。これは以下のように私のコマンドプロンプトが見えるものです:ファイル/home/pi/Final/output.mkvがすでに存在しているとき、私は「CTRL-C」

+0

あなたはLibavの古い、模倣品の、偽の "ffmpeg"を使用しています。 – LordNeckbeard

+0

本当ですか?それを修正するにはどうすればいいですか? – smartzer

+0

実行しているRasbianのバージョンがわかりませんが(使用している場合)、jessie-backportsの 'ffmpeg'を使うことができます。または、おそらくhttps://johnvansickle.com/ffmpeg/からArmhfビルドを試してください。次回は、テキストの不完全なイメージを作成する代わりに、すべてのコンソールテキストをコピーして貼り付けてください。 – LordNeckbeard

答えて

1

を押すようにするためにそれはちょうど待っているffmpeg error

、ffmpegのは、ファイルを上書きするように要求されますし、何もしません。

'-y'フラグを上書きして渡すことができます。

+0

ファイルをマージする前に "Final"フォルダ内のファイルを削除するように設定するコードがあるので、何も上書きしないように頼んでいるわけではありません。ファイルを上書きするように私に頼んでいるffmpegのエラーがありましたが、現在起こっていることは同じではありません。 – smartzer

+0

...デバッグ '何が起こっているのですか' :) –

+0

申し訳ありませんが、私は私の元の投稿ではっきりと思った。私がffmpegコマンドを実行すると、[this](http://imgur.com/a/zc2KI)のようにエンコードを終了するために "ctrl-c"を押すのを待っています。 「クリックa/y/n」タイプのエラーはありません。単にエンコードを終了しません。 – smartzer

関連する問題