কেন H264 এর তুলনায় ভিপি 8/9 এনকোডিং এত ধীর?


11

সম্প্রতি আমি ওয়েবে ওয়েব কোডেক ভিপি 8 এবং ভিপি 9 চেষ্টা করে দেখতে চেয়েছিলাম কিন্তু যখন আমি ffmpegএইচ .264 এমপি 4 ফাইলটিকে অন্য দুটি কোডেকের মধ্যে একটিতে এনকোড করতে দৌড়ে এসেছি তখন বুঝতে পেরেছি যে এনকোডিংটি (প্রস্থের প্রায় অর্ডার দিয়ে) ধীর গতির।

এইচ .264 থেকে ভিপি 9-তে 3 এমবিটি / সে-তে একটি 1080p02 ভিডিও প্রায় 6-7 এফপিএস এ এনকোড করা হচ্ছে এবং একই ভিডিওটি প্রায় 40 এফপিএসে এইচ .264 এ এনকোড করছে। আমি ভিপি 9 ফর্ম্যাটের জন্য libvpx-vp9কোডেক ব্যবহার করেছি ffmpeg। আমি ভিপি 8 এবং থিওরার জন্যও একই ফলাফল পাচ্ছি।

কেউ আমাকে ব্যাখ্যা করতে পারেন কেন ভিপি 9 এত ধীর? আমি একটি আলাদা মেশিন চেষ্টা করেছি যা হ্যান্ডব্রেক ব্যবহার করে আমাকে অনুরূপ পুনরায় স্থান দিয়েছে।


উত্তর:


11

libvpx-vp9এর চেয়ে অনেক ধীর এনকোডার libx264তবে ffmpeg (0 = স্বয়ং) থ্রেডগুলির ডিফল্ট সেটিংস libvpx এর জন্য কার্যকর নয়। এটি ম্যানুয়ালি সেট করা একটি স্পিড বাম্প দেয়। যেমন

ffmpeg -i in.mp4 -c:v libvpx-vp9 -threads 4 out.mp4

একটি 4-কোর মেশিনে যখন 1080-30p H.264 তে প্রবাহ এনকোডিং, আমি একটি আচমকা থেকে পেতে 3.8 fpsকরতে 10 fps


একটি এছাড়াও উল্লেখ করা উচিত যে বিভিন্ন গতির প্রিসেট আছে, অর্থাত্, -presetজন্য libx264এবং -speedজন্য libvpx-vp9। দেখুন ffmpeg -h full। এগুলি বেশ পার্থক্য আনতে পারে তবে এগুলি মান বা সংকোচন দক্ষতাগুলিকেও প্রভাবিত করে।

1
আমি এটি পুরানো মেশিনগুলিতে চেষ্টা করেছিলাম তবে উভয় মেশিনই কোয়াড-কোর হওয়ায় আমি 4 টি থ্রেড ব্যবহার করেছি। -speedবিকল্প আমার জন্য একটি বিশাল পার্থক্য করেন নি
comfreak

@ কমফ্রেক আরও দেখুন: developers.google.com/media/vp9/the-basics

3

ভিপি 9 একটি আরও জটিল কোডেক যা আরও ভাল সংকোচন সরবরাহ করে। ভিডিও সংক্ষেপণ / পারফরম্যান্স অনুপাত খুব দ্রুত ঘটে। আপনার ভিপি 9 প্রতিস্থাপন (এভি 1) আরও ধীর হওয়ার আশা করা উচিত।


1
সুতরাং অন্য কথায়, যদিও কোডেক "কেবল" অপেক্ষাকৃত ছোট আকারের উন্নতি সাধন করে, এটি অনেক ধীর হতে পারে? ফলাফল আমি প্রতিনিধি পেয়েছি?
comfreak

1
@ কমফ্র্যাক, মানের দিক থেকে ভিপি 9 আরও 50% বেশি দক্ষ হতে পারে। আমি এটিকে ছোট বলব না। আপনি কেবল ফলাফলের ফাইলের আকারের তুলনা করতে পারবেন না।

@ এসএলএইচএইচকি: সুতরাং আপনি বলছেন যে 3 এমবিট / এস এইচ .264 এর চেয়ে বেশি মূল তথ্য এনকোড করতে পারে এবং তাই এইচ .264 এর উত্স উপাদানের চেয়ে কম বিট রেট জিনিসগুলিকে গতি বাড়ানোর বিকল্প হতে পারে?
comfreak

1
@ কমফ্র্যাক নিম্ন বিটরেট ব্যবহার করে স্বয়ংক্রিয়ভাবে এনকোডিং প্রক্রিয়াটির গতি বৃদ্ধি পাবে না। আমি কেবল বলছি যে সংকোচনের দক্ষতা এবং গতির মধ্যে একটি বাণিজ্য রয়েছে এবং উদাহরণস্বরূপ অনেক স্ট্রিমিং সরবরাহকারীরা সিপিইউ সময়কে নিম্নতর বিটরেটে উচ্চ মানের স্ট্রিম তৈরি করতে, স্থান এবং ব্যান্ডউইথ সংরক্ষণ করতে বিনিয়োগ করবেন। আরও দক্ষ কোডেকগুলি ব্যবহার করা (যেমন ভিপি 9 বা এইচ .264 এর উপরে এইচইভিসি) এর ক্ষেত্রেও সহায়তা করে।
slhck

তবে মূলত, যদি গতি আপনার জন্য সবচেয়ে গুরুত্বপূর্ণ উপাদান, আপনি পুরানো কোডেক (যেমন, এইচ .264), কম কমপেশন-দক্ষ প্রিসেটের সাথে আটকে থাকতে হবে এবং সম্ভবত জিপিইউ-সহিত এনকোডিংতেও নজর দেওয়া উচিত, যেমন এনভিএনসি দিয়ে।
slhck
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.