আমি কীভাবে এফএফপিপে দিয়ে কোনও ভিডিওর আকার হ্রাস করতে পারি?


200

আমি কীভাবে ffmpegমানের তুলনায় কোনও ভিডিওর আকার হ্রাস করতে ব্যবহার করতে পারি (যতটা সম্ভব ন্যূনতম, স্বাভাবিকভাবেই, তবে আমার কাছে এটি এমন কোনও মোবাইল ডিভাইসে চালিত হওয়া দরকার যাতে খুব বেশি জায়গা নেই)?

আমি একটি জিনিস লিখতে ভুলে গেছি। যখন ভিডিও সাবটাইটেলগুলি (*। এসআরটি বা * .সুব) ব্যবহার করতে পারে তখন আমি রূপান্তরিত ভিডিও ফাইলের পরামিতিগুলির সাথে মানিয়ে নিতে সেগুলিও রূপান্তর করতে চাই।


4
আমি এটি ব্যবহার করি নি তবে ffmpegম্যান পৃষ্ঠাটি -fsআউটপুট আকার সীমাবদ্ধ করার জন্য একটি বিকল্প দেখায় , ffmpeg -i in.avi -fs 100M out.aviকাজের মতো কিছু করে ?
কেভিন

1
আমি আপনাকে ম্যান পৃষ্ঠাতে পুনঃনির্দেশ করব না:man ffmpeg | wc -l --> 5254

3
.aviপ্রধান সমস্যা হয় না .. aviশুধু একটি ধারক। মূল সমস্যাটি হ'ল আপনি কোন কোডেক ব্যবহার করেন .. অনেকগুলি (বেশিরভাগ?) .aviভিডিতে পুরানো স্টাইলের কোডেস (উদাহরণস্বরূপ XviD) ব্যবহার করা হয় যা ভাল, তবে কোডেক্সগুলির পরবর্তী প্রজন্মের তুলনায় একই মানের জন্য বড় হয় .. আপনি সাধারণত একটি পেতে পারেন H.264ভিডিও সংকোচনের স্ট্যান্ডার্ড (উদাহরণস্বরূপ কোডেক x264) এবং aacঅডিওর জন্য সংক্ষেপণ ব্যবহার করে আঁটসাঁট এনকোডিং .. আপনি যে ধারক এবং কোডেক ব্যবহার করছেন তা আপনার এবং আপনার ফোনের উপর নির্ভর করে ... ধারকটি .mp4ভালভাবে গ্রহণযোগ্য .. (তবে আপনার ফোনটি এটি পরিচালনা করতে পারে: দেখতে এই লিঙ্কে
Peter.O

@ কেভিন এটি রূপান্তরকরণের জন্য আরও পরামিতি চায়।
xralf

@ এটির অর্থ কী?
xralf

উত্তর:


277

এই উত্তর দেখুন । সুবিধার জন্য নিচে উদ্ধৃত:

সেকেন্ডে ভিডিও দৈর্ঘ্যে 1 জিবি ভাগ করে আপনার প্রয়োজনীয় বিটরেট গণনা করুন। সুতরাং, দৈর্ঘ্যের 16:40 (1000 সেকেন্ড) ভিডিওর জন্য, 1000000 বাইট / সেকেন্ডের বিটরেট ব্যবহার করুন:

ffmpeg -i input.mp4 -b 1000000 output.mp4

অতিরিক্ত বিকল্পগুলি যা বিবেচনার জন্য উপযুক্ত হতে পারে তা হল কনস্ট্যান্ট রেট ফ্যাক্টর সেট করা, যা গড় বিট রেটকে কমিয়ে দেয় তবে আরও ভাল মানের মান ধরে রাখে। প্রায় 18 থেকে 24 এর মধ্যে সিআরএফের পরিবর্তন করুন - বিটরেট নিম্ন, তত বেশি।

ffmpeg -i input.mp4 -vcodec libx265 -crf 20 output.mp4

প্রয়োজন মতো কোডেককে বৈচিত্র্য দিন - libx265 না হলে কিছুটা বড় ফলাফলের আকারের আকারে libx265 পাওয়া যায়।


আকারের ভিডিওটি 130 এমবি আকারে হ্রাস করা হয়েছিল। গুণটি দ্রুত হ্রাস পেয়েছে। এই প্রক্রিয়াটির জন্য কিছু ব্যাখ্যা আছে? মূল লেখক তার গাইডলাইনটি ব্যাখ্যা করেন না।
xralf

13
দ্বিতীয় কমান্ডটি ব্যবহার করে -crf 24আমার কাছে একটি 255.3MB ভিডিও নিয়েছিল এবং এটি গুণমানটি উল্লেখযোগ্যভাবে কমিয়ে না দিয়ে এটিকে 72.7MB এ নামিয়েছে। একটি upvote আছে!
প্যাট্রিক রবার্টস

2
চিত্তাকর্ষকভাবে একটি ~ 2 জি ভিডিও 14 এমবিতে হ্রাস করেছে, এখনও দুর্দান্ত দেখাচ্ছে, এটি প্রথম অনুসন্ধানের ফলাফল এবং এটি ঠিক আমি যা খুঁজছিলাম, ধন্যবাদ!
sinisterstuf

5
আপনি এখন libx265আরও বেশি আকার হ্রাস জন্য ব্যবহার করতে পারেন যে লক্ষ্য করা ভাল হতে পারে ।
জেডএন

6
ব্যবহৃত ffmpeg -i input.avi -vcodec libx264 -crf 24 output.avi। এটি 100 এমবি ভিডিওটি 9 এমবিতে হ্রাস করেছে .. ভিডিওর মানের খুব সামান্য পরিবর্তন। ধন্যবাদ!
alpha_989

32

আপনি যদি একটি নির্দিষ্ট বিটরেট সন্ধান না করেন তবে আমি -crfবিকল্পটি সুপারিশ করব । এটি x264এনকোডিংয়ের জন্য সবচেয়ে বেশি ব্যবহৃত হয় : http://slhck.info/articles/crf

সংক্ষেপে: ২৩ জনের একটি সিআরএফ "ডিভিডি" মানের সিনেমা তৈরি করবে (~ 700MB-1 গিগাবাইট) এবং নিম্ন সিআরএফ মানগুলি উচ্চ মানের (বড় ফাইল) হবে।


3
কোনও বাহ্যিক ওয়েবসাইটের সাথে লিঙ্ক না করে পুরো কমান্ডের উদাহরণ দিন (যা কোনও দিন ভেঙে যেতে পারে :)
জ্যাক বার্গার

1
@ ভিকি চিজওয়ানি উপরের উদাহরণে কোড সরবরাহ করে। এটি একটি মন্তব্যে আরও ভাল উপযুক্ত তবে এটি এই সাইটে আমার প্রথম ক্রিয়াকলাপ ছিল। লিঙ্কটিতে crf বিকল্পের আরও ব্যাখ্যা রয়েছে তবে কোডটি কাজ করার জন্য প্রয়োজনীয় নয়।
টম কেলি

27

আপনি একটি মোবাইল ডিভাইসে আরও ভিডিও ফিট করার জন্য ফাইলাইজ হ্রাস করার ইচ্ছার কথা উল্লেখ করেছেন, এটি আমার ব্যবহারের যত্নও। এখানে সমস্ত উত্তরগুলি সংক্ষেপণের মান হ্রাস করার জন্য তবে ভিডিও ফ্রেমের আকার হ্রাস করার কথা কেউ উল্লেখ করেনি। এটি আমার অভিজ্ঞতাতে পুনরায় চাপ দেওয়ার চেয়ে প্রায় 3 থেকে 5 গুণ দ্রুততর It's আরও তথ্যের জন্য স্কেলিং এ ffmpeg ডক্স দেখুন ।

ffmpeg -i input.mkv -vf "scale=iw/2:ih/2" half_the_frame_size.mkv
ffmpeg -i input.mkv -vf "scale=iw/3:ih/3" a_third_the_frame_size.mkv
ffmpeg -i input.mkv -vf "scale=iw/4:ih/4" a_fourth_the_frame_size.mkv

20

আমি এই প্রশ্নের অন্যান্য প্রস্তাবিত উত্তরগুলির বেশিরভাগটি পরীক্ষা করেছি। পরীক্ষার ডেটা উপসংহারগুলি নীচে রয়েছে। এগুলি প্রস্তাবিত উত্তর যা আমি পরীক্ষা করেছি:

(বিআর) ব্যবহার করে বিটরেট সংশোধন করুন:

ffmpeg -i $infile -b $bitrate $newoutfile 

(সিআর) ব্যবহার করে কনস্ট্যান্ট রেট ফ্যাক্টরটিকে পৃথক করুন:

ffmpeg -i $infile -vcodec libx264 -crf 23 $outfile

(এসজেড) ব্যবহার করে ভিডিও স্ক্রিন-আকার (উদাহরণস্বরূপ এর পিক্সেলের অর্ধেক)

ffmpeg -i $infile -vf "scale=iw/2:ih/2" $outfile

(বিএল) H.264 প্রোফাইলটিকে "বেসলাইন" এ পরিবর্তন করুন:

ffmpeg -i $infile -profile:v baseline $outfile

(ডিএফ) ডিফল্ট ffmpeg প্রসেসিং ব্যবহার করুন:

ffmpeg -i $infile $outfile

ডেটা

  • "আকার" - মূলটির সাথে সম্পর্কিত রূপান্তরিত ভিডিওর শতাংশ পিক্সেল আকার।
  • "বিটরেট" - আসল এবং রূপান্তরিত ভিডিওগুলির বিট্রেট।
  • "সংজ্ঞা" - পিক্সেল আকারের ভিডিও।
  • "রূপান্তর" - সেকেন্ডে ভিডিও রূপান্তর করার সময়।

প্রস্তাবিত পদ্ধতিটি ব্যবহার করে (বিএল) জন্য লক্ষ্য বিটরেট গণনা করেছি।

=== ফাইল এ - নোড কীভাবে কৌণিক- Fnbixa7Ts6M.mkv চালিত করতে সহায়তা করছে ===

            original    BR         CR         SZ         BL         DF
            --------    ---        --         --         --         --
size        64152 kb    214%       76%        40%        83%        76%
bitrate     411 kb/s    883        313        165        342        313
definition  1920x1080   1920x1080  1920x1080  960x540    1920x1080  1920x1080
convert     --          648        509        225        427        510

=== ফাইল বি - কৌনিক _ সহ গ্রাফকিউএল ব্যবহার করে _ লি - কস্টেলো-ওজিওয়াইফেক্স্যাক্ট 5INw.mkv ===

            original    BR         CR         SZ         BL         DF
            --------    ---        --         --         --         --
size        410301 kb   33%        109%       28%        143%       109%
bitrate     2687 kb/s   880        2920       764        3843       2920
definition  3840x2160   3840x2160  3840x2160  1920x1080  3840x2160  3840x2160   
convert     --           2307       3188       1116       2646       3278

উপসংহার

  • (এসজেড) পদ্ধতিটি অবশ্যই দ্রুততম পদ্ধতি। এটি 2X থেকে 4X দ্রুত ছিল। এটি হাই-ডাইফ ভিডিওগুলিতে খুব বেশি সমস্যা হতে পারে, যেহেতু অন্যান্য সমস্ত পদ্ধতির ভিডিওর আসল দৈর্ঘ্যের তুলনায় রূপান্তর করতে বেশি সময় লেগেছে! উদাহরণস্বরূপ, 21 মিনিটের ভিডিও রূপান্তর করতে (সিআর) পদ্ধতিটি 53 মিনিট সময় নিয়েছিল।

  • (এসজেড) পদ্ধতিটি অবশ্যই ভিডিওর সংজ্ঞাটি প্রদর্শিত হবে এমন স্ক্রিনের সংজ্ঞার চেয়ে বড় হলে সবচেয়ে ভাল পদ্ধতি। উদাহরণস্বরূপ, যদি আপনার ফোনটি কেবল একটি 1080p চিত্র প্রদর্শন করতে পারে তবে এটিকে 3840x2160 ভিডিও প্রেরণ করা কেবল অপচয় নয়। এটির আকারটি 1080p থেকে অর্ধেক হওয়া ভাল।

  • প্রস্তাবিত কিছু উত্তর আসলে কিছু ভিডিওর আকার বাড়িয়ে তোলে। উদাহরণস্বরূপ, (বিআর) পদ্ধতিটি 1080 পি নমুনার দ্বিগুণের চেয়ে বেশি। এটি 2160p আকারের এক তৃতীয়াংশ করে। উচ্চ-ডিফ নমুনার জন্য, (সিআর), (বিএল) এবং (ডিএফ) পদ্ধতিগুলি সমস্ত ভিডিওর আকারকে বাড়িয়েছে।

সঠিক (বা সেরা) উত্তর

আপনার টার্গেট ডিসপ্লে দ্বারা সমর্থিত সর্বাধিকের চেয়ে কম রেজোলিউশনটি সর্বদা সবচেয়ে ভাল।

আপনি যদি ফাইলের আকার আরও কমাতে চান তবে এটি ব্যক্তিগত পছন্দগুলির উপর নির্ভর করবে। আপনি হয় তথ্য সামগ্রী হ্রাস করতে পারেন বা সংক্ষেপণ বৃদ্ধি করতে পারেন।

  • আপনি যদি রেজোলিউশনটি কমিয়ে দিতে পারেন তবে তা যদি আপনার উদ্বেগের বিষয় না হয়।

  • ভিডিওটিতে দ্রুত অ্যাকশন দৃশ্যের অন্তর্ভুক্ত না হলে আপনি ফ্রেম রেট কমিয়ে দিতে চাইতে পারেন।

  • আপনার যদি শক্তিশালী প্রসেসর থাকে এবং স্থানটি কেবলমাত্র সমস্যা হয় তবে আপনি সংক্ষেপণের হার বাড়িয়ে তুলতে পারেন।

  • বিট রেট একাধিক কারণের সংমিশ্রণ। সুতরাং কেবল ffmpeg বলার জন্য বিট রেট কমিয়ে দিতে আপনাকে চাইলে ফলাফল দিতে পারে না।

  • নিম্ন তথ্যের সামগ্রীর আরেকটি উপায় হ'ল রঙ গভীরতা হ'ল। কীভাবে এটি করবেন তা নিয়ে এখনও আলোচনা হয়নি।


12

মনে রাখবেন যে বিকল্পগুলি ছাড়াই দৌড়ে গেলে ffmpeg ইতিমধ্যে কিছু অপ্টিমাইজেশন সম্পাদিত হয়েছে, সুতরাং আপনি যে সেটিংসটি বোঝেন না সেগুলি ব্যবহার করার চেষ্টা করার আগে বা স্পষ্টভাবে তথ্য হারাতে সিদ্ধান্ত নেওয়ার আগে একটি ডিফল্ট রূপান্তর করার চেষ্টা করুন:

ffmpeg -i input.mp4 output.mp4

আমার ক্ষেত্রে এটি ভিডিও এবং অডিও উভয়ের বিট্রেটকে হ্রাস করেছে (আপনি ইনপুট এবং আউটপুট ফাইলগুলিতে এটি চালিয়ে চেক করতে এবং তুলনা করতে পারেন ffprobe), 700০০ এমবি ভিডিওটিকে M০ এমবি হিসাবে আপাতদৃষ্টিতে একই মানের হিসাবে রূপান্তরিত করতে পারেন।


1
এটি দিয়ে 4 জিবি থেকে 2 জিবিতে গিয়েছিল, ধন্যবাদ !!
স্যাম হোসেইনি

1
(10Mo থেকে 1.2Mb চাই, ffmpeg স্বয়ংক্রিয় আমার ভিডিও যা ছিল রূপান্তরিত তত্সহ VP8 করার VP9 )
sodimel

এটি আমার ভিডিওর আকার 10.8MB থেকে 14MB
pjtnt11

3

আমার পুরানো ক্যামেরাটি তৈরি করা মোশন জেপিইজি ভিডিওগুলি (এগুলি খুব বড় ভিডিও, যেহেতু প্রতিটি ফ্রেম একটি সম্পূর্ণ জেপিজি ইমেজ, তাই) H264 এ রূপান্তর করার জন্য আমার কাছে প্রথমে আমার জন্য একটি রেসিপি তৈরি করা হয়েছে। অন্যান্য ধরণের ভিডিও (কোর্স ইত্যাদি) এর জন্য এখানে একটি অভিযোজন রয়েছে।

আমি ffmpeg ব্যবহার করছি না , কিন্তু এমপ্লেয়ার এবং মেনকোডার । প্রথমত, আমাদের এমপিপ্লেয়ার সহ অডিওটি ডিমাক্স করতে হবে:

mplayer -vo null -ao pcm:fast:file=<audio_pcm.wav> <video>
  • -vo nullএবং -ao nullপরামিতি mplayer বলে ভিডিও নিষ্কর্ষ না।

পরবর্তী পদক্ষেপগুলিতে, আমরা মেনকোডার দিয়ে একটি 3-পাস সংক্ষেপণ করব। প্রথম পাসে আমরা একটি প্রারম্ভিক পয়েন্ট হিসাবে উপযুক্ত কনস্ট্যান্ট কোয়ালিটি মোড সংক্ষেপণ ( ক্রফ প্যারামিটার) বেছে নেব :

mencoder <video> -ovc x264 \ 
         -x264encopts ratetol=100:preset=veryslow:crf=<value>:pass=1 \
         -nosound -o video1.h264
  • আপনি যদি ভিডিওর চূড়ান্ত মানের সাথে আপত্তিজনক হন তবে আপনি -x264encopts এ স্লো_ফার্সপাস প্যারামিটার যুক্ত করতে পারেন। মেনকোডার ম্যানুয়াল বলছে যে এই বিকল্পটি এমন কিছু পরামিতি অক্ষম করে যা "চূড়ান্ত পাসের গুণমানের উপর সামান্য বা কোনও প্রভাব ফেলতে গিয়ে এনকোডিং গতিতে উল্লেখযোগ্যভাবে উন্নতি করে"। সুতরাং, এটি কেবলমাত্র শেষ ধাপে ব্যবহার করুন।

  • আপনার ক্রাফের জন্য বেশ কয়েকটি মান চেষ্টা করা উচিত - 25 থেকে শুরু করে চেষ্টা করুন ফলাফল না হওয়া পর্যন্ত উচ্চতর মান আরও সংকোচিত করা অবধি আপনি এটি বাড়িয়ে চলেছেন। মনে রাখুন পরবর্তী এনকোডিং পাস মানের তোমার জন্য choosed আছে উন্নতি হবে crf

  • জন্য বিকল্প veryslow প্রিসেট হয় ধীর , ধীর , মাঝারি ইত্যাদি সম্পূর্ণ তালিকার জন্য mencoder ম্যানুয়াল দেখুন।

  • রেটটল বিটরেট প্রকরণকে নিয়ন্ত্রণ করে - আমি নিশ্চিত যে আমি এখানে সঠিক জিনিসটি করছি কিনা তা নিশ্চিত নই, তবে প্রতিটি দৃশ্যের জন্য সঠিক বিটরেট বেছে নিতে মেনকোডারকে সম্পূর্ণ স্বাধীনতা দিতে যাতে আমি এটি সর্বাধিক মানতে সেট করেছিলাম।

প্রথম পাসের পরে, আপনি লক্ষ করবেন যে শেষ লাইনটি আপনাকে পরবর্তী পদক্ষেপগুলিতে ব্যবহার করবে এমন গড় বিটরেট দেয়:

(...)
x264 [info]: kb/s:526.43

ক্রস প্যারামিটারটি পরিবর্তন করুন , প্রথম পাসে প্রস্তাবিত, বিটরেট করার জন্য , পরবর্তী পাসগুলিতে প্রয়োজনীয়:

mencoder <video> -ovc x264 \
       -x264encopts slow_firstpass:ratetol=100:preset=veryslow:bitrate=526:pass=3 \
       -nosound -o video2.h264

এই দ্বিতীয় পাস এনকোডিংটি প্রথম পাস ( divx2pass.logএবং divx2pass.log.mbtree) সংক্ষিপ্তকরণটি অনুকূলিত করতে উত্পন্ন পরিসংখ্যানগুলি পড়বে ।

  • নোট আপনি একই ভিডিও ইনপুট ব্যবহার করবেন, প্রথম পাস দ্বারা উত্পাদিত নয় - প্রথম পাস 'আউটপুট ভিডিও কেবল প্রাথমিক গুণ পরীক্ষা করতে দরকারী।

  • এটিও নোট করুন যে pass=3( নয় pass=2 ) একটি নতুন পরিসংখ্যান ফাইল তৈরি করবে, যাতে আপনি যতবার চান শেষ ধাপটি পুনরাবৃত্তি করতে পারেন। আমি সাধারণত pass=3দুইবার করি, ফলাফল বিটরেটের দিকে সর্বদা মনোযোগ দিই।

এদিকে, আপনি অডিওটিও সংক্ষেপিত করতে পারেন, ব্যবহার করে lameবা oggenc:

oggenc -q<n> <audio_pcm.wav>

অবশেষে, আমরা অডিও এবং ভিডিও রিম্যাক করব

mencoder -audiofile <audio>.ogg video2.h264 -oac copy -ovc copy \
         -of lavf -lavfopts format=mp4 -o <video>.mp4
  • -of lavf -lavfopts format=mp4উত্পন্ন mp4lavopts muxers ব্যবহার ফাইল ফরম্যাট।

3

আমি 505MB থেকে 183MB পর্যন্ত 40 মিনিটের এইচডি ভিডিও উপস্থাপনাটি সংকুচিত করেছি
যা 100 এমবি → 36 এমবি থেকে যাওয়ার মতো।
আসল ভিডিওটি এইচডি এবং আউটপুট প্রায় শূন্য লক্ষণীয় পার্থক্য ছিল।
এটি একটি ভিডিও ফাইল "আমি প্রায় রাখতে চাই, তবে এইচডি ওভারকিল।"
কারণগুলি সহ আমি যে আদেশটি ব্যবহার করেছি তা এখানে:

ffmpeg -n -loglevel error -i inputfile.mp4 -vcodec libx264 -crf 28 -preset faster -tune film outputfilename.mp4

  • -n: আউটপুট ফাইলগুলি ওভাররাইটিং এড়ানো (ব্যাচিংয়ের পরে পরীক্ষার জন্য নিরাপদ)
  • -loglevel error : ত্রুটিগুলি দেখান এবং অগ্রগতির সারি এবং সারিগুলি গোপন করে
  • -i inputfile.mp4 : ইনপুট ফাইলের নাম
  • -vcodec libx264: উপরের উপরের উত্তর থেকে সোয়াইপ করা
  • -crf 28: সামান্য লক্ষণীয় পার্থক্যের সাথে একক-পাস সংক্ষেপণ ( "0 = ক্ষতিহীন, 23 = ডিফল্ট, 51 = সবচেয়ে খারাপ; বিষয়গতভাবে বুদ্ধিমান পরিসীমা 17– 28 " ) রেফ ডকস
  • -preset faster: 'মিডিয়াম' রেফ ডক্সের ডিফল্ট এনকোডিং সময়ের চেয়ে 2x দ্রুত দেখায়
  • -tune film: নির্দিষ্ট ইনপুটটি একটি এইচকিউ ভিডিও (অন্যান্য বিকল্পগুলির মধ্যে রয়েছে 'কার্টুন', 'স্টিলিমেজ' ..) রেফ ডকস
  • outputfilename.mp4 : আউটপুট ফাইলের নাম

ভিডিও ফাইলগুলির ডিরেক্টরিতে:

for i in *.{avi,flv,m4v,mov,wmv,mp4,MP4,TS,mkv}; do ffmpeg -n -loglevel error -i "$i" -vcodec libx264 -crf 28 -preset faster -tune film "cc${i}"; done

সমস্যা:

  • কমান্ডটিতে সমস্ত এক্সটেনশন না রেখে "সমস্ত ভিডিও ফাইল" সংগ্রহের পরিষ্কার উপায়
  • "সিসি" উপসর্গ ব্যতীত ফাইলের নাম আউটপুট দেওয়ার একটি ক্লিনার উপায় এবং মুছে ফেলার আগে ভিডিওর নিশ্চয়তা দিতে সক্ষম
  • .webmফাইলগুলি কমান্ড দিয়ে কাজ করে না। অদলবদল করতে হবে "cc${i}""${i%.*}.mp4"

হ্যান্ডব্রেক একটি ইউআই সহ একটি ওপেন-সোর্স বিকল্প


এটা কাজ করে। তবে এটি খুব বেশি সময় নেয়। কম কার্যকর করার
সময়টির

2

গুণমানকে খুব কম না কমাতে, একটি নির্ধারিত ফাইল আকারের (বিটরেট) মধ্যে একটি ভিডিও "ফিট" করতে আপনাকে 2-পাস এনকোডিং ব্যবহার করতে হবে। এটি বেশ বিশদ বিষয়: http://web.archive.org/web/20171130050515/http://www.mpabo.com/2014/12/14/ffmpeg-and-x264-encoding-guide/


1

আমি ভিডিওর আকার হ্রাস করতে এবং স্বয়ংক্রিয়ভাবে বিভিন্ন ক্রাফের মান চেষ্টা করার জন্য একটি বাশ স্ক্রিপ্ট লিখেছিলাম।

মূলত আপনি হবে

  • ক্রাফ মানগুলির একটি ব্যাপ্তি চয়ন করুন
  • স্ক্রিপ্ট চালান
  • উত্পন্ন ভিডিওর আকারটি পরীক্ষা করে দেখুন এবং আপনার পছন্দসই একটি চয়ন করুন

আপনি যখন আয়তনের সীমাবদ্ধতা অর্জন করতে চান তখন এটি সত্যই কার্যকর এবং আপনি জানেন না যে crf মানটি এটি করার অনুমতি দেবে।

আমি আশা করি এটি কারও সাহায্য করবে। আমি আমার সহকর্মীদের সাথে ভাগ করেছি এবং সবাই এটি সহায়ক বলে মনে করেছেন।

#!/bin/bash

# bigger values of crf will lead to a bigger compression (smaller video size)
#for i in 1 2 3 4 5
for i in {25..28}
do
# you can remove the option -y if you want to be asked if to overwrite a file with the same name (leave the -y only if you understand what you are doing, otherwise you might rewrite an important file)
   ffmpeg -y -i NAMEOFTHEVIDEOTOCOMPRESS.mp4 -c:v libx264 -crf $i -preset veryfast -profile:v baseline -level 3.0 -strict -2 out_$i.mp4
   printf "\n>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>Done compression at crf=$i \n\n"
done
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.