0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

よく使うffmpegコマンドのメモ

Last updated at Posted at 2020-10-25

はじめに

毎回調べるのもアレなので、まとめておく。
詳細なコマンド説明はなし。

ffmpeg

手抜きしてffmpegはdockerイメージのものを使用。
もちろん自前でビルドするのも、バイナリをダウンロードしてのインストールでも可。
(今回はMacでビルドするのが面倒だったため)

パスの通っているところへシェルを作成。

$ touch /usr/local/bin/ffmpeg
$ chmod +x /usr/local/bin/ffmpeg
$ vi /usr/local/bin/ffmpeg
# !/bin/bash

TAG=4.1-alpine
DOCKER_RUN="docker run --rm -it"
DOCKER_IMG="jrottenberg/ffmpeg:${TAG}"
DOCKER_VOL="-v ${PWD}:${PWD} -w ${PWD}"

# echo $DOCKER_RUN $DOCKER_VOL $DOCKER_IMG "$@"
$DOCKER_RUN $DOCKER_VOL $DOCKER_IMG "$@"

exit 0

$ ffmpeg -version
ffmpeg version 4.1.6 Copyright (c) 2000-2020 the FFmpeg developers
  built with gcc 9.3.0 (Alpine 9.3.0)
  configuration: --disable-debug --disable-doc --disable-ffplay --enable-shared --enable-avresample --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-gpl --enable-libass --enable-fontconfig --enable-libfreetype --enable-libvidstab --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libxcb --enable-libx265 --enable-libxvid --enable-libx264 --enable-nonfree --enable-openssl --enable-libfdk_aac --enable-postproc --enable-small --enable-version3 --enable-libbluray --enable-libzmq --extra-libs=-ldl --prefix=/opt/ffmpeg --enable-libopenjpeg --enable-libkvazaar --enable-libaom --extra-libs=-lpthread --enable-libsrt --extra-cflags=-I/opt/ffmpeg/include --extra-ldflags=-L/opt/ffmpeg/lib
  libavutil      56. 22.100 / 56. 22.100
  libavcodec     58. 35.100 / 58. 35.100
  libavformat    58. 20.100 / 58. 20.100
  libavdevice    58.  5.100 / 58.  5.100
  libavfilter     7. 40.101 /  7. 40.101
  libavresample   4.  0.  0 /  4.  0.  0
  libswscale      5.  3.100 /  5.  3.100
  libswresample   3.  3.100 /  3.  3.100
  libpostproc    55.  3.100 / 55.  3.100

コマンド集

x265エンコード

dockerコンテナ内のffmpegでx265エンコすると不正なファイルになる?
「moov atom not found」エラー
Windowsではエンコード可

  • インタレース解除
  • CRF 18
  • プリセット:slow tune ssim
  • フォーマット:yuv420p
  • 30fps
  • 1280x720へリサイズ(lanczos)
$ ffmpeg -i input.mov -movflags faststart -flags +loop+global_header -vf bwdif=0:-1:0 -c:v libx265 -crf 18 -preset slow -tune ssim -vf format=yuv420p -r 30 -vf scale=1280:720 -sws_flags accurate_rnd+lanczos -c:a aac -b:a 128k output.mp4

mov -> mp4

Macで画面キャプチャして作成されたmov(x264+aac)をmp4コンテナに変更したいとき。

$ ffmpeg -i input.mov -movflags faststart -flags +loop+global_header -c copy output.mp4

音声抽出

$ ffmpeg -i input.mov -vn -acodec copy output.aac

aac -> m4a

$ ffmpeg -i input.aac -bsf:a aac_adtstoasc -vn -acodec copy output.m4a

カット

  • -ss:カット開始時間
  • -t:(-ssから数えて)カットする時間
$ ffmpeg -ss "hh:mm:ss" -i input.mp4 -t "hh:mm:ss" -c:v copy -c:a copy output.mp4

m3u8のストリーム保存

chromeの場合、アドレスバーに「chrome://version/」と入力して確認できる。

$ ffmpeg -user_agent "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.111 Safari/537.36" -i "http://exsample.com/hoge.m3u8" -movflags faststart -flags +loop+global_header -map_metadata -1 -c copy -bsf:a aac_adtstoasc output.mp4
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?