自分用メモ。随時更新。
JPEGを連結してPDFにする
convert -verbose -quality 80 -page a4 `ls -v *.jpg` output.pdf
EXIF情報を消す
convert in.jpg -strip out.jpg
画質とFPSを設定する
30fps/2Mbps
ffmpeg -i input.mp4 -r 30 -b:v 2M output.mp4
回転させる
右90度回転
ffmpeg -i input.mp4 -vf transpose=1 output.mp4
左90度回転
ffmpeg -i input.mp4 -vf transpose=2 output.mp4
複数のMP4を連結する
concat.txt を用意する
find . -type f -name '*.mp4' | awk '{print "file "$1}' > concat.txt
file 01.mp4
file 02.mp4
ffmpeg -f concat -i concat.txt -c:v copy -c:a copy -c:s copy -map 0:v -map 0:a -map 0:s? aaa.mp4
v
, a
, s
はそれぞれ映像、音声、字幕
エンコーダを指定
h264
ffmpeg -i input.mp4 -c:v h264 output.mp4
h264 NVENV (GPU)
ffmpeg -i input.mp4 -c:v h264_nvenc output.mp4
トリミング
00:30-00:45 を切り取り
ffmpeg -ss 00:00:30 -i input.mp4 -t 00:00:45 -vcodec copy -acodec copy output.mp4
-vcodec copy -acodec copy
を取るとエンコードがかかる
その分遅くなるが時間は正確になる (copy だと多少ずれる)
https://qiita.com/kitar/items/d293e3962ade087fd850
動画投稿・ストリーミングサービスのコーデック
各サイトのヘルプ
- YouTube 動画
- ニコニコ動画
-
YouTube 放送
- 4K対応, 1080p なら上限 9Mbps
-
ニコニコ生放送
- 1080p 非対応, 60fps 非対応, 上限 720p, 6Mbps
-
Mixer
- 1080p 対応, 上限 10Mbps
-
OPENREC
- 1080p 対応, 上限 5Mbps
個人的なプリセット (妥協点)
生放送 (1080p)
YouTube と Mixer 用
- 解像度 : 1080p
- FPS : 60fps
- ビットレート : 9Mbps
- キーフレーム : 2sec
生放送 (720p 60fps)
YouTube と Mixer 用
- 解像度 : 720p
- FPS : 60fps
- ビットレート : 6Mbps
- キーフレーム : 2sec
生放送 (720p 30fps)
OPENREC とニコニコ用
- 解像度 : 720p
- FPS : 30fps
- ビットレート : 5Mbps
- キーフレーム : 2sec