FFMPEG এর সাথে শেষ করার জন্য আমি কোনও ভিডিওতে ওভারলে কতক্ষণ ধরে রাখতে চাই তা আমি কিভাবে নির্দিষ্ট করতে পারি?


4

আমি YouTube এর জন্য একটি ভিডিও তৈরি করছি, এবং আমি ইতিমধ্যে সম্পাদনা করেছি এবং একটি সম্পূর্ণ ভিডিও সম্পাদনা প্রোগ্রামে এটি স্পর্শ করেছি। আমি শেষ করতে চান শেষ জিনিস সঙ্গে একটি ওভারলে ব্যানার যোগ করুন সাবস্ক্রাইব এবং প্লেলিস্ট বোতাম যা আমি টীকা মধ্যে চালু করব। আমি এই ভিডিওর প্রথম 5 সেকেন্ডের জন্য প্রদর্শিত করতে চান। দুর্ভাগ্যবশত আমার সম্পূর্ণ ভিডিও এডিটিং প্রোগ্রামটি এর কারণ হতে পারে না, তাই আমি এই প্রভাবটি অর্জন করতে FFMPEG ব্যবহার করতে চাই।

আমি এই সম্পর্কে কয়েক টিউটোরিয়াল দেখা করেছি ( এইটা বিশেষ করে বেশ ভাল লাগছিল), কিন্তু তাদের কেউ কেউ ওভারলে সময়কাল নির্দিষ্ট করতে উল্লেখ করে।

আমি কিভাবে এই অর্জন করতে পারে যে কোন ধারনা আছে? আগাম ধন্যবাদ! :)


2
একটি ধারণা চেইন একটি হয় fade একটি ফিল্টার overlay, কিন্তু আমি এটি চেষ্টা করেনি তাই আমি আশা হিসাবে কাজ করবে না জানি না।
llogan

@LordNeckbeard আমি এটা চেষ্টা করতে ইচ্ছুক। আমি ঠিক কিভাবে এই কাজ করবে? :)
Miguel

আমি নিশ্চিত নই, এবং আমি এখন নিজেকে চেষ্টা করতে অক্ষম। Ffmpeg-user মেইলিং লিস্টে জিজ্ঞাসা করা একটি উত্তর দিতে পারে। আপনি একটি সাম্প্রতিক ffmpeg বিল্ড ব্যবহার করছেন তা নিশ্চিত করুন।
llogan

উত্তর:


4

বিবর্ণ এবং ওভারলে

আপনি একটি ফেইড এবং ওভারলে ফিল্টার একসঙ্গে চেইন করতে পারেন:

ffmpeg -i input.mp4 -f image2 -loop 1 -r 24 -i banner.png -filter_complex \
'[1:v]fade=out:96:24:alpha=1[wm];[0:v][wm]overlay=10:10[outv]' \
-map [outv] -map 0:a -c:a copy -c:v libx264 -preset veryfast output.mp4

-f image2 -loop 1 -r 24 -i banner.png একটি 24fps ভিডিও মধ্যে banner.png সক্রিয়, অবিরাম looping।

[1:v]fade=out:96:24:alpha=1[wm] ওয়াটারমার্কটি 96 তম ফ্রেমে (4 সেকেন্ড @ 24fps) ফেইডিং শুরু করে এবং ২4 টি ফ্রেম (1 সেকেন্ড @ 24fps) ছাড়িয়ে যায়। এবং এটা বিবর্ণ হবে আলফা চ্যানেল , অর্থাত একটি ব্লক ব্লক ফেইড করার পরিবর্তে ওয়াটারমার্ক স্বচ্ছ হয়ে যাবে। এটি একটি আউটপুট লেবেল [wm] তৈরি করে। নোটের দৈর্ঘ্যের জন্য সর্বনিম্ন আপনি যেতে পারেন তা মনে রাখবেন 1 ফ্রেম।

[0:v][wm]overlay=0:0[outv] প্রতিস্থাপক ইনপুট.এমপি 4 এর ব্যানার, আউটপুট লেবেলযুক্ত [আউটভ] তৈরি করে।

-map [outv] -map 0:a আউটপুট [আউটভ] এবং input.mp4 থেকে অডিও ব্যবহার করতে ffmpeg বলুন। বাকি বিকল্প এনকোডিং অপশন।

আপনি ব্যানার ফেইড করতে পারেন এবং দুই ফেইড ফিল্টার chaining দ্বারা আউট। নীচের ফ্রেম 96 ফ্রেম থেকে শুরু করে ব্যানারটি 24 ফ্রেমের সাথে ফেইড করবে; এবং ফ্রেম 216 (9 সেকেন্ড @ 24fps) থেকে শুরু করে 24 টি ফ্রেম এর সময়কালের জন্য ফেইড করুন:

ffmpeg -i input.mp4 -f image2 -loop 1 -r 24 -i banner.png -filter_complex \
'[1:v]fade=in:96:24:alpha=1,fade=out:216:24:alpha=1[wm];[0:v][wm]overlay=10:10[outv]' \
-map [outv] -map 0:a -c:a copy -c:v libx264 -preset veryfast output.mp4

স্ট্রিম সঙ্গে খুঁজছি -ss এবং -t

এটি একটি অনুরূপ শেষ-ফলাফল অর্জন করে, তবে বৃহত্তর মধ্যবর্তী ফাইলগুলি তৈরি করার প্রয়োজন হয়। যাহোক , এটি শুধুমাত্র প্রথম পাঁচ সেকেন্ড সেকেন্ড ট্রান্সকোড করে এবং তাই প্রক্রিয়াজাতকরণ শক্তি সংরক্ষণ করে এবং সম্ভবত দ্রুত হতে পারে।

এটি ব্যবহার করে দুটি বিট মধ্যে ভিডিও কাটা জড়িত -t এবং -ss, প্রথম, পাঁচ সেকেন্ডের ভিডিওতে ওয়াটারমার্ক স্থাপন করা, এবং তারপরে concatenating একসাথে দুটি ভিডিও।

ffmpeg -i input.mp4 -i watermark.png \
-filter_complex '[0:v][1:v]overlay[outv]' -map [outv] -map 0:a \
-t 5 -c:a copy -c:v libx264 -crf 22 -preset veryfast start.mp4

ffmpeg -i input.mp4 -ss 5 -c copy end.mp4

তারপরে কনট্যাট ডেমুক্সার ব্যবহার করে দুটি ভিডিও সংযোজন করুন: প্রথমে ইনপুট.txt নামে একটি ফাইল তৈরি করুন, নিম্নলিখিত লাইনগুলি রয়েছে:

file 'start.mp4'
file 'end.mp4'

তারপর,

ffmpeg -f concat -i inputs.txt -c copy output.mp4
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.