আমার নিজের অভিজ্ঞতা থেকে, আপনি যদি মানের মধ্যে একেবারেই ক্ষতি না চান তবে - নির্লজ্জ আপনি যা সন্ধান করছেন।
সম্পর্কে নিশ্চিত নন avconv
তবে আপনি যে কমান্ডটি টাইপ করেছেন তা আমি কী করি তার সাথে মিল দেখায় FFmpeg
। ইন FFmpeg
আপনি ভালো প্যারামিটার পাস করতে পারেন:
ffmpeg -i INPUT.mkv -c:v libx265 -preset ultrafast -x265-params lossless=1 OUTPUT.mkv
বেশিরভাগ x265
স্যুইচ (কোনও মূল্য ছাড়াই বিকল্পগুলি) এর জন্য নির্দিষ্ট করা যেতে পারে (কেবলমাত্র এই সি এল এলই কেবলমাত্র x265
বাইনারি দ্বারা ব্যবহৃত হয় )।
উপায়টি অতিক্রম করার সাথে সাথে আমি আমার অভিজ্ঞতা x265
এনকোডিংয়ের সাথে ভাগ করতে চাই । বেশিরভাগ ভিডিওর জন্য (এটি ডাব্লুএমভি, বা এমপিইজি, বা এভিসি / এইচ .264) আমি ব্যবহার করি crf=23
। x265
বাকি পরামিতিগুলি স্থির করে এবং সাধারণত এটি যথেষ্ট ভাল কাজ করে।
তবে প্রায়শই আমি সম্পূর্ণরূপে কোনও ভিডিও ট্রান্সকোড করার প্রতিশ্রুতি দেওয়ার আগে, আমি আমার সেটিংসটিকে ভিডিওর একটি ছোট অংশকে প্রশ্নে রূপান্তরিত করে পরীক্ষা করি। উদাহরণস্বরূপ, ধরুন একটি এমকেভি ফাইল যা স্ট্রিম 0 টি ভিডিও, স্ট্রিম 1 টি ডিটিএস অডিও এবং স্ট্রিম 2 একটি উপশিরোনাম হিসাবে রয়েছে:
ffmpeg -hide_banner \
-ss 0 \
-i "INPUT.mkv" \
-attach "COVER.jpg" \
-map_metadata 0 \
-map_chapters 0 \
-metadata title="TITLE" \
-map 0:0 -metadata:s:v:0 language=eng \
-map 0:1 -metadata:s:a:0 language=eng -metadata:s:a:0 title="Surround 5.1 (DTS)" \
-map 0:2 -metadata:s:s:0 language=eng -metadata:s:s:0 title="English" \
-metadata:s:t:0 filename="Cover.jpg" -metadata:s:t:0 mimetype="image/jpeg" \
-c:v libx265 -preset ultrafast -x265-params \
crf=22:qcomp=0.8:aq-mode=1:aq_strength=1.0:qg-size=16:psy-rd=0.7:psy-rdoq=5.0:rdoq-level=1:merange=44 \
-c:a copy \
-c:s copy \
-t 120 \
"OUTPUT.HEVC.DTS.Sample.mkv"
নোট করুন যে ব্যাকস্ল্যাশ সিগন্যাল লাইনটি একটি দীর্ঘ কমান্ডে বিচ্ছিন্ন হয়ে পড়েছে, আমি একটি জটিল সিএলআই ইনপুটটির বিভিন্ন বিট ট্র্যাক রাখতে সহায়তা করার জন্য এটি করি। আমি এটি লাইন-বাই লাইন ব্যাখ্যা করার আগে, যে অংশটি আপনি একটি ভিডিওর কেবলমাত্র একটি ছোট অংশকে রূপান্তর করেন তা হ'ল দ্বিতীয় লাইন এবং দ্বিতীয় শেষ লাইন: -ss 0
মানে ইনপুট ডিকোডিং শুরু করার আগে 0 সেকেন্ডে চেষ্টা করুন এবং এর -t 120
অর্থ আউটপুটটিতে লেখা বন্ধ করুন 120 সেকেন্ড পরে। আপনি এইচএইচ: মিমি: এসএস বা এইচএইচ: মিমি: এসএসএসএস সময় বিন্যাসগুলিও ব্যবহার করতে পারেন।
এখন লাইন বাই লাইন:
-hide_banner
FFmpeg
শুরুতে বিল্ড তথ্য প্রদর্শন করা থেকে বাধা দেয় । আমি যখন কনসোলে স্ক্রোল করব তখন আমি এটি দেখতে চাই না;
-ss 0
ইনপুট ডিকোডিং শুরু করার আগে 0 সেকেন্ডে চেষ্টা করে। লক্ষ্য করুন এই প্যারামিটারটি দেওয়া হয় যদি পরে ইনপুট ফাইল এবং সামনে আউটপুট ফাইল, এটি একটি হয়ে আউটপুট বিকল্প এবং বলে ffmpeg
ডিকোড করতে ও এক্স সেকেন্ড পর্যন্ত ইনপুট উপেক্ষা করুন, এবং তারপর আউটপুট লেখা শুরু। ইনপুট বিকল্প হিসাবে এটি কম সঠিক (কারণ বেশিরভাগ ধারক বিন্যাসে সন্ধান করা সঠিক নয়), তবে প্রায় সময় লাগে না। আউটপুট বিকল্প হিসাবে এটি খুব সুনির্দিষ্ট তবে নির্দিষ্ট সময়ের আগে সমস্ত স্ট্রিমটি ডিকোড করতে যথেষ্ট পরিমাণ সময় নেয় এবং পরীক্ষার উদ্দেশ্যে আপনি সময় নষ্ট করতে চান না;
-i "INPUT.mkv"
: ইনপুট ফাইল নির্দিষ্ট করুন;
-attach "COVER.jpg"
: আউটপুটে একটি কভার আর্ট (থাম্বনেইল ছবি, পোস্টার, যাই হোক না কেন) সংযুক্ত করুন। কভার আর্ট সাধারণত ফাইল এক্সপ্লোরারগুলিতে প্রদর্শিত হয়;
-map_metadata 0
: ইনপুট 0 থেকে যে কোনও এবং সমস্ত মেটাডেটা অনুলিপি করুন, উদাহরণস্বরূপ এটি কেবল ইনপুট;
-map_chapters 0
: ইনপুট 0 থেকে অধ্যায় তথ্য (উপস্থিত থাকলে) অনুলিপি করুন;
-metadata title="TITLE"
: ভিডিওটির শিরোনাম সেট করুন;
-map 0:0 ...
: ইনপুট 0 এর মানচিত্রের স্ট্রিম 0, যার অর্থ আমরা ইনপুট থেকে প্রথম স্ট্রিমটি আউটপুটটিতে লেখা হোক। যেহেতু এই স্ট্রিমটি একটি ভিডিও স্ট্রিম, এটি আউটপুটে প্রথম ভিডিও স্ট্রিম , সুতরাং স্ট্রিম নির্দিষ্টকারী । এর ভাষার ট্যাগটি ইংরেজিতে সেট করুন;:s:v:0
-map 0:1 ...
: 8 নং লাইনের অনুরূপ, দ্বিতীয় স্ট্রিমটি (ডিটিএস অডিও) মানচিত্র করুন এবং এর ভাষা এবং শিরোনাম (প্লেয়ার থেকে চয়ন করার সময় সহজ শনাক্তকরণের জন্য) সেট করুন;
-map 0:2 ...
: 9 নং লাইনের অনুরূপ, এই স্ট্রিমটি বাদ দিয়ে একটি উপশিরোনাম;
-metadata:s:t:0 ...
: কভার আর্টের জন্য মেটাডেটা সেট করুন। এটি এমকেভি ধারক বিন্যাসের জন্য প্রয়োজনীয়;
-c:v libx265 ...
: ভিডিও কোডেক অপশন। এটি এত দীর্ঘ যে আমি এটিকে দুটি লাইনে বিভক্ত করেছি। গ্রেডিয়েন্টে নূন্যতম ব্যান্ডিং সহ (যা x265 এ সাফল্য অর্জন করে) উচ্চ মানের ব্লুয়ের ভিডিওর (1080p) জন্য এই সেটিংটি ভাল। এটি সম্ভবত ডিভিডি এবং টিভি শো এবং ফোন ভিডিওর জন্য একটি ওভারকিল। এই সেটিংটি বেশিরভাগই এই ডুম 9 পোস্ট থেকে চুরি হয়েছে ;
crf=22:...
: ভিডিও কোডেক পরামিতিগুলির ধারাবাহিকতা। উপরে উল্লিখিত ফোরাম পোস্টটি দেখুন;
-c:a copy
: অডিও মাধ্যমে অনুলিপি;
-c:s copy
: সাবটাইটেলগুলি অনুলিপি করুন;
-t 120
: 120 সেকেন্ড পরে আউটপুটটিতে লেখা বন্ধ করুন, যা আমাদের ট্র্যাঙ্কিংয়ের মানের প্রাকদর্শন করার জন্য 2-মিনিটের ক্লিপ দেয়;
"OUTPUT.HEVC.DTS.Sample.mkv"
: আউটপুট ফাইলের নাম. আমি আমার ফাইলের নামগুলি ভিডিও কোডেক এবং প্রাথমিক অডিও কোডেক দিয়ে ট্যাগ করি।
রক্ষে। এটি আমার প্রথম উত্তর তাই আমি যদি কিছু মিস করি তবে একটি মন্তব্য করুন। আমি কোনও ভিডিও প্রযোজনা বিশেষজ্ঞ নই, আমি কেবল এমন এক ব্যক্তি যিনি ডিস্কটি প্লেয়ারের মধ্যে রেখে সিনেমা দেখতে খুব অলস's
গীত। সম্ভবত এই প্রশ্নটি অন্য কোথাও সম্পর্কিত কারণ এটি ইউনিক্স এবং লিনাক্সের সাথে দৃ .়ভাবে সম্পর্কিত নয়।
--lossless
প্রকৃতপক্ষে ফাইলটি বৃহত্তর করতে পারে, যদি এটি পূর্ববর্তী ক্ষতির কোডেকটি ডিকোড করে এবং এরপরে এটি ক্ষতিহীনভাবে কীভাবে ডিকোড করে তা কী করে তা encondes করে। গুণমান ইনপুট হিসাবে ঠিক একই থাকবে।