スタビライザー機能がついていないGoPro(Hero4など)の動画を Y.Okamoto 3rd Nov.2023 modified on 13th Nov.2023
あとでソフト処理でスタビライズするスクリプトです.
当然無保証です.
参考サイトは
https://looooooooop.blog.fc2.com/blog-entry-1108.html
などです.どこかのサイトで自動処理の下記をゲットしました.今ちょっと探せていません.
少しパラメータをいじる設定にしたものをYouTubeから見つけました.少し修正されています.modified on 13th Nov.2023
https://www.youtube.com/watch?app=desktop&v=MeFak2kimS0
ここから
#!/bin/bash
# Loop through all MP4 files in the current directory
for input_file in *.MP4; do
if [ -e "$input_file" ]; then
echo "Processing $input_file..."
# Detect stabilization parameters
ffmpeg -i "$input_file" -vf vidstabdetect=shakiness=10:accuracy=15 -f null -
# Apply stabilization and save to a new file
output_file="${input_file%.MP4}-output.mp4"
ffmpeg -i "$input_file" -vf
vidstabtransform=smoothing=30:input="transforms.trf" -crf 18
"$output_file"
echo "Stabilization completed for $input_file. Saved as $output_file"
fi
done
echo "Batch stabilization completed."
ここまで
元は以下のYoutubeからです.パラメータの意味もそのまま載せます.#が行頭にあるのは,上記スクリプトの解説として付けていたからです.
# https://www.youtube.com/watch?app=desktop&v=MeFak2kimS0 2023-11-13
# Commands used:
# ffmpeg -i input.mp4 -vf vidstabdetect=shakiness=10:accuracy=15 -f null -
# ffmpeg -i input.mp4 -vf vidstabtransform=smoothing=30:input="transforms.trf" -crf 18 output.mp4
# you can change parameters "shakiness" and accuracy to achieve desired result
# as well as "smoothing". The trick is to find balance between these parameters.
# "crf 18" is the quality of rendered video:
# - smaller number = better quality (more Mbps)
# - bigger number = less quality (fewer Mbps)
# - should not be more than original video
movie_stab.sh
は下記をエディタで保存して,実行パーミッションを付けて,該当フォルダ(ディテクトリ)で実行するとファルダ内の動画をすべてスタビライズ処理します.長い動画だと時間がとてもかかります.
#!/bin/bash
# Loop through all MP4 files in the current directory
for input_file in *.MP4; do
if [ -e "$input_file" ]; then
echo "Processing $input_file..."
# Detect stabilization parameters
ffmpeg -i "$input_file" -vf vidstabdetect -an -f null -
# Apply stabilization and save to a new file
output_file="${input_file%.MP4}-output.mp4"
ffmpeg -i "$input_file" -vf
vidstabtransform -vcodec libx264 -acodec copy "$output_file"
echo "Stabilization completed for $input_file. Saved as $output_file"
fi
done
echo "Batch stabilization completed."
Copyright(c) by Y.Okamoto 2021, All rights reserved.