# 1 একই সাথে অডিওকে আউট / আউট করার জন্য:
ffmpeg -i clip.mp4 -vf 'fade=in:0:30,fade=out:960:30'
-af 'afade=in:st=0:d=1,afade=out:st=32:d=1'
-c:v libx264 -crf 22 -preset veryfast fadeInOut.mp4
প্রথম বার সেকেন্ডে হয় ।
# 2 স্বয়ংক্রিয়ভাবে? না। তবে নীচের দিকে কাজ দেখুন
সময়কাল পেতে আপনি প্রথমে ffprobe চালাতে পারেন।
ffprobe -i clip.mp4 -show_entries stream=codec_type,duration -of compact=p=0:nk=1
আপনি এই জাতীয় কিছু পাবেন:
video|13.556000
audio|13.816000
তারপরে আপনি আপনার বিবর্ণ স্থানগুলি জন্য উপরেরটি ব্যবহার করতে পারেন। এই সময়গুলি সেকেন্ডের মধ্যে।
কার্যসংক্রান্ত
ffmpeg -i clip.mp4 -sseof -1 -copyts -i clip.mp4 -filter_complex
"[1]fade=out:0:30[t];[0][t]overlay,fade=in:0:30[v];
anullsrc,atrim=0:2[at];[0][at]acrossfade=d=1,afade=d=1[a]"
-map "[v]" -map "[a]" -c:v libx264 -crf 22 -preset veryfast -shortest fadeInOut.mp4
এফএফম্পেগের একটি sseof
বিকল্প রয়েছে যা একজনকে শেষ থেকে ইনপুট খোঁজার অনুমতি দেয়। আমরা আমাদের লক্ষ্য অর্জনের জন্য এটি ব্যবহার করতে পারি। সুতরাং আমরা দ্বিতীয়বার কেবলমাত্র শেষ দ্বিতীয়টি খাওয়ার সাথে দু'বার ইনপুটটি ফিড করি। টাইমস্ট্যাম্পগুলি সংরক্ষণ করার জন্য আমরা এফএফপেম্পিকে বলি, যাতে ffmpeg এই লেজের অংশের অস্থায়ী অবস্থান সংরক্ষণ করে।
আমরা এই লেজটিতে ফেইড আউট প্রয়োগ করি এবং তারপরে ফলাফলটি সম্পূর্ণ ইনপুটটিতে ওভারলে করি। যেহেতু তারা একই মিডিয়া ফাইল, অগ্রভাগ পুরোপুরি পটভূমিটি কভার করে এবং যেহেতু copyts
প্রয়োগ করা হয়েছিল, ওভারলেটি পটভূমির ইনপুটগুলিতে সংশ্লিষ্ট অভিন্ন ফ্রেমের উপরে ঘটে।
অডিওর জন্য, আমরা সময়কাল 2 সেকেন্ডের ফাঁকা ডামি অডিও তৈরি করি এবং তারপরে মূল অডিও থেকে এই ডামি অডিওতে একটি অডিও ক্রসফেইড প্রয়োগ করি। যেহেতু ২ য় অডিওটি ফাঁকা, এটি কার্যকরভাবে মূল ইনপুটটির জন্য একটি বিবর্ণ out -shortest
ডামি অডিও অংশ বাদ পরে ক্রসফেড ঘটেছে যোগ করা হয়।