cBlog

Tips for you.

ffmpeg

ffmpeg 5.0を試した

遅れること2週間ほど、Homebrewにもffmpeg 5.0が降ってきました(メンテナーのみなさんに感謝)。 私的に気になる変更点は2点ほど。 Videotoolbox関連のアップデートは以下の記事に追記しました。うまくいかなかったんですけどね。 yaritakunai.hatenablog.c…

ffmpegでMacのハードウェアアクセラレーションを使う

ffmpegのエンコードにMacのハードウェア支援を使えることを知ったので比較してみます。VideoToolboxとAudioToolboxというフレームワークからアクセスできます。VideoToolboxではH.264とHEVC/H.265が、AudioToolboxではAACが利用できます。 [追記 2022/02/11]…

FFmpegで出力するとカクカクする動画の対処法

FFmpegでカクカクするm3u8ファイルがあった。igndtsフラグをセットすることで解決した。 -fflags +igndts DTSを無視するオプション-fflags +igndtsを指定する。 例 ffmpeg -fflags +igndts -i in.m3u8 -c copy out.mp4 +(プラス)記号の意味 ほかのフラグは…

パラノイアのためのフレーム単位の動画カット編集

前提 再エンコードしない どのストリームも保持する(-map 0) 再エンコードなしでの動画の切り出しでは、P/Bフレームは前のフレームを必要とするので切り出しの開始はIフレーム、Bフレームは後のフレームを必要とするので切り出しの終了はI/Pフレームにする必…

FFmpegでMPEG-2 TSを再エンコードなしで正確に結合する

FFmpegでの動画の結合について以前書いた。 yaritakunai.hatenablog.com 今回は、一度切り離したTS動画を再度連結することにトライした。 異なる場面をつなぎ合わせる編集とは違い、再連結は多くの場合PフレームやBフレーム→Iフレームという結合を要求される…

FFmpegで動画と音声の開始時間をずらしてエンコード【音ズレ補正】

出典:mac.eltima.com ビデオストリームとオーディオストリームの開始時間をずらしてエンコードする方法です。手動の音ズレ調整などに。 コマンド例 ビデオに対し、オーディオを2.435秒遅らせる場合。 ffmpeg -i video.mp4 -itsoffset 2.435 -i audio.m4a -m…

FFmpegで空動画(黒ベタ+無音)を作成する方法

FFmpegでブランク(空の)動画を出力する方法です。 コマンド例 60秒の黒ベタ映像(フルHD、29.97 fps)+無音音声(44.1 kHz、ステレオ)をMP4で出力する。 ffmpeg -f lavfi -i color=c=black:s=1920x1080:r=30000/1001:d=60 -f lavfi -i 'aevalsrc=0|0:c=s…

ffmpegで動画を再エンコードなしで正確に切り出す

[追記 2020/03/21] 時間指定でいけました。 yaritakunai.hatenablog.com やったー!やりましたー!無劣化な動画をキーフレーム単位で正確に切り出すことに成功しました! 妊娠したよー\(^o^)/ 冗談はさておき以前の記事。 yaritakunai.hatenablog.com …

FFmpegでMP4やMKVをmux/demuxする

動画から音声を抽出したり、マニュアルで別々にエンコードしたビデオとオーディオを多重化したりすることは人口の10%くらいの人にはよくあることだと思います。そんなときにまず使われるFFmpegですが、今のFFmpegについてストリームやメタデータも含めて書い…