আমার কাছে ভিডিওগুলি এনকোড করার জন্য একটি স্ক্রিপ্ট রয়েছে (মেনকোডার ব্যবহার করে), তবে কমান্ড লাইন থেকে একটি সহজ "ফেইড আউট / ইন ব্ল্যাক" যুক্ত করার উপায় আছে, অগ্রাধিকারযোগ্য মুক্ত (মুক্ত উত্স হিসাবে)।
এটি উইন্ডোজ বা উবুন্টু লিনাক্সে হতে পারে।
আমার কাছে ভিডিওগুলি এনকোড করার জন্য একটি স্ক্রিপ্ট রয়েছে (মেনকোডার ব্যবহার করে), তবে কমান্ড লাইন থেকে একটি সহজ "ফেইড আউট / ইন ব্ল্যাক" যুক্ত করার উপায় আছে, অগ্রাধিকারযোগ্য মুক্ত (মুক্ত উত্স হিসাবে)।
এটি উইন্ডোজ বা উবুন্টু লিনাক্সে হতে পারে।
উত্তর:
'বিবর্ণ' ভিডিও ফিল্টার সহ একটি সাম্প্রতিক ffmpeg এটি করতে পারে। দুর্ভাগ্যক্রমে, উবুন্টু রেপোসে থাকা ffmpeg ফিল্টারগুলি কোনও অকার্যকর কারণে সক্রিয় করা হয়নি, সুতরাং আপনাকে এটি অন্য কোথাও থেকে পাওয়া উচিত ( এখানে দেখুন )।
কালো থেকে ম্লান হয়ে উঠতে, ফ্রেম 0 থেকে শুরু করে 50 ফ্রেমের উপরে (2 সেকেন্ড @ 25fps):
ffmpeg -i input.mp4 -filter:v 'fade=in:0:50' \
-c:v libx264 -crf 22 -preset veryfast -c:a copy output.mp4
21000 ফ্রেম (14 মিনিট @ 25fps) থেকে 50 টিরও বেশি ফ্রেম থেকে ম্লান হয়ে যাওয়া:
ffmpeg -i input.mp4 -filter:v 'fade=out:21000:50' \
-c:v libx264 -crf 22 -preset veryfast -c:a copy output.mp4
আপনি দুটি ফিল্টারচেইনে একত্রিত করতে পারেন:
ffmpeg -i input.mp4 -filter:v 'fade=in:0:50,fade=out:21000:50' \
-c:v libx264 -crf 22 -preset veryfast -c:a copy output.mp4
আপনি এই উদাহরণগুলি থেকে দেখতে পাচ্ছেন, ভিডিও ফিল্টার ব্যবহার করার সময় আপনাকে ভিডিও ট্রান্সকোড করতে হবে। যেহেতু ffmpeg এবং মেনকোডার অনেকগুলি লাইব্রেরি ভাগ করে, তাই আপনার স্ক্রিপ্টগুলি মেনকোডারের পরিবর্তে ffmpeg ব্যবহার করতে পুনরায় লিখতে হবে এবং অপ্রয়োজনীয় অতিরিক্ত এনকোড এড়ানো উচিত। আমি নিশ্চিত যে আপনি মেনকোডারে একই জিনিস অর্জন করতে পারবেন তবে আমি মেনকোডার সিনট্যাক্সটি জানি না।
আমার কাছে এই বাশ স্ক্রিপ্টটি স্বয়ংক্রিয়ভাবে মুভিগুলি (অডিও + ভিডিও) শেষ হয়ে যাওয়ার জন্য রয়েছে:
#!/bin/bash
# Audio + vidéo fade out at the end of mp4 files
# 2015-09-09 19:07:17.0 +0200 / Gilles Quenot
# length of the fade out
fade_duration=2 # seconds
if [[ ! $2 ]]; then
cat<<EOF
Usage:
${0##*/} <input mp4> <output mp4>
EOF
exit 1
fi
for x in bc awk ffprobe ffmpeg; do
if ! type &>/dev/null $x; then
echo >&2 "$x should be installed"
((err++))
fi
done
((err > 0)) && exit 1
duration=$(ffprobe -select_streams v -show_streams "$1" 2>/dev/null |
awk -F= '$1 == "duration"{print $2}')
final_cut=$(bc -l <<< "$duration - $fade_duration")
ffmpeg -i "$1" \
-filter:v "fade=out:st=$final_cut:d=$fade_duration" \
-af "afade=t=out:st=$final_cut:d=$fade_duration" \
-c:v libx264 -crf 22 -preset veryfast -strict -2 "$2"
FadeOutMp4 <input mp4> <output mp4>