ওজি ভার্বিস ফাইলগুলির ক্ষতিহীন কনকেন্টেশন


12

আমার কাছে বেশ কয়েকটি ওগ ভার্বিস ফাইল রয়েছে, সবগুলিই একই বৈশিষ্ট্যগুলির সাথে এনকোড করে আমি একক ফাইলে একত্রিত করতে চাই।

আমি জানি যে ওগ ভার্বিস ফর্ম্যাটটি একাধিক ফাইলের সরল সংমিশ্রণকে সমর্থন করে:

$ 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.

এবং তারপরে আমি দুটি ফাইলের মধ্যে খুব ম্লান "ফাঁক" শুনব। সুতরাং এটি অবশ্যই কোনও বিশ্বব্যাপী সমাধান নয়।

যেহেতু আমি একটি খুঁজে পাইনি আমি এই স্ট্যাকওভারফ্লো প্রশ্নটিতে নিজের সরঞ্জামটি লেখার চেষ্টা করেছি ।

একাধিক ওগ ভার্জিস ফাইলগুলি সংযুক্ত করার কোনও উপায় আছে তবে সেগুলি পুনরায় এনকোডিং না করে এবং আউটপুট প্রতি একক স্ট্রিম দিয়ে? কোন সরঞ্জামটি সেই কাজটি করতে সক্ষম?


আপনি কি ওগগ্যাটিকে দেখেছেন? en.flossmanouts.net/ogg-theora/command-line-editing/cat-files
জোশ রুম্বুট

@ জোশাম্বুট হ্যাঁ এবং এটি শ্রুত ফাঁকগুলি ধারণ করে ভুগছে যেখানে ফাইলগুলি কিছু ইনপুট-এ যোগ দেওয়া হয়েছে
জোশ

আপনি পাইটিভি ব্যবহার করে এবং ক্লিপগুলি যথাযথভাবে টাইমলাইনে রেখে দেওয়ার চেষ্টা করতে পারেন ।
harrymc

1
ওপি (এবং আমিও) এমন একটি প্রোগ্রামেটিক সমাধান চাই যা প্রয়োজনীয় ফাইলগুলি সংগ্রহের পরে ব্যবহারকারীর মিথস্ক্রিয়ায় জড়িত না।
ভিলারম্যান

2
@ রালফআরনকুইস্ট সোস ইনপুটটিকে পুনরায় এনকোড করে।
জোশ

উত্তর:


2

ffmpeg -i "concat:ogg1.ogg|ogg2.ogg|ogg3.ogg" -c copy out.oggআমার সিস্টেমে একটি সংক্ষিপ্ত ওগ ফাইল তৈরি করে, পৃথক সংযুক্ত ফাইলগুলির চেয়ে সামান্য কিছুটা ছোট (সম্ভবত শেয়ারড মেটাডেটার কারণে)। এটি আমার কাছে একইরকম শোনায়, সুতরাং সমাহারটি ক্ষতিহীন হওয়া উচিত। তবে এটি ফাইলগুলির মধ্যে একটি সামান্য ব্যবধান যুক্ত করে না।

ffmpeg -f concat -safe 0 -i ogg1.ogg -i ogg2.ogg -c copy out.ogg কাজ করার কথা কিন্তু এটি আমার হোমব্রিউ (macOS) ffmpeg এ 3.3.2 হিসাবে এই ত্রুটি দেয়।

[concat @ 0x7f91e8800400] Line 1: unknown keyword 'OggS'
ogg1.ogg: Invalid data found when processing input

সূত্র: https://trac.ffmpeg.org/wiki/Concateate


আমি একই ত্রুটি
পাচ্ছি

0

আপনি এফএফএমপিএগ একবার দেখে নিতে পারেন । এর অনেকগুলি সরঞ্জাম রয়েছে যা আমি বেশ বুঝতে পারি না তবে ডকুমেন্টেশন থেকে মনে আছে এটি করার জন্য একটি সরঞ্জাম রয়েছে। তা না হলে, আমি মনে করি যে আপনি ব্যবহার করতে পারেন ভিএলসি মিডিয়া প্লেয়ার এর কম্যান্ড লাইন


1
আপনি কি আপনার উত্তরটি কিছুটা প্রসারিত করতে পারেন? কেবলমাত্র কোনও পণ্য এবং তার ডকুমেন্টেশনের দিকে ইঙ্গিত করলে কীভাবে সমাধানটি সম্পন্ন করা যায় তা ব্যাখ্যা করা যায় না। সমস্যা সমাধানের জন্য পণ্যটি কীভাবে ব্যবহার করবেন সে সম্পর্কে এখানে কিছু নির্দেশাবলীর অন্তর্ভুক্ত করা ভাল। সফ্টওয়্যারটি সুপারিশ করার ক্ষেত্রে এখানে ভাল গাইডেন্স: meta.superuser.com/questions/5329/… । ধন্যবাদ।
ফিক্সার 1234

শুধু ব্যবহার ffmpeg -f concat -i inputs.txt -c copy out.oggকরে কাজ হয় না। আমি কৌতূহলী যে আপনি কীভাবে এফএমপিএগ দিয়ে সমাধান করতে পারবেন think
জোস্ক
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.