web-dev-qa-db-ja.com

FFMPEGを使用してロスレスでYUVをAdobe Premierで編集するために別の形式に変換する

Adobe CS6 Premiereで基本的な編集を行いたい生のYUVビデオファイルがありますが、ファイルを認識しません。 ffmpegを使用してPremiereが取り込むものに変換することを考えましたが、後でYUV形式で再び必要になるため、これをロスレスにしたいのです。私はavi、mov、proresについて考えましたが、ffmpegへの適切なコマンドラインと、それがロスレスであることを確認する方法を理解することはできないようです。

ご協力いただきありがとうございます。

26
kilgoretrout

はい、これは可能です。それは、ヘッダーのない1つの巨大なファイルの単なる生データであるため、その生のビデオファイルを開くことができないのが普通です。そのため、Adobe Premiereはサイズやフレームレートなどを知りません。

最初に FFmpeg コマンドラインツールをダウンロードしたことを確認してください。次に、インストール後、パラメーターを指定してコマンドを実行することにより、変換を開始できます。変換を開始する前に自分で入力する必要があるパラメーターがいくつかあります。

  1. どのタイプのYUVピクセル形式を使用していますか?最も一般的な形式は、YUV4:2:0プラナー8ビット(YUV420p)です。 ffmpeg -pix_fmtsと入力して、使用可能なすべての形式のリストを取得できます。
  2. フレームレートとは何ですか?私の例では、-r 25 fpsを使用します。
  3. どのエンコーダーを使用しますか? libx264 (H.264)エンコーダーは、ロスレス圧縮に最適です。
  4. あなたのフレームサイズは?私の例では、-s 1920x1080を使用します

次に、このコマンドを取得して圧縮を行います。

ffmpeg -f rawvideo -vcodec rawvideo -s 1920x1080 -r 25 -pix_fmt yuv420p -i inputfile.yuv -c:v libx264 -preset ultrafast -qp 0 output.mp4

他のすべてのパラメーターの簡単な説明:

  • -f rawvideoを使用して、入力形式を生のビデオコンテナに設定します
  • -vcodec rawvideoを使用して、入力ファイルを非圧縮として設定します
  • -i inputfile.yuvを使用して、入力ファイルを設定します
  • -c:v libx264を使用して、エンコーダーを設定して、ビデオをlibx264にエンコードします。
  • -preset ultrafast設定は圧縮を高速化するだけなので、ファイルサイズはveryslowに設定するよりも大きくなります。
  • -qp 0を使用して、最高品質を設定します。この例では、0が最高、51が最低品質です。
  • output.mp4は、データを保存する新しいコンテナです。

Adobe Premiereでの作業が完了したら、ほとんどすべてのパラメーターを反転させることにより、YUVファイルに変換できます。 FFmpegはmp4コンテナー内の内容を認識するため、入力用のパラメーターを提供する必要はありません。

ffmpeg -i input.mp4 -f rawvideo -vcodec rawvideo -pix_fmt yuv420p -s 1920x1080 -r 25 rawvideo.yuv

58