流星群の画像処理

比較明合成画像の作成

comp.sh
---------------------------------------------
#!/bin/bash
F=$1
# 現在のディレクトリ内のJPEGファイルを取得
images=($F*.jpg)
# 出力ファイル名
output="$F.jpg"

# 入力ファイルが1つもない場合はエラー終了
if [ ${#images[@]} -lt 2 ]; then
    echo "エラー: 比較明合成には2枚以上の画像が必要です。"
    exit 1
fi

# FFmpegコマンド用の入力とフィルタチェーンを構築
inputs=""
filter_complex=""
for i in "${!images[@]}"; do
    inputs="$inputs -i ${images[i]}"
    if [ $i -eq 0 ]; then
        filter_complex="[0:v]"
    else
        filter_complex="${filter_complex}[${i}:v]blend=all_mode=lighten"
        if [ $i -ne $((${#images[@]} - 1)) ]; then
            filter_complex="${filter_complex}[tmp$i];[tmp$i]"
        fi
    fi
done

# 最終的なコマンドの実行
ffmpeg $inputs -filter_complex "${filter_complex}" -y "$output"

echo "比較明合成が完了しました: $output"

複数のmp4動画を結合するためのリスを生成

mcomp.sh
----------------------------------------
#!/bin/bash
F=$1
# 現在のディレクトリ内のJPEGファイルを取得
images=($F*.jpg)
# 出力ファイル名
output="$F.jpg"

# 入力ファイルが1つもない場合はエラー終了
if [ ${#images[@]} -lt 2 ]; then
    echo "エラー: 比較明合成には2枚以上の画像が必要です。"
    exit 1
fi

# FFmpegコマンド用の入力とフィルタチェーンを構築
inputs=""
filter_complex=""
for i in "${!images[@]}"; do
    inputs="$inputs -i ${images[i]}"
    tmp=`echo ${images[i]} | sed s/jpg/mp4/`
    echo "file $tmp -vframes 10 -c:v copy "

リストの一例(mcomp.shの出力)

file ATOM-A_006_059_20241214_044836.mp4 -vframes 10 -c:v copy
file ATOM-A_004_049_20241214_050034.mp4 -vframes 10 -c:v copy
file ATOM-A_024_078_20241214_185304.mp4 -vframes 10 -c:v copy
file ATOM-A_010_045_20241214_202037.mp4 -vframes 10 -c:v copy
file ATOM-A_006_052_20241214_223628.mp4 -vframes 10 -c:v copy
file ATOM-A_011_057_20241214_223659.mp4 -vframes 10 -c:v copy
file ATOM-A_007_061_20241214_224544.mp4 -vframes 10 -c:v copy
file ATOM-A_005_043_20241214_224728.mp4 -vframes 10 -c:v copy
.....................

mp4動画の結合

video.sh  $1には、ATOM-A | ATOM-B
---------------------------------
#!/bin/bash

TGT=$1
OUT=$1.mp4
path=/var/www/html/meteor
$path/mcomp.sh $TGT | sed '1d' - >$1.txt
ffmpeg -f concat -safe 0 -i $1.txt -c copy $OUT

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です