H.264 এবং x264 এর মধ্যে পার্থক্য এবং এটি কীভাবে খেলতে হয়


23

দাবি অস্বীকার : এটি আসল প্রশ্ন নয়, বরং "আপনার জ্ঞান ভাগ করুন, প্রশ্নোত্তর ও শৈলী"

সুতরাং, আমি আমার রাস্পবেরি পাইতে এক্সবিএমসি চালাচ্ছি এবং আমি এটির সাথে আসলে কী খেলতে পারি এবং কী না তা বুঝতে আমার সমস্যা হচ্ছে।

আমি পড়লাম আরপিআই এইচ .264 এনকোডযুক্ত ভিডিওগুলি খেলতে পারে তবে আমি কেবল x264 এনকোডযুক্ত ভিডিওগুলি খুঁজে পেতে পারি । এটাও কি কাজ করবে? এবং যদি তা হয় তবে কিছু ফাইল সম্ভবত কাজ করবে না কেন ?

উত্তর:


41

H.264 (একটি বিন্দু সহ) আসলে কী তা ঘিরে অনেকগুলি ভুল বুঝাবুঝি হচ্ছে। সুতরাং, উইকিপিডিয়া থেকে উদ্ধৃতি :

H.264 / MPEG-4 পার্ট 10 বা AVC (অ্যাডভান্সড ভিডিও কোডিং) ভিডিও সংকোচনের জন্য একটি মান , এবং বর্তমানে এটি সর্বাধিক ব্যবহৃত ফর্ম্যাটগুলির মধ্যে একটি [...]

এখানে প্রসারিত করতে গুরুত্বপূর্ণ অংশ যে এটি শুধুমাত্র একটি হয় মান । এর অর্থ, ভিডিওগুলি আসলে এইচ .264 এর সাথে এনকোড হয় না, তবে এইচ .264 স্ট্যান্ডার্ডের সাথে মিলিত একটি কোডেক সহ। সর্বাধিক সাধারণগুলির মধ্যে একটি হ'ল x264 (লোয়ার কেস এক্স, কোনও বিন্দু নয়):

x264 হল এইচ .264 / এমপিইজি -4 এভিসি ফর্ম্যাটে ভিডিও স্ট্রিমগুলিকে এনকোড করার জন্য একটি নিখরচায় সফ্টওয়্যার লাইব্রেরি
[...]
x264 অন্যান্য এইচ .264 এনকোডারগুলির তুলনায় বিশাল সংখ্যক বৈশিষ্ট্য প্রয়োগ করে।

সুতরাং, এইচ .264 হ'ল এক ইন্টারফেস এবং এক্স 264 হ'ল সেই ইন্টারফেসের একটি বাস্তবায়ন (প্রকৃত কার্যকারিতা সহ)।

সুতরাং, পাই x264 এনকোডযুক্ত ফাইলগুলি ঠিক ঠিক খেলবে।


তাহলে কেন কিছু এক্স 264৪ এনকোডযুক্ত ফাইলগুলি সহজে সাবলীলভাবে না খেলে প্রতি 4-6 সেকেন্ডে (জিপিইউ-রামের পরিমাণের উপর নির্ভর করে) বন্ধ করে দেয় ?

বেশিরভাগ সময়, এটি শব্দ হয় । যেহেতু x264 এইচডি ভিডিও ফাইলগুলির জন্য একটি এনকোডার, তাই এই ফাইলগুলির বেশিরভাগই একটি ডিজিটাল উচ্চ-মানের সাউন্ড-ট্র্যাক নিয়ে আসে, যা ডিটিএস-কোডেক ব্যবহার করে ।

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

আপনার ক্ষেত্রে এটি কি না তা জানতে, আপনি mediainfoটটল (অবশ্যই ইনস্টল করা উচিত, প্যাকেজ-নামগুলি আপনার ডিস্ট্রোর উপর নির্ভর করে) ব্যবহার করতে পারেন :

[tv@raspberry]$ mediainfo some_random_movie.mkv 
# Shortened output!
Audio #2
ID                                       : 3
Format                                   : DTS
Format/Info                              : Digital Theater Systems
Codec ID                                 : A_DTS

আপনার কাছে এখন দুটি বিকল্প রয়েছে:

  1. ডিটিএস-সক্ষম রিসিভার কিনুন (সম্ভবত আপনার টিভি এটিও করতে পারে?) এবং এক্সবিএমসিতে (বা আপনি যে প্লেয়ারটি ব্যবহার করছেন) "পাস-থ্রু" (শেষ পয়েন্ট) সক্ষম করুন
  2. ডিটিএস-ট্র্যাকগুলি এসি 3 এ রূপান্তর করুন, যা (দ্রুত) বা সিপিইউ ডিকোড করা যেতে পারে।

আপনার রিসিভারটি (আপনি যে জিনিসটি আপনার HDMI- কেবলটি প্লাগ করেছেন) কী সক্ষম তা সন্ধান করতে- tvserviceটোলটি ব্যবহার করুন (যা রাস্তায় নেই, সুতরাং আপনার পুরো পথটি প্রয়োজন হবে):

[tv@raspberry ~]$ /opt/vc/bin/tvservice -a
     PCM supported: Max channels: 2, Max samplerate:  48kHz, Max samplesize 24 bits.
     AC3 supported: Max channels: 6, Max samplerate:  48kHz, Max rate  640 kb/s.

আপনি দেখতে পাচ্ছেন, আমার বর্তমান রিসিভার পিসিএম এবং এসি 3 (ডিটিএস নয়) ডিকোডিং করতে সক্ষম।

এই সমস্যার আমার সমাধান হ'ল ডিডিএস হ'ল অডিও-ট্র্যাকগুলি AC3 এ রূপান্তর করা। এখানে একটি ছোট ওয়ান-লাইনার যা সমস্ত অডিও-স্ট্রিমগুলি infile.mkvAC3 এ রূপান্তর করে এবং ভিডিওটিকে স্পর্শ করে না:

ffmpeg :

ffmpeg -i infile.mkv -map 0 -codec:v copy -codec:s copy -codec:a ac3 outfile.mkv

অ্যাভকনভ :

avconv -i infile.mkv -map 0 -vcodec copy -acodec ac3 -ab 256k outfile.mkv

দ্রষ্টব্য: উপরের কমান্ডটি ফলাফল প্রাপ্ত AC3 এনকোডড অডিও-স্ট্রিমের জন্য বিট-রেটও সেট করে(যা প্রয়োজনীয়, এটি মনে হয়)। ২৫6 কেবিপিএস যুক্তিসঙ্গতভাবে ভাল (বেশিরভাগ ডিভিডি-র ব্যবহারের জন্য 192 কেবিপিএস) ভাল, আপনি এটিতে / হ্রাস করতে চাইতে পারেন।

ভাগ্যক্রমে, এটি প্রায় 5 মিনিট সময় নেয় (অবশ্যই আপনার হার্ডওয়ারের উপর নির্ভর করে)। সামান্য বোনাস হিসাবে, আপনার ফাইল আরও ছোট হয়ে যায় এবং আপনি যদি অডিওফিল না হন তবে আপনি কোনও পার্থক্য শুনতে পাবেন না।


তবুও, 1080 পি ফুলএইচডি চলচ্চিত্রগুলি তোলপাড় করছে , কোনও শব্দ না করে পর্দাটি কয়েক সেকেন্ডের জন্য কালো হয়ে যায় তবে ভিডিও-প্লেব্যাকটি অবিরত বলে মনে হচ্ছে। মুভিটি H364 টি AC3 ট্র্যাক সহ এমকেভি ধারকটিতে এনকোড করা হয়েছে। সমস্যাটা কি?

সম্ভবত, মুভি-ফাইলটিতে কোনও ভুল নেই, তবে আপনার এক্সবিএমসি সেটিংস রয়েছে। আমার ক্ষেত্রে, সমস্যাটি ছিল এক্সবিএমসির "রিফ্রেশ রেট" । এটি ডিফল্টরূপে 60Hz এ সেট করা আছে। 720p এবং অন্য কোনও ছোট ভিডিও ফাইলের জন্য, পাইটির জন্য এটি কোনও সমস্যা বলে মনে হচ্ছে না, তবে 1080p ফাইলগুলির ফলে উপরের সমস্যার ফলস্বরূপ।

নিচু কর রিফ্রেশ হার 60Hz কম কিছু (অন্তত 24Hz সিনেমা জন্য যথেষ্ট হয়)। এখানে দুটি বিকল্প রয়েছে:

  1. গ্লোবাল এক্সবিএমসি (নিজে এক্সবিএমসি সহ): System -> Settings -> System -> Video output -> Refresh rate
  2. সিনেমাগুলি কেবল (ভিডিও-ফাইল দ্বারা নির্ধারিত): System -> Settings -> Video -> Playback -> Adjust display refresh rate to match video

রিফ্রেশ রেট কমিয়ে আনার পরে, 1080 পি চলচ্চিত্রগুলি ঠিক ঠিক প্লে করা উচিত।


7
খুব সম্ভবত রাস্পবেরিপি.স্ট্যাকেক্সেঞ্জের ডট কমের সেরা উত্তর।
ভিনসেন্ট পি

ওহ আমি আরও দেখতে পাচ্ছি যে ffmpeg এমনকি আরপিআইয়ের জন্য উপলব্ধ। sudo apt-get install ffmpeg। আপনি কি আরপিআইতে চেষ্টা করে দেখেছেন? এটা কি ভাল কাজ করে?
ভিনসেন্ট পি

3
: @Raphael না, এটা না stackoverflow.com/a/9477756/717341
লুকাস Knuth

1
@ রাফেল এটি আপনার ডিসট্রোর উপর নির্ভর করে। আর্চলিনাক্সে, আমি এই সমস্যাটি দেখছি না।
লুকাশ নুথ

1
@ লুকাসকুনুথের উত্তরের উত্তর বাদ ffmpegনেই। avconvএকটি কাঁটাচামচ
অ্যারজিস্টাল
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.