অক্সিলিয়ারি ট্র্যাক এক্সটেনশন সহ MP4 (MP4-AT) ফাইল ফরম্যাট 0.9

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

বিন্যাসের লক্ষ্য হল সহায়ক ট্র্যাকগুলি সংরক্ষণ করা যাতে ট্র্যাকগুলি ক্লায়েন্টদের কাছ থেকে লুকানো থাকে যা এই বৈশিষ্ট্যটি বাস্তবায়ন না করে। এটি ক্লায়েন্টদের সহায়ক ট্র্যাকগুলিকে প্লেযোগ্য ডেটা হিসাবে ব্যাখ্যা করতে বাধা দেয়।

নির্ভরতা

নিম্নলিখিত এই স্পেসিফিকেশন জন্য আদর্শ উল্লেখ আছে:

ভূমিকা

"অবশ্যই", "অবশ্যই নয়", "প্রয়োজনীয়", "উচিত", "উচিত নয়", "প্রস্তাবিত", "মেয়", এবং "ঐচ্ছিক" এর ব্যবহার RFC2119- এ সংজ্ঞায়িত IETF মান অনুসারে।

MP4-AT ফাইল ফরম্যাট

MP4-AT ফাইল ফরম্যাটে প্রাথমিক ট্র্যাক এবং অক্জিলিয়ারী ট্র্যাকগুলি বিভিন্ন সম্পাদনা ক্রিয়াকলাপ সক্ষম করার জন্য গঠিত। প্রাথমিক ট্র্যাকগুলি (উদাহরণস্বরূপ, একটি ভিডিও ট্র্যাক যা এটিতে একটি বোকেহ প্রভাব প্রয়োগ করেছে) যথারীতি MP4 ফাইলে লেখা হয়, যেখানে সহায়ক ট্র্যাকগুলি একটি অক্সিলিয়ারি ট্র্যাক MP4 এ লেখা হয়। অক্সিলিয়ারি ট্র্যাকস MP4 হল আরেকটি MP4 কমপ্লায়েন্ট ধারক, এবং এটি axte (Auxiliary Tracks Extension) বক্সের ভিতরে রাখা হয়। axte বক্সটিকে ফাইলের শেষ বাক্স হিসাবে সুপারিশ করা হয়, যা ফাইলটি ছেঁটে দিয়ে সহায়ক ডেটা অপসারণ করতে সুবিধাজনক করে তোলে।

এই বিন্যাসটি পশ্চাদমুখী সামঞ্জস্যপূর্ণ: যে প্লেয়ারগুলি এই বিন্যাসের বাকি অংশ সমর্থন করে না তারা ফাইলটি লোড করার সময় প্রাথমিক ভিডিও ট্র্যাকগুলি পড়বে এবং চালাবে৷

একটি MP4-AT ফাইলে উপাদানের বিন্যাস প্রদর্শন করে লাইন ডায়াগ্রাম

ফাইলটিতে mdta হ্যান্ডলার সহ একটি moov.meta বক্স রয়েছে যাতে নিম্নলিখিত মেটাডেটা রয়েছে। মেটাডেটা যেকোনো ক্রমে প্রদর্শিত হতে পারে।

মেটাডেটা কী

টাইপ নির্দেশক

মান

auxiliary.tracks.offset

78 (বড় এন্ডিয়ান 64-বিট স্বাক্ষরবিহীন পূর্ণসংখ্যা)

axte বক্সের ফাইল অফসেট (বাইটে)

auxiliary.tracks.length

78 (বড় এন্ডিয়ান 64-বিট স্বাক্ষরবিহীন পূর্ণসংখ্যা)

axte বাক্সের দৈর্ঘ্য (বাইটে)

অক্জিলিয়ারী ট্র্যাক এক্সটেনশন (এক্সটে) বক্স

সিনট্যাক্স

axte বক্সটি ISO/IEC 14496-12:2022: 4.2 তে সংজ্ঞায়িত বক্সের শব্দার্থবিদ্যা ব্যবহার করে বর্ণনা করা হয়েছে

aligned(8) class AuxiliaryTracksExtensionBox extends Box('axte') {
  bit(8) data[];
}

যেখানে ডেটা ফিল্ডে অক্সিলিয়ারি ট্র্যাক MP4 থাকে।

পেলোড

axte বক্সের পেলোড হল একটি সহায়ক ট্র্যাক MP4অক্সিলিয়ারি ট্র্যাক MP4-এর স্বাভাবিক MP4 গঠন রয়েছে।

অক্সিলিয়ারি ট্র্যাক MP4-এ উপাদানগুলির বিন্যাস প্রদর্শন করে লাইন ডায়াগ্রাম

অক্সিলিয়ারি ট্র্যাক MP4-এ সমস্ত অক্সিলারি ট্র্যাকের নমুনা মেটাডেটা রয়েছে৷ সমস্ত অক্জিলিয়ারী ট্র্যাক নমুনা পেলোড অবশ্যই অক্সিলারি ট্র্যাক MP4 এর mdat বক্সে, অথবা বাইরের MP4 এর mdat বক্সে (কিন্তু উভয়ই নয়) সংরক্ষণ করতে হবে৷

পূর্বের ক্ষেত্রে, auxiliary.tracks.interleaved অবশ্যই 0 এ সেট করতে হবে ( নীচে "স্ট্যাটিক মেটাডেটা" দেখুন ) এবং axte.moov বক্সের নমুনা অফসেটগুলি সহায়ক ট্র্যাক MP4 এর শুরুর সাথে আপেক্ষিক। এটি অক্সিলিয়ারি ট্র্যাকগুলি MP4 কে স্বয়ংসম্পূর্ণ করে তোলে, যার অর্থ হল অক্সিলারি ট্র্যাক MP4 কে বাইরের MP4 এর কোন রেফারেন্স ছাড়াই স্বতন্ত্রভাবে পড়া যায়৷

পরবর্তী ক্ষেত্রে, auxiliary.tracks.interleaved অবশ্যই 1 এ সেট করতে হবে ( নীচে "স্ট্যাটিক মেটাডেটা" দেখুন ) এবং axte.moov বক্সের নমুনা অফসেটগুলি ফাইলের শুরু এবং প্রাথমিক ও সহায়কের নমুনা পেলোডের সাথে আপেক্ষিক। ট্র্যাক interleaved হতে পারে. এই ক্ষেত্রে axte.mdat বক্স অনুপস্থিত থাকতে পারে।

স্ট্যাটিক মেটাডেটা

Auxiliary Tracks MP4 এ mdta হ্যান্ডলার সহ একটি moov.meta বক্স রয়েছে যাতে নিম্নলিখিত মেটাডেটা রয়েছে। মেটাডেটা যেকোনো ক্রমে প্রদর্শিত হতে পারে।

মেটাডেটা কী

টাইপ নির্দেশক

মান

(ঐচ্ছিক) auxiliary.tracks.interleaved

75 (8-বিট স্বাক্ষরবিহীন পূর্ণসংখ্যা)

0: ইঙ্গিত করে যে নমুনাগুলি আন্তঃলিভ নয় এবং axte.mdat বাক্সে রয়েছে৷

1: প্রাথমিক ভিডিও ট্র্যাকের mdat বক্সে নমুনাগুলি আন্তঃলিভ করা হয়েছে বলে নির্দেশ করে৷

অন্যান্য সমস্ত মান সংরক্ষিত এবং ব্যবহার করা উচিত নয়।

এই মেটাডেটার অনুপস্থিতি ডিফল্ট মান 0 নির্দেশ করে।

auxiliary.tracks.map

0 (সংরক্ষিত)

বাইনারি বিন্যাস:

  • 1 বাইট সংস্করণ = 1
  • 1 বাইট ট্র্যাক গণনা = n
  • n বাইট নিম্নলিখিত সেট থেকে ট্র্যাক প্রকার
    • 0 = শার্প ভিডিও
    • 1 = গভীরতার ভিডিও (লিনিয়ার)
    • 2 = গভীরতার ভিডিও (বিপরীত)
    • 3 = টাইমড ডেপথ মেটাডেটা
    • 4 = স্বচ্ছ ভিডিও
    • 5-127 = ভবিষ্যতে ব্যবহারের জন্য সংরক্ষিত
    • 128-255 = কাস্টম ট্র্যাক প্রকার

auxiliary.tracks.map এ ট্র্যাকের প্রকারের ক্রম অক্সিলিয়ারি ট্র্যাক MP4- এর পেলোডে তাদের অর্ডার নির্দেশ করে৷

অক্জিলিয়ারী ট্র্যাক প্রকার

Auxiliary Tracks MP4-এ নিম্নলিখিত ভিডিও এবং মেটাডেটা ট্র্যাক থাকতে পারে যা সম্পাদনার জন্য উপযোগী।

শার্প ভিডিও ট্র্যাক

সম্পাদনাযোগ্য প্রভাব ছাড়াই সম্পূর্ণ রেজোলিউশনে একটি ভিডিও প্রয়োগ করা হয়েছে৷ ভিডিও ট্র্যাক প্রাথমিক ভিডিও ট্র্যাকের চেয়ে আলাদা রেজোলিউশনে সংরক্ষণ করা যেতে পারে। তীক্ষ্ণ ভিডিও ট্র্যাক যেকোন সাধারণ ভিডিও কোডেক ব্যবহার করতে পারে এবং মান বা উচ্চ গতিশীল পরিসরে হতে পারে।

গভীরতার ভিডিও ট্র্যাক

গভীরতার ভিডিও ট্র্যাক একটি স্ট্যান্ডার্ড গ্রেস্কেল ভিডিও হিসাবে এনকোড করা গভীরতার তথ্য প্রদান করে। এটি এমন ডিভাইসগুলিতে ডিকোডিং এবং এনকোডিং গভীরতার ট্র্যাকগুলিকে অনুমতি দেওয়ার জন্য যেগুলিতে গভীরতার জন্য কোনও বিশেষ ডিকোডিং বা এনকোডিং সমর্থন নেই৷ গভীরতার ভিডিও ট্র্যাক H.264/AVC , H.265/HEVC , VP9 , ​​AV1 বা অন্য কোনো সাধারণ ভিডিও কোডেক ব্যবহার করতে পারে। গভীরতার ভিডিও ট্র্যাক 8-বিট বা 10-বিট এবং রৈখিক- বা বিপরীত-এনকোডেড হতে পারে ( ডাইনামিক ডেপথ 1.0 স্পেক দেখুন)।

টাইমড ডেপথ মেটাডেটা ট্র্যাক

টাইমড ডেপথ মেটাডেটা ট্র্যাকে গভীরতা গণনা করার জন্য স্বাভাবিক মান এবং একটি ফোকাল টেবিল রয়েছে যা বোকেহ প্রভাবের জন্য অস্পষ্ট ব্যাসার্ধ গণনা করতে ব্যবহার করা যেতে পারে।

নমুনা মাইম টাইপ

application/x-depth-metadata

নমুনা বাক্য গঠন

বাইনারি বিন্যাস (সমস্ত ints সামান্য endian):

  • কাছাকাছি দূরত্ব (16-বিট ফ্লোট)
  • অনেক দূরত্ব (16-বিট ফ্লোট)
  • ফোকাল টেবিল এন্ট্রি কাউন্ট (16-বিট int)
  • ফোকাল টেবিল এন্ট্রি
    • প্রবেশের দূরত্ব (16-বিট ফ্লোট)
    • প্রবেশ ব্যাসার্ধ (16-বিট ফ্লোট)
স্বচ্ছ ভিডিও ট্র্যাক

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

উদাহরণ ব্যবহার ক্ষেত্রে

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

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