কালো হয়ে যাওয়া / ম্লান হওয়া
ক্রসফেইড পদ্ধতির জন্য নিচে স্ক্রোল করুন।
উদাহরণস্বরূপ যেখানে প্রতিটি চিত্র 5 সেকেন্ডের জন্য প্রদর্শিত হয় এবং প্রতিটি ফেইড থাকে যা 1 সেকেন্ড স্থায়ী হয়। প্রতিটি চিত্র ইনপুট একই প্রস্থ, উচ্চতা এবং নমুনা দিক অনুপাত আছে। যদি আকারে পরিবর্তিত হয় তবে নীচে # 3 উদাহরণ দেখুন।
এমপি 4 আউটপুট
ffmpeg \
-loop 1 -t 5 -i input0.png \
-loop 1 -t 5 -i input1.png \
-loop 1 -t 5 -i input2.png \
-loop 1 -t 5 -i input3.png \
-loop 1 -t 5 -i input4.png \
-filter_complex \
"[0:v]fade=t=out:st=4:d=1[v0]; \
[1:v]fade=t=in:st=0:d=1,fade=t=out:st=4:d=1[v1]; \
[2:v]fade=t=in:st=0:d=1,fade=t=out:st=4:d=1[v2]; \
[3:v]fade=t=in:st=0:d=1,fade=t=out:st=4:d=1[v3]; \
[4:v]fade=t=in:st=0:d=1,fade=t=out:st=4:d=1[v4]; \
[v0][v1][v2][v3][v4]concat=n=5:v=1:a=0,format=yuv420p[v]" -map "[v]" out.mp4
অডিও সহ
উপরের মতো তবে অডিও সহ:
ffmpeg \
-loop 1 -t 5 -i input0.png \
-loop 1 -t 5 -i input1.png \
-loop 1 -t 5 -i input2.png \
-loop 1 -t 5 -i input3.png \
-loop 1 -t 5 -i input4.png \
-i audio.m4a \
-filter_complex \
"[0:v]fade=t=out:st=4:d=1[v0]; \
[1:v]fade=t=in:st=0:d=1,fade=t=out:st=4:d=1[v1]; \
[2:v]fade=t=in:st=0:d=1,fade=t=out:st=4:d=1[v2]; \
[3:v]fade=t=in:st=0:d=1,fade=t=out:st=4:d=1[v3]; \
[4:v]fade=t=in:st=0:d=1,fade=t=out:st=4:d=1[v4]; \
[v0][v1][v2][v3][v4]concat=n=5:v=1:a=0,format=yuv420p[v]" -map "[v]" -map 5:a -shortest out.mp4
বিভিন্ন বা স্বেচ্ছাসেবী আকারের ইনপুট চিত্রগুলির জন্য
প্রথম উদাহরণটির মতো, তবে ইনপুট চিত্রগুলির সাথে প্রস্থ x উচ্চতার পরিবর্তিত। এগুলি 1280x720 বাক্সের মধ্যে ফিট করার জন্য প্যাড করা হবে:
ffmpeg \
-loop 1 -t 5 -i input0.png \
-loop 1 -t 5 -i input1.png \
-loop 1 -t 5 -i input2.png \
-loop 1 -t 5 -i input3.png \
-loop 1 -t 5 -i input4.png \
-filter_complex \
"[0:v]scale=1280:720:force_original_aspect_ratio=decrease,pad=1280:720:(ow-iw)/2:(oh-ih)/2,setsar=1,fade=t=out:st=4:d=1[v0]; \
[1:v]scale=1280:720:force_original_aspect_ratio=decrease,pad=1280:720:(ow-iw)/2:(oh-ih)/2,setsar=1,fade=t=in:st=0:d=1,fade=t=out:st=4:d=1[v1]; \
[2:v]scale=1280:720:force_original_aspect_ratio=decrease,pad=1280:720:(ow-iw)/2:(oh-ih)/2,setsar=1,fade=t=in:st=0:d=1,fade=t=out:st=4:d=1[v2]; \
[3:v]scale=1280:720:force_original_aspect_ratio=decrease,pad=1280:720:(ow-iw)/2:(oh-ih)/2,setsar=1,fade=t=in:st=0:d=1,fade=t=out:st=4:d=1[v3]; \
[4:v]scale=1280:720:force_original_aspect_ratio=decrease,pad=1280:720:(ow-iw)/2:(oh-ih)/2,setsar=1,fade=t=in:st=0:d=1,fade=t=out:st=4:d=1[v4]; \
[v0][v1][v2][v3][v4]concat=n=5:v=1:a=0,format=yuv420p[v]" -map "[v]" out.mp4
প্যাড (লেটারবক্স / পিলারবক্স) এর পরিবর্তে ক্রপ করতে (স্ক্রীনটি পূরণ করতে) বা আপনি যদি উপরে উঠা প্রতিরোধ করতে চান তবে স্ট্যাটিক আকারের খেলোয়াড়ের সাথে ফিট করার জন্য ভিডিওগুলি পুনরায় আকার দেওয়ার উদাহরণগুলি দেখুন ।
GIF আউটপুট
ফিল্টারগুলি যুক্ত করুন যুক্তিসঙ্গত মানের সাথে, কীভাবে আমি ffmpeg ব্যবহার করে কোনও ভিডিওকে জিআইএফ রূপান্তর করতে পারি?
ffmpeg \
-framerate 10 -loop 1 -t 5 -i input0.png \
-framerate 10 -loop 1 -t 5 -i input1.png \
-framerate 10 -loop 1 -t 5 -i input2.png \
-framerate 10 -loop 1 -t 5 -i input3.png \
-framerate 10 -loop 1 -t 5 -i input4.png \
-filter_complex \
"[0:v]fade=t=out:st=4:d=1[v0]; \
[1:v]fade=t=in:st=0:d=1,fade=t=out:st=4:d=1[v1]; \
[2:v]fade=t=in:st=0:d=1,fade=t=out:st=4:d=1[v2]; \
[3:v]fade=t=in:st=0:d=1,fade=t=out:st=4:d=1[v3]; \
[4:v]fade=t=in:st=0:d=1,fade=t=out:st=4:d=1[v4]; \
[v0][v1][v2][v3][v4]concat=n=5:v=1:a=0,split[v0][v1]; \
[v0]palettegen[p];[v1][p]paletteuse[v]" -map "[v]" out.gif
-loop
জিআইএফ লুপের সংখ্যাটি নিয়ন্ত্রণ করতে আউটপুট বিকল্পটি ব্যবহার করুন । ডিফল্ট অসীম লুপ হয় যদি এই বিকল্পটি ব্যবহার না করা হয়। একটি মান -1
কোন লুপ হয়।
বিকল্প এবং ফিল্টার ব্যবহৃত:
-t
প্রতিটি ইনপুট এর সেকেন্ডে সময়কাল সেট করতে।
-loop 1
চিত্রটি লুপ করে নাহলে এর সময়কাল 1 ফ্রেমের হবে।
-framerate
ইনপুট চিত্রের ফ্রেম রেট সেট করতে (অঘোষিত 25 হলে ডিফল্ট)। জিআইএফ তৈরির জন্য দরকারী।
একটি নির্দিষ্ট, অভিন্ন আকারে ইনপুট চিত্রগুলিকে ফিট করার জন্য প্যাড দিয়ে স্কেল করুন (উদাহরণস্বরূপ # 3)।
ফেইড ইন ফিড ইন এবং আউট d
বিবর্ণ সময়কাল। st
এটি শুরু হয় যখন।
CONCAT কনক্যাটেনেট করতে (বা "যোগদানের") প্রতিটি ইমেজ।
MP4 আউটপুট এবং libx264 (যদি আপনার বিল্ড দ্বারা সমর্থিত হয় তবে এমপি 4 আউটপুট জন্য ডিফল্ট এনকোডার) এর সাথে এনকোডিং থাকলে একটি ক্রোমা সাবসাম্পলিং স্কিম আউটপুট করার ফর্ম্যাট ।
একটি ফিল্টার আউটপুট অনুলিপি করতে বিভক্ত । প্যালেট * ফিল্টার দ্বারা একটি কমান্ডে সমস্ত কিছু করা প্রয়োজন।
প্লেটিজেন এবং প্লেটিজটিস সুন্দর দেখাচ্ছে জিআইএফ তৈরির জন্য।
ক্রসফেড
উদাহরণ যেখানে প্রতিটি চিত্র 5 সেকেন্ডের জন্য প্রদর্শিত হয় এবং প্রতিটি ক্রসফেইড থাকে যা 1 সেকেন্ড স্থায়ী হয়। প্রতিটি চিত্র ইনপুট একই প্রস্থ, উচ্চতা এবং নমুনা দিক অনুপাত আছে। যদি আকারে পরিবর্তিত হয় তবে উপরের # 3 উদাহরণটি মানিয়ে নিন।
এমপি 4 আউটপুট
ffmpeg \
-loop 1 -t 5 -i 1.png \
-loop 1 -t 5 -i 2.png \
-loop 1 -t 5 -i 3.png \
-loop 1 -t 5 -i 4.png \
-loop 1 -t 5 -i 5.png \
-filter_complex \
"[1]format=yuva444p,fade=d=1:t=in:alpha=1,setpts=PTS-STARTPTS+4/TB[f0]; \
[2]format=yuva444p,fade=d=1:t=in:alpha=1,setpts=PTS-STARTPTS+8/TB[f1]; \
[3]format=yuva444p,fade=d=1:t=in:alpha=1,setpts=PTS-STARTPTS+12/TB[f2]; \
[4]format=yuva444p,fade=d=1:t=in:alpha=1,setpts=PTS-STARTPTS+16/TB[f3]; \
[0][f0]overlay[bg1];[bg1][f1]overlay[bg2];[bg2][f2]overlay[bg3]; \
[bg3][f3]overlay,format=yuv420p[v]" -map "[v]" -movflags +faststart out.mp4
অডিও সহ
ffmpeg \
-loop 1 -t 5 -i 1.png \
-loop 1 -t 5 -i 2.png \
-loop 1 -t 5 -i 3.png \
-loop 1 -t 5 -i 4.png \
-loop 1 -t 5 -i 5.png \
-i music.mp3 \
-filter_complex \
"[1]format=yuva444p,fade=d=1:t=in:alpha=1,setpts=PTS-STARTPTS+4/TB[f0]; \
[2]format=yuva444p,fade=d=1:t=in:alpha=1,setpts=PTS-STARTPTS+8/TB[f1]; \
[3]format=yuva444p,fade=d=1:t=in:alpha=1,setpts=PTS-STARTPTS+12/TB[f2]; \
[4]format=yuva444p,fade=d=1:t=in:alpha=1,setpts=PTS-STARTPTS+16/TB[f3]; \
[0][f0]overlay[bg1];[bg1][f1]overlay[bg2];[bg2][f2]overlay[bg3]; \
[bg3][f3]overlay,format=yuv420p[v]" -map "[v]" -map 5:a -shortest -movflags +faststart out.mp4
অডিও সহ দুটি ভিডিওর মধ্যে ক্রসফেইড
প্রতিটি ইনপুট থেকে 5 দ্বিতীয় বিভাগ নির্বাচন করুন এবং একটি 1 দ্বিতীয় ক্রসফেইড যুক্ত করুন:
ffmpeg -i input0.mp4 -i input1.mp4 -filter_complex \
"[0:v]trim=start=5:end=10,setpts=PTS-STARTPTS[v0];
[1:v]trim=start=12:end=17,setpts=PTS-STARTPTS+4/TB,format=yuva444p,fade=st=4:d=1:t=in:alpha=1[v1];
[v0][v1]overlay,format=yuv420p[v];
[0:a]atrim=start=5:end=10,asetpts=PTS-STARTPTS[a0];
[1:a]atrim=start=12:end=17,asetpts=PTS-STARTPTS[a1];
[a0][a1]acrossfade=d=1[a]" \
-map "[v]" -map "[a]" output.mp4
GIF আউটপুট
ffmpeg \
-framerate 10 -loop 1 -t 5 -i 1.png \
-framerate 10 -loop 1 -t 5 -i 2.png \
-framerate 10 -loop 1 -t 5 -i 3.png \
-framerate 10 -loop 1 -t 5 -i 4.png \
-framerate 10 -loop 1 -t 5 -i 5.png \
-filter_complex \
"[1]format=rgba,fade=d=1:t=in:alpha=1,setpts=PTS-STARTPTS+4/TB[f0]; \
[2]format=rgba,fade=d=1:t=in:alpha=1,setpts=PTS-STARTPTS+8/TB[f1]; \
[3]format=rgba,fade=d=1:t=in:alpha=1,setpts=PTS-STARTPTS+12/TB[f2]; \
[4]format=rgba,fade=d=1:t=in:alpha=1,setpts=PTS-STARTPTS+16/TB[f3]; \
[0][f0]overlay[bg1];[bg1][f1]overlay[bg2];[bg2][f2]overlay[bg3];[bg3][f3]overlay,split[v0][v1]; \
[v0]palettegen[p];[v1][p]paletteuse[v]" -map "[v]" out.gif
-loop
জিআইএফ লুপের সংখ্যাটি নিয়ন্ত্রণ করতে আউটপুট বিকল্পটি ব্যবহার করুন । ডিফল্ট অসীম লুপ হয় যদি এই বিকল্পটি ব্যবহার না করা হয়। একটি মান -1
কোন লুপ হয়।