2017-12-31 73 views
0

私はfile.movビデオを持っています。それは、異なる持続時間を持つ多くのブランクの黒色の断片を持っています。FFMPEG黒色のフラグメントをアルファチャンネルの透明部分に置き換える

5秒以上表示される黒色の断片を透明に置き換える必要があります。その目的のためにアルファチャンネルを追加することは可能ですか? Mulvyaの答えに

コメント:

アメージングソリューション。 #2セクションはすべてOKです。

output=$(ffprobe -f lavfi -i "movie=file.mov,blackdetect=d=3.5" -show_entries tags=lavfi.black_start,lavfi.black_end -of compact=p=0 -v 0|awk '!/^$/') 
echo $output 

空行を削除するにはawk '!/^$/'を使用して:#1セクション私はこのコードを作成して

。同じ値を持つ

output

tag:lavfi.black_start繰り返し数回、私は他の値にblackdetect=d=3.5を変更した場合はexaple d=10ため、tag:lavfi.black_end

を閉じると右の構造を持っていない:ここでは

は、私が手に出力されd=3.5と同じ結果が出力されます。 tag:lavfi.black_starttag:lavfi.black_endシンタックス、正しいグレープd=値を持つこの問題を解決するにはどうすればよいですか?

答えて

1

#1実行は断片

ffprobe -f lavfi -i "movie=file.mov,blackdetect=d=3.5" -show_entries tags=lavfi.black_start,lavfi.black_end -of compact=p=0 -v 0 

編集を識別するためにblackdetect:原因フィルタで気まぐれに、1は、このデータを取得するためにffmpegのを使用する

を持っている以下のコマンドが保存されますデータをテキストファイルに変換します。

ffmpeg -f lavfi -i movie=file.mov,blackdetect=d=3.5,metadata=print:file=- -f null - -hide_banner -v 0 | grep lavfi > times.txt 

少なくとも3.5秒続く黒いセグメントのタイムコードのセットが印刷されます。

#2秒、黒断片の開始時刻と終了時刻であるアルファを追加し、発現との間のそれぞれにおいて0

ffmpeg -i file.mov -vf format=rgba,colorchannelmixer=aa=0:enable='between(t,12.4,16.1)+between(t,55.1,60.0)+between(t,62.9,69.2)' -c:v libvpx-vp9 -crf 10 -b:v 0 out.mkv 

にフラグメントのアルファを変更します。

結果をファイルに保存する場合は、上記のコマンドのようにアルファをサポートするコーデックを選択する必要があります。ファイルに既にアルファが含まれている場合は、フォーマットフィルタをスキップしてください。

+0

#1セクションに関する1つの問題で質問を更新しました。返事してください。 – kostya572

+0

ファイルを共有できますか?それが大きすぎる場合、小さな部分をカットしてください: 'ffmpeg -i in.mov -c copy -t 25 sample.mov'? – Mulvya

+0

ここにあります:https://toolsq.com/files/imagine.mov右上隅の5秒目にアプリケーションロゴが表示されているのを忘れていましたか、多分問題ですか? "[1:v] crop = iw:0.50 *、setpts = PTS-STARTPTS $ DIFF/TB、" – kostya572

関連する問題