চিট শিট এবং প্রিসেটস-সেটিংস যা এফএফপিপেইগ 1.0 এর সাথে আসলে কাজ করে?


28

বেশ কয়েকটি 'চিট শীট' অন্যত্র উপলব্ধ করার চেষ্টা করেছেন তবে সেগুলি প্রায় পুরানো হয়ে গেছে এবং এফএফএমপেগের সর্বশেষতম সংস্করণে কাজ করবে না।

কেউ কি আমাকে সেটিংগুলিতে নির্দেশ করতে পারেন যা সর্বশেষতম FFMpeg এর সাথে কাজ করবে?

আমি নিম্নলিখিত কোডেকগুলিতে প্রাথমিকভাবে আগ্রহী

H.264, নিম্ন মাঝারি এবং উচ্চ মানের প্রিসেট ts

পাশাপাশি

প্রোআর, কম মাঝারি এবং উচ্চ মানের প্রিসেট

উত্তর:


49

FFmpeg libx264 এর জন্য টেক্সট ফাইল ভিত্তিক প্রিসেটগুলি এবং প্রোফাইলগুলি আর অন্তর্ভুক্ত করে না, অর্থাত আপনি -vpreবিকল্পটি কী ব্যবহার করেছেন । এই মূল্যমান হ্রাস করা হয়েছে এবং সরানো প্রকৃত x264 প্রিসেট, প্রোফাইল (এবং সুর) সঙ্গে অ্যাক্সেস পক্ষে -preset, -profile:vএবং -tuneঅপশন। পুরানো পাঠ্য ফাইলগুলি কেবল অফিশিয়াল x264 প্রিসেট এবং প্রোফাইলগুলি অনুকরণ করেছে এবং বেশ কয়েকটি সীমাবদ্ধতার কারণে নতুন সিস্টেমটি সরবরাহ করে এমন সম্পূর্ণ কার্যকারিতা সরবরাহ করতে পারেনি। এটি বজায় রাখাও অনেক সহজ।

অতিরিক্তভাবে, অনেক এনকোডারদের নিজস্ব পৃথক বিকল্প রয়েছে; এটিকে "ব্যক্তিগত বিকল্পগুলি" বলা হয়। আপনাকে এফএফম্পেগ অনলাইন ডকুমেন্টেশনে সাধারণ কোডেকগুলির জন্য অডিও এবং ভিডিও এনকোডার বিকল্পগুলি সন্ধান করতে হবে , বা ffmpeg -h fullসমর্থিত বিকল্পগুলির সম্পূর্ণ তালিকার জন্য আউটপুট পরীক্ষা করতে হবে । উদাহরণস্বরূপ, x264 libx264 AVOptionsসম্পূর্ণ সহায়তা আউটপুটে তার বিকল্পগুলি তালিকাভুক্ত করে ।

যদি আপনার ffmpeg সমর্থন করে -presetতবে কোনও পাঠ্য ফাইলের প্রিসেটগুলি ব্যবহার করা উচিত নয় এবং FFmpeg আর কিছু অ-মানক আইপড প্রিসেট ছাড়া আর কারও সাথে আসে না। এটি একটি সাধারণ ভ্রান্ত ধারণা যে পাঠ্য প্রিসেটগুলি কেবল যে কোনও জায়গা থেকে অনুলিপি করা যায় এবং যে কোনও এফএফএমপিইগের সাথে ব্যবহার করা যেতে পারে। এটি অসত্য এবং ফলস্বরূপ হবে।


মূলত, প্রিসেটগুলি আপনাকে নিম্নলিখিত জিনিসগুলি করার অনুমতি দেয়:

মান নিয়ন্ত্রণ করুন

-b:v(ভিডিওর জন্য) বা -b:a(অডিওর জন্য ) বিটরেট নির্দিষ্ট করে বা কোডেক সমর্থন করতে পারে এমন অন্য কোনও এনকোডিং পদ্ধতি নির্দিষ্ট করে গুণকে নিয়ন্ত্রণ করা হয় ।

এক্স 264৪ এর জন্য বিভিন্ন এনকোডিং পদ্ধতি রয়েছে, কনস্ট্যান্ট রেট ফ্যাক্টর পদ্ধতিটি সর্বাধিক পরিশীলিত। এটি ভেরিয়েবল বিটরেটের ফলস্বরূপ, তবে একক পাসে সামগ্রিক ভাল মানের। সিআরএফ মানগুলি 0 থেকে 51 এর মধ্যে থাকে তবে আপনার উত্স এবং আপনি কী মানের চান তার উপর নির্ভর করে বুদ্ধিমান মানগুলি 19 থেকে 26 এর মধ্যে। 23 ডিফল্ট, সুতরাং আপনি উদাহরণস্বরূপ "উচ্চ মানের" জন্য 18 এবং "নিম্নমানের" জন্য 28 বেছে নিতে পারেন, যা আপনার পক্ষে তা বোঝায়।

ffmpeg -i input.mp4 -c:v libx264 -crf 23 output.mp4

x264 এর পাশাপাশি অন্যান্য এনকোডিং পদ্ধতি রয়েছে তবে এটি এখানে সুযোগের বাইরে।

H.264 প্রোফাইল সীমাবদ্ধ করুন

এই প্রোফাইলগুলি একটি বৈশিষ্ট্য নির্ধারণ করে যা এনকোডার একটি নির্দিষ্ট ডিকোডারের ক্ষমতার সাথে মেলে দিতে পারে set সাম্প্রতিক এফএফম্পেগে, প্রোফাইল নির্দিষ্ট করতে নিম্নলিখিত সিনট্যাক্সটি ব্যবহার করুন, যেখানে প্রোফাইলটি হতে পারে baseline, mainবা high:

ffmpeg -i input.mp4 -c:v libx264 -profile:v baseline output.mp4

আরও তথ্যের জন্য এবং কখন আপনার কোন প্রোফাইলটি ব্যবহার করা উচিত তা দেখুন: এইচ .264 প্রোফাইলের মধ্যে পার্থক্য কী?

একটি x264 এনকোডিং চয়ন করুন preset

এই প্রিসেটগুলি এনকোডিং গতিকে প্রভাবিত করে। একটি ধীর প্রিসেট ব্যবহার করা আপনাকে আরও ভাল সংক্ষেপণ দেয় বা ফাইলসাইজ প্রতি গুণমান দেয়, তবে দ্রুত প্রিসেটগুলি আপনাকে আরও খারাপ সংকোচন দেয়। সাধারণভাবে, আপনি অপেক্ষা করতে পারবেন এমন প্রিসেটটি কেবল ব্যবহার করা উচিত। প্রিসেটের হতে পারে ultrafast, superfast, veryfast, faster, fast, medium(ডিফল্ট), slowএবং veryslow। এখানে একটি উদাহরণ:

ffmpeg -i input.mp4 -c:v libx264 -preset slow output.mp4

লসলেস ভিডিও এনকোড করুন

0 এর সিআরএফ নির্দিষ্ট করে এটি সম্ভব, তাই কেবল ব্যবহার করুন -crf 0:

ffmpeg -i input.mp4 -c:v libx264 -crf 0 output.mp4

পরিশেষে, আসুন দ্রুত প্রো প্রসঙ্গে আলোচনা করব। প্রোআরগুলি হয় একটি নির্দিষ্ট বিটরেট সহ গ্রহণ করে -b:v, বা আপনি প্রোফাইলটি নির্দিষ্ট করতে পারেন, যা 0 এবং 3 এর মধ্যে একটি মান হওয়া উচিত , যেখানে বিট হারগুলি প্রোফাইল অনুসারে বেছে নেওয়া হয়। উচ্চতর মানে ভাল:

ffmpeg -i input.mp4 -c:v prores -profile:v 0 output.mov

Ffmbc উইকি দাড়ায় যে প্রোফাইলের নাম ব্যবহার করা যেতে পারে - এই তবে FFmpeg 1.0 মধ্যে ব্যর্থ।


রূপান্তর ব্যর্থতার সম্ভাবনা কমাতে আমার কী করা উচিত, এটি এলোমেলোভাবে ঘটে চলেছে, কখনও কখনও এটি ঘটে না
ফ্লাইংআটম

@ ফ্লাইংআটম আমি এখনও "রূপান্তর ব্যর্থ" এর কথা শুনিনি। যদি আপনার
পুনঃ

আপনি সরবরাহকৃত সমস্ত যদি থাকে তবে আপনি কার্যকরভাবে কী শেষ করবেন ffmpeg -i input.mp4 -c:v libx264 output.mp4? crf: 23 এবং প্রিসেট: মাঝারি?
ড্রাজেন বিজোলোভুক

1
@ ড্রাজেন হ্যাঁ, এটা ঠিক।
16:55 এ স্ল্যাক করুন

চিয়ার্স! -------
ড্রাজেন বিজলোভুক

20

আমি একটি পরীক্ষা করেছি যাতে আমি .mp4সিআরএফ মানগুলির (18, 21, 24, এবং 27) পরিসীমাতে প্রিসেট মানগুলির পুরো পরিসীমা (প্লেসবো ছাড়া) ব্যবহার করে একটি সনি ক্যামকর্ডার থেকে একটি উচ্চ মানের ভিডিও ট্রান্স-কোডড করেছি (এতে libx264 এনকোডিং ব্যবহার করে ) trans )। আমি জানতে চেয়েছিলাম কী আমাকে এনকোডিং গতি, আউটপুট গুণমান এবং ফাইল আকারের সেরা সমন্বয় দেয়।

প্রতিটি সিআরএফ মানের জন্য, আমি প্রতিটি ট্রান্স-কোড অপারেশনকে তার এনকোড সময়ের জন্য একটি স্কোর দিয়েছি (যেমন, সিআরএফ = 18 এর জন্য, প্রিসেট মান আলট্রাফাস্টের ৫.7 সেকেন্ডের সময়কালে একটি স্কোর পেয়েছে, 162 সেকেন্ডের স্টোরস্লো'র সাথে একটি 0 পেয়েছে, সব মিলিয়ে এর মধ্যে অন্যান্য স্কোর স্কেল করা)। আমি আউটপুট ফাইলের আকারের স্কোরগুলি একইভাবে গণনা করেছি, অবশ্যই ক্ষুদ্রতম ফাইলকে সেরা স্কোর দিচ্ছি। আমি তখন "সংযুক্ত" গতি / আকারের স্কোরের জন্য দুটি স্কোর যুক্ত করেছি।

চারটি সিআরএফের মানগুলির জন্য, "অতিশয়তম" প্রিসেটটি হ্যান্ড-ডাউন বিজয়ী ছিল, যার প্রায় নিখুঁত স্কোর ছিল 1.94 (সিআরএফ 18 এবং 21 এর জন্য), 1.96 (সিআরএফ 24) এবং 1.97 (সিআরএফ 27)। আমি এটি খুব কৌতূহলী বলে মনে করি যে "অতিফরাস্ট" প্রতিবারের চেয়ে ক্ষুদ্রতম ফাইলের আকার তৈরি করে কেবল "খুব সরো" এর কাছে হারাতে থাকে এবং কখনই খুব বেশি কিছু করে না।

বিভিন্ন প্রিসেট মানগুলির মধ্যে আমি একটি পার্থক্য লক্ষ্য করেছি যে অপারেটিং সিস্টেম (উইন্ডোজ)) আমাকে বিভিন্ন থাম্বনেইল দেবে। দ্রুত প্রিসেটগুলি ভিডিওতে কয়েক সেকেন্ডের একটি থাম্বনেইল প্রদর্শন করবে, যেখানে ধীর প্রিসেটগুলির থাম্বনেইলগুলি ভিডিওটির প্রারম্ভিক ফ্রেম (গুলি) প্রতিফলিত করবে। এটা আমার পক্ষে গুরুত্বপূর্ণ নয়; আমি যা শিখেছি তা হ'ল "-প্রিফেট অতিস্টাস্ট" একটি সহজ পছন্দ বলে মনে হচ্ছে।

এখানে আমার ফলাফলগুলি (এক্সেল স্প্রেডশিটের একটি স্ন্যাপশট চিত্র হিসাবে):
এক্সেল স্ন্যাপশট

এখানে সিএসভি পাঠ্য হিসাবে এক্সেল স্প্রেডশিটটি রয়েছে:

CRF,Preset,Seconds,score,MB,score,totalscore
18,1_ultrafast,5.7,1.00,59.5,0.09,1.09
18,2_superfast,8.4,0.98,62.3,0.00,0.98
18,3_veryfast,10.8,0.97,30.9,0.98,1.94
18,4_faster,16.0,0.93,33.5,0.89,1.83
18,5_fast,24.0,0.88,36.8,0.79,1.68
18,6_medium,29.1,0.85,34.9,0.85,1.70
18,7_slow,48.1,0.73,33.9,0.88,1.61
18,8_slower,84.9,0.49,33.0,0.91,1.40
18,9_veryslow,162.0,0.00,30.1,1.00,1.00
21,1_ultrafast,5.7,1.00,38.0,0.00,1.00
21,2_superfast,7.9,0.98,35.0,0.15,1.14
21,3_veryfast,10.0,0.97,19.0,0.97,1.94
21,4_faster,14.2,0.94,21.0,0.87,1.80
21,5_fast,19.9,0.89,23.0,0.77,1.66
21,6_medium,24.6,0.86,22.0,0.82,1.67
21,7_slow,43.1,0.72,21.0,0.87,1.58
21,8_slower,69.8,0.51,20.5,0.89,1.41
21,9_veryslow,137.3,0.00,18.4,1.00,1.00
24,1_ultrafast,5.5,1.00,24.9,0.00,1.00
24,2_superfast,7.5,0.98,21.4,0.27,1.25
24,3_veryfast,9.3,0.97,12.0,0.99,1.96
24,4_faster,13.2,0.93,14.0,0.84,1.77
24,5_fast,17.4,0.90,15.0,0.76,1.66
24,6_medium,21.0,0.87,14.4,0.81,1.67
24,7_slow,37.3,0.72,14.0,0.84,1.56
24,8_slower,62.2,0.51,13.0,0.92,1.42
24,9_veryslow,121.1,0.00,11.9,1.00,1.00
27,1_ultrafast,5.5,1.00,16.8,0.00,1.00
27,2_superfast,7.4,0.98,13.6,0.38,1.36
27,3_veryfast,9.0,0.97,8.4,1.00,1.97
27,4_faster,12.6,0.93,10.1,0.80,1.73
27,5_fast,15.8,0.90,10.4,0.76,1.66
27,6_medium,18.8,0.87,10.0,0.81,1.68
27,7_slow,34.1,0.73,9.8,0.83,1.56
27,8_slower,59.6,0.48,9.0,0.93,1.41
27,9_veryslow,109.7,0.00,8.4,1.00,1.00

3
আমি জানি সুপার ব্যবহারকারীর ফর্ম্যাট করার বিকল্পগুলি মাঝারি মানের, তবে আপনি যদি সহায়ক হিসাবে কোড ফর্ম্যাটিং ব্যবহার করে ডেটাটি পাঠ্য হিসাবে পোস্ট করেন তবে এটি সহায়ক হতে পারে।
স্কট

1
আকর্ষনীয়। এটি আমার মেশিনেও দ্রুত। ধন্যবাদ!
জোয়েটউইলড

1
আমি অবশ্যই স্বীকার করতে পারি যে আমি আপনার ফলাফলগুলিকে সন্দেহের সাথে দেখেছিলাম, তবে আমি পরীক্ষার পুনরাবৃত্তি করেছি এবং 2 মিনিট 1080p মুভি ক্লিপে ffmpeg সংস্করণ 3.3.2-1 ব্যবহার করে অনুরূপ ফলাফল পেয়েছি। প্রকৃতপক্ষে খুব বিরল সময়টি 60% সময়ের মধ্যে ক্ষুদ্রতম ফাইলের আকার তৈরি করে এবং 40 time সময়ের বেশিরভাগ সময়ে (তবে খুব বেশি নয়) দ্বিতীয় স্থানে আসে। এখন থেকে আমি আমার সমস্ত এনকোডের সাথে মোটামুটি কম সিআরএফ মান (18, 19, 20) এর সাথে ব্যবহার করবো যেহেতু অতিমাত্রায় সিআরএফ এর চেয়ে কম নিম্ন সিআরএফ মানগুলির চেয়ে খানিকটা ধীর ছিল very ধন্যবাদ আপনি আমাকে অনেক সময় বাঁচিয়েছেন। নীচে মন্তব্যে কাঁচা ডেটা এবং স্ক্রিপ্ট।
ম্যাটসেট

1
উপরের মন্তব্য থেকে চালিয়ে যাওয়া ... এখানে আমার কাঁচা ডেটা - সিআরএফ 18 থেকে 27 এবং লিনাক্স / ইউনিক্স ব্যাশ স্ক্রিপ্ট আমি এনকোডগুলি চালনার জন্য লিখেছিলাম (যদি কেউ অনুরূপ পরীক্ষা চালাতে চান)।
ম্যাটসেট

1
এখানে বিষয়ের উপর কিছু মহান ব্লগ পোস্ট পরিচালিত পরীক্ষা সঙ্গে, হয় x264 এবং x265 (ফলাফল, হয় স্বভাবিকভাবেই এই প্রভাবের প্রত্যেকের জন্য ভিন্ন)
forresthopkinsa
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.