ffmpeg で、動画の手ブレ補正ができる。
ミニ トイドローンのカメラブレに使えるかも。
vid.stab と呼ぶライブラリを使うらしいのでffmpegの再コンパイルが必要だが、非公式の deb-multimediaに libvidstab1.0 がある。
ただし、deb-multimediaの導入によって他のマルチメディア関係のソフトもバージョンアップされてしまうことがあるので自己責任。
0) 現状のffmpeg でvid.stabが使えるか確認
$ ffmpeg --help | grep vidstab
(使える場合)
...
... vidstabdetect V->V Extract relative transformations, pass 1 of 2 for stabilization (see vidstabtransform for pass 2).
... vidstabtransform V->V Transform the frames, pass 2 of 2 for stabilization (see vidstabdetect for pass 1).
のような表示。出ない場合以下の手順。
1) Deb-multimediaをリポジトリに追加
エディタなどで sudoして /etc/apt/sources.listに以下を追加 (synapticなどでも可能)。
# deb-multimedia
deb http://www.deb-multimedia.org stretch main non-free
deb-src http://www.deb-multimedia.org stretch main non-free
$ sudo apt-get update
...
W: GPG エラー: http://www.deb-multimedia.org stretch InRelease: 公開鍵を利用できないため、以下の署名は検証できませんでした: NO_PUBKEY 5C.......
(この段階でエラーは気にしない)
公開鍵を入れて、エラー解決
$ sudo apt-get install deb-multimedia-keyring
2) vidstabインストール
$ sudo apt-get update
$ sudo apt-get install libvidstab1.0
3) 簡単なvid.stabの利用例。
動画ファイルの解析 (transforms.trfを出力) - vidstabdetectと 手ブレ補正ファイルの出力 - vidstabtransformの2度のコマンドが必要 (2pass) - うちのオンボロPCは、ffmpegのマルチコアのフル利用の熱で飛んでしまう・・・
2passを'&&'でつないだ。
$ ffmpeg -i infile.mp4 -vf vidstabdetect=shakiness=10:accuracy=15 -f null - &&
ffmpeg -i infile.mp4 -vf vidstabtransform=smoothing=30:input="transforms.trf" outfile.mp4
2つのinfile.mp4とoutfile.mp4を横に並べた動画の例 (side by side)
$ ffmpeg -i infile.mp4 -i outfile.mp4 -filter_complex "[0:v]setpts=PTS-STARTPTS, pad=iw*2:ih[bg]; [1:v]setpts=PTS-STARTPTS[fg]; [bg][fg]overlay=w" side_by_side.mp4
上では動画ファイル出力だが、チェックだけなら以下でもできる ( transforms.trf 要)。
$ ffplay -i infile.mp4 -vf split[a],vidstabtransform,[a]hstack
-----------
詳しくは
archlinuxより
https://wiki.archlinux.jp/index.php/FFmpeg#x264_.E6.89.8B.E3.83.96.E3.83.AC.E8.A3.9C.E6.AD.A3
他に transcode ってのもあるけど、ffmpegと同じライブラリ使用? ...こんな感じ
$ transcode -J stabilize=shakiness=10:accuracy=15 -i infile.mp4
$ transcode -J transform=smoothing=30 -i infile.mp4 -y xvid -o outfile.mp4
https://linux.die.net/man/1/transcode
0 件のコメント:
コメントを投稿
注: コメントを投稿できるのは、このブログのメンバーだけです。