আমার কাছে বেশ কয়েকটি ওগ ভার্বিস ফাইল রয়েছে, সবগুলিই একই বৈশিষ্ট্যগুলির সাথে এনকোড করে আমি একক ফাইলে একত্রিত করতে চাই।
আমি জানি যে ওগ ভার্বিস ফর্ম্যাটটি একাধিক ফাইলের সরল সংমিশ্রণকে সমর্থন করে:
$ cat file1.ogg file2.ogg > output.ogg
তবে দুঃখের বিষয় যে সমস্ত প্লেয়ার এই জাতীয়ভাবে তৈরি ফাইলগুলি বুঝতে সক্ষম হয় না, উদাহরণস্বরূপ আমার মোবাইল অডিও প্লেয়ার এবং আমি একটি নতুন কিনতে এড়াতে চাই না। অন্যান্য প্রোগ্রামগুলি যা এটি বুঝতে পারে না সেগুলি জিস্ট্রেমার r যদি ইনপুট ওগ ফাইলগুলির ক্ষেত্রে একই স্ট্রিম আইডি থাকে তবে এই পদ্ধতিটিও কাজ করে না।
অতিরিক্ত হিসাবে, যেহেতু আমি আসল ফাইলগুলি ফেলে দিতে এবং কেবল কনকনেটেড সংস্করণটিই রাখতে চাই, তাই সমাধানের মতোই আমি কনকেন্টেশনটি নিখরচায় করতে চাই cat
।
আমি ফ্ল্যাকের মতো একটি ক্ষতিহীন বিন্যাসে ফাইলগুলি এড়িয়ে চলা এড়াতে চাই কারণ এটি অকারণে ফাইলের আকারটি ফুটিয়ে তুলবে। যদি তা ঠিক থাকে তবে আমি মূল ওগ ফাইল রাখতে পারতাম এবং কম জায়গা ব্যবহার করতাম।
মনে হয় ffmpeg কখনও কখনও এটি কনক্যাট ডেমাক্সার ব্যবহার করে করতে পারে :
$ cat inputs.txt
file 'in1.ogg'
file 'in2.ogg'
$ ffmpeg -f concat -i inputs.txt -c copy out.ogg
আমি যদি আমার ইনপুট ফাইলগুলির কাঁচা হেক্সডাম্পের দিকে তাকাই, তবে আমি আউটপুট ফাইলে হ'ল ভারবিস প্যাকেটগুলি দেখতে পাই। সুতরাং আমি অনুমান করি সত্যিই কোনও পুনরায় এনকোডিং হয় না।
তবে এটি সমস্ত ইনপুট ফাইলগুলিতে কাজ করবে বলে মনে হয় না। কখনও কখনও (নিশ্চিত না যে এটি কী ঘটায়), ffmpeg সতর্কতা দিত:
Non-monotonous DTS in output stream 0:0; previous: 5011328, current: 5011200; changing to 5011329. This may result in incorrect timestamps in the output file.
এবং তারপরে আমি দুটি ফাইলের মধ্যে খুব ম্লান "ফাঁক" শুনব। সুতরাং এটি অবশ্যই কোনও বিশ্বব্যাপী সমাধান নয়।
যেহেতু আমি একটি খুঁজে পাইনি আমি এই স্ট্যাকওভারফ্লো প্রশ্নটিতে নিজের সরঞ্জামটি লেখার চেষ্টা করেছি ।
একাধিক ওগ ভার্জিস ফাইলগুলি সংযুক্ত করার কোনও উপায় আছে তবে সেগুলি পুনরায় এনকোডিং না করে এবং আউটপুট প্রতি একক স্ট্রিম দিয়ে? কোন সরঞ্জামটি সেই কাজটি করতে সক্ষম?