সংরক্ষণাগারটির জন্য স্থির চিত্রগুলিকে ভিডিওতে রূপান্তর করতে ffmpeg সেটিংস


1

আমাকে স্থির চিত্রগুলির একটি সেট (একটি রাস্তায় নির্দেশিত স্ট্যাটিক ক্যামেরা) একটি ভিডিওতে রূপান্তর করতে হবে।

আমি থিওরা, এইচ .264, ভিপি 8, ভিপি 9, এইচওভিসি, স্নো এর মতো ভিডিও কোডেক বিবেচনা করেছি।

ভিডিওটির সর্বাধিক চিত্র মানের সহ ন্যূনতম আকার হওয়া উচিত। এখন, উপলব্ধ সমস্ত কমান্ড-লাইন আর্গুমেন্ট থেকে, আমি ফ্রেমরেট (fps), b:v(বিটরেট) এবং s(প্রস্থ * উচ্চতা) ব্যবহার করছি। এছাড়াও, এইচ .264 এবং এইচভিভিসির জন্য -crfএবং রয়েছে -preset

আমি পরে যা করছি তা অর্জনের জন্য আর কোন কমান্ড-লাইন যুক্তি কার্যকর হতে পারে? Ffmpeg- এ কয়েক ডজন কমান্ড-লাইন আর্গুমেন্ট এবং প্রতিটি পার্সিং করতে দীর্ঘ সময় নিতে পারে।


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

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

আমি উত্তরে আরও কিছু জিনিস যুক্ত করেছি, আশা করি এটি সাহায্য করবে।
slhck

উত্তর:


4

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

  • লসলেস এনকোড অবশ্যই উচ্চতর ফাইলের আকারের ফলস্বরূপ আসবে তবে তারা মূল তথ্য সংরক্ষণের সুবিধা দেয়। তারপরে আপনি কোনও মানের ক্ষতি ছাড়াই ভিডিও থেকে পৃথক ফ্রেমগুলি বের করতে পারেন can এখানে, HuffYUV বা FFV1 এর মতো কোডেক ব্যবহার করা যেতে পারে। এগুলি প্রায়শই সংরক্ষণাগার উদ্দেশ্যে ব্যবহার করা হয়, যেখানে মূল উপাদান সংরক্ষণ করা দরকার এবং প্রজন্মের ক্ষতি এড়ানো উচিত। libx264(এইচ libx265.264 ), (এইচইভিসি) এবং libvpx-vp9লসলেস মোডেও ব্যবহার করা যেতে পারে:

    ffmpeg -i <input> -c:v huffyuv output.avi
    ffmpeg -i <input> -c:v ffv1 output.avi
    ffmpeg -i <input> -c:v libx264 -crf 0 output.mp4
    ffmpeg -i <input> -c:v libx265 -crf 0 output.mp4
    ffmpeg -i <input> -c:v libvpx-vp9 -lossless 1 output.webm
    
  • ভিজ্যুয়াল লসলেস এনকোডগুলি কিছু ডেটা ফেলে দেয় তবে গুণাগুণটি এমনভাবে সংরক্ষণ করে যাতে মানুষ সম্ভবত আসল এবং এনকোডযুক্ত ভিডিওর মধ্যে কোনও পার্থক্য লক্ষ্য না করে। তথাকথিত "ইন্টারমিডিয়েট" কোডেক যেমন প্রোআর ( এখানে দেখুন ) প্রায়শই এই উদ্দেশ্যে ব্যবহৃত হয়। এছাড়াও আপনি চাক্ষুষরূপে কি করতে পারেন অবচয়হীন সঙ্গে এনকোড libx265বা libx264কম যথেষ্ট CRF মান (নির্দিষ্ট করে CRF এখানে ব্যাখ্যা x264 জন্য 10 থেকে 18 মধ্যে), যেমন।

    ffmpeg -i <input> -c:v prores -profile:v 3 output.mov
    ffmpeg -i <input> -c:v libx264 -crf 10 -preset ultraslow output.mp4
    ...
    
  • লসী কোডেক, প্রচুর আছে are আপনি যদি মান ত্যাগ করতে পারেন তবে আপনি ফাইলের আকার হ্রাস করতে পারেন। ভিপি 9 এবং এইচইভিসি এইচ 264 এর চেয়ে বেশি দক্ষ যে তাদের কতটা জায়গার প্রয়োজন তা বিবেচনা করে তবে তারা এনকোড করতে আরও সময় নিতে পারে। থিওরা এবং ভিপি 8 সম্পর্কে ভুলে যান। ভিপি 9, এইচইভিসি এবং এইচ .264 (কমপক্ষে ffmpeg এ উপলব্ধ এনকোডারগুলির সাথে) দিয়ে আপনি একটি সিআরএফ প্যারামিটার সেট করতে পারেন যা আপনাকে পছন্দসই মানের দেয়। আপনার উদ্দেশ্যে ক্ষতির পরিমাণ খুব বেশি তীব্র নয় তা নিশ্চিত করার জন্য আপনার আউটপুটটি চাক্ষুষভাবে দেখতে হবে। জন্য libx264, 18 থেকে 23 এর মধ্যে সিআরএফের মানগুলি "ভাল" দেখায়।

    ffmpeg -i <input> -c:v libx264 -crf 23 -preset ultraslow output.mp4
    ffmpeg -i <input> -c:v libvpx-vp9 -crf 10 -b:v 0 output.webm
    ...
    

সাধারণত, আপনি যদি সামগ্রী সংরক্ষণাগার তৈরির লক্ষ্যে বসে থাকেন তবে আপনার কেবলমাত্র একটি লক্ষ্য বিটরেট নির্দিষ্ট করা উচিত নয়। পরিবর্তে, আপনি একটি ধ্রুবক মানের মোড ব্যবহার করতে চান , যেখানে এনকোডারটি যতটা বিট ব্যবহার করতে পারে ততক্ষণ ইমেজের গুণমান বজায় রাখতে (নির্দিষ্ট সীমার মধ্যে) প্রয়োজন। বিশেষত এইচ .২64 or বা এইচইভিসি এনকোডারগুলির সাথে libx264এবং একটি একক-পাস এনকোডের জন্য libx265ব্যবহার -b:vকরার পরামর্শ দেওয়া হয় না, কারণ এটি সময়ের সাথে সাথে বিশাল মানের বৈচিত্রের কারণ হতে পারে। (আমি এখানে বিভিন্ন রেট কন্ট্রোল মোডগুলিতে একটি নিবন্ধ লিখেছি ।) সংক্ষিপ্তসার হিসাবে, আপনি সংরক্ষণাগারটি রাখলে কেবল একটি ধ্রুবক সিআরএফ মান সন্ধান করুন।

এটি খুব গুরুত্বপূর্ণ যে আপনি ভিডিওটিকে পুনরায় আকার না দিন, যেহেতু এটি অস্পষ্টতার পরিচয় দেয় (যখন আপসক্লিং করা হয়), বা ডেটা ফেলে দেয় (যখন ডাউনস্কলিং হয়)। -s:vআপনার চিত্রগুলি ভিডিওর চেয়ে খুব বড় না হলে কেবল বিকল্পটি ছেড়ে দিন ।

শেষ পর্যন্ত, দৃষ্টিহীন ক্ষতিহীন বা ক্ষতিকারক এনকোডগুলি সম্পাদন করার সময়, আপনি সংক্ষেপণের দক্ষতার বিরুদ্ধে গতি ছাড়িয়ে বাণিজ্য করতে পারেন। অন্য কথায়, আপনি যদি আরও অপেক্ষা করেন তবে আপনি ফাইলের আকার আরও ছোট করতে পারেন। এখানে presetবিকল্পগুলি খেলতে আসে: আপনি যদি প্রিসেটটি পছন্দ করেন ultraslowতবে এনকোডিং প্রক্রিয়াটি দীর্ঘ সময় নিতে চলেছে, তবে ফলস্বরূপ ফাইল - প্রদত্ত সিআরএফ ধরে নেওয়া - ছোট হবে, যদিও এটি একই মানের রয়েছে। ভিপি 9 এর গতি নিয়ন্ত্রণ করতে বিভিন্ন বিকল্প রয়েছে, এখানে দেখুন

আরও একটি জিনিস: এর সাহায্যে libx264আপনি -tune stillimageচিত্রগুলির জন্য এনকোডকে অনুকূল করতে বিকল্পটি ব্যবহার করতে পারেন । এছাড়াও, প্রয়োজনীয় সর্বনিম্ন ফ্রেম হার চয়ন করা অবশ্যই ফাইলের আকার বাঁচাতে সহায়তা করবে।

কিছু ডকুমেন্টেশন:


হাইভ্যাসি সহ অ্যানিমেটেড জিএফ থেকে -crf 10, আমি এখনও ভাল মানের এবং মূল জিএফ আকারের 60% পেয়েছি। এটি খুব ভাল কনডেন্সড নির্দিষ্ট তথ্য, থেক্স ভিএম!
কুম্ভ শক্তি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.