私はそれぞれ約25分の長さのビデオを持っています。私は最初からPythonを使用して数秒を切っています。ビデオの一部を切り取る - python
それについて調べると、私はpythonのmoviepyパッケージを見つけました。問題は、1つのビデオでも時間がかかることです。以下は、私が1つのビデオの開始から7秒をカットするために使用するコードスニペットです。書き込み処理には多くの時間がかかります。 Pythonを使ってビデオをカットする良い方法はありますか?
from moviepy.editor import *
clip = VideoFileClip("video1.mp4").cutout(0, 7)
clip.write_videofile("test.mp4")
詳細を忘れた場合はお知らせください。
何か助けていただければ幸いです。ありがとう!
おそらく、ビデオを書き込むことは、ライブラリを再エンコードしなければならないことを意味し、その結果、品質が低下し、パフォーマンスが低下します。再エンコードせずにMP4ビデオストリームから切り離すことは可能ですが、それはあなたが思っているように単純ではなく、任意のポイント(キーフレームの直前)でカットすることはできません。私もmoviepyがこれを行うことができるかどうかわかりません。 – cemper93
私は@ cemper93に同意します。 MoviePyは常に(Numpy配列に)あなたのフレームをデコードし、書き込み時間に再エンコードするので時間がかかります。再エンコードせずにカットする最も簡単な方法は、FFMPEGを使ってmp4から正しいセグメントを抽出することです。コマンドラインやPythonから直接サブプロセスライブラリを使ってffmpegを呼び出すことができます。 – Zulko
@Zulko:それを答えとして書いて、もう少し説明を追加できますか?私はあなたが話しているFFMPEGとサブプロセスライブラリについて全く知らない。 :/ –