কীভাবে .ts ফাইলটিকে একটি মূলধারার বিন্যাসে ক্ষতিহীনভাবে রূপান্তর করতে হয়?


13

আমার কাছে একটি ফাইল রয়েছে যা .ts এ শেষ হয় (উদাহরণস্বরূপ, এখানে প্রথম 10 এমবি রয়েছে )। আমি এটিকে আরও প্রধান স্ট্রিম ফর্ম্যাটে রূপান্তর করতে চাই (যেমন, এমপি 4, এমপিইজি 2-পিএস ...), যদি সম্ভব হয় তবে ক্ষতিহীন উপায়ে (অর্থাত্, রিমাক্সিং)।

আমি কীভাবে .ts ফাইলগুলিকে দরকারী কিছুতে রূপান্তর করব? প্রশ্ন। আমি avidemuxভিডিও এবং অডিও স্ট্রিমের জন্য "কপি" সেটিংস এবং এমপিইগির জন্য "পিএস" ধারক বিন্যাস দিয়ে চেষ্টা করেছি। "ত্রুটিযুক্ত অডিও / ডিভিডি-র জন্য অডিওটি 48 কেএইচজেড এমপি 2 (স্টেরিও), এসি 3, ডিটিএস বা এলপিসিএম (স্টেরিও) হতে হবে" - এর ত্রুটি বার্তায় ব্যর্থ হয়েছে।

আমি প্রস্তাবিত সি এল এল কমান্ডও চেষ্টা করেছিলাম।

avconv -i 10MB.ts -vcodec copy -acodec copy 10MB.mpg

আউটপুট ফাইলে সঠিক ভিডিও রয়েছে তবে কোনও শব্দ নেই, কমপক্ষে ভিএলসির সাথে খেললে। এটি বেশ আশ্চর্যজনক, কারণ avconvমনে হয় অডিও স্ট্রিমটি সঠিকভাবে সনাক্ত করেছে।

Input #0, mpegts, from '10MB.ts':
  Duration: 00:00:06.36, start: 51523.824800, bitrate: 12563 kb/s
  Program 37888 
    Stream #0.0[0x100]: Video: mpeg2video (Main), yuv420p, 1440x1080 [PAR 4:3 DAR 16:9], 20000 kb/s, 29.97 fps, 29.97 tbr, 90k tbn, 59.94 tbc
    Stream #0.1[0x110]: Audio: aac, 0 channels, fltp, 144 kb/s
    Stream #0.2[0x130]: Data: [6][0][0][0] / 0x0006
    Stream #0.3[0x138]: Data: [6][0][0][0] / 0x0006
    Stream #0.4[0x140]: Data: [13][0][0][0] / 0x000D
    Stream #0.5[0x160]: Data: [13][0][0][0] / 0x000D
    Stream #0.6[0x161]: Data: [13][0][0][0] / 0x000D
    Stream #0.7[0x162]: Data: [13][0][0][0] / 0x000D
    Stream #0.8[0x170]: Data: [13][0][0][0] / 0x000D
    Stream #0.9[0x171]: Data: [13][0][0][0] / 0x000D
    Stream #0.10[0x172]: Data: [13][0][0][0] / 0x000D
Output #0, mpeg, to '10MB.mpg':
  Metadata:
    encoder         : Lavf54.20.4
    Stream #0.0: Video: mpeg2video, yuv420p, 1440x1080 [PAR 4:3 DAR 16:9], q=2-31, 20000 kb/s, 90k tbn, 90k tbc
Stream mapping:
  Stream #0:0 -> #0:0 (copy)

আমি অন্য প্রশ্নের মন্তব্যে প্রস্তাবিত সিএলআই কমান্ডও চেষ্টা করেছিলাম ।

avconv -i 10MB.ts -c:v copy -c:a libfaac 10MB.mp4

আবার, আউটপুট ফাইলে কোনও শব্দ নেই।

সম্পাদনা: @ ড্যানিয়েলের পরামর্শ অনুসারে আমি ভিএলসি চেষ্টা করেছি। এটি প্রায় নিখুঁত ছিল। এটি দ্রুত এবং ব্যবহারকারী বান্ধব ছিল। আমাকে কেবল "রূপান্তর / সংরক্ষণ করুন" এ ক্লিক করতে হবে, ইনপুট ফাইলটি যুক্ত করতে হবে, এমপি 4 প্রোফাইলটি নির্বাচন করতে হবে, ভিডিও কোডেক এবং অডিও কোডেককে "আসল ভিডিও / অডিও ট্র্যাক রাখতে" কনফিগার করতে হবে, একটি গন্তব্য ফাইলটি বেছে নিতে হবে এবং "স্টার্ট" এ ক্লিক করতে হবে। ভিডিওটি নিখুঁত দেখাচ্ছে, কিন্তু অডিওটি কিছুটা সামান্য দূষিত হয়েছিল, তবে এটি আমার ভিডিওর অডিও স্ট্রিমের বেশ কিছু বিদেশী কিছু কারণে হতে পারে।


আপনি ভিএলসি চেষ্টা করেছেন? videolan.org/vlc/index.html
ড্যানিয়েল

আপনি উল্লেখ করেছেন যে আপনি পুনরায় আনতে চেয়েছিলেন, সম্ভব হলে পুনরায় এনকোড নয়। আপনি কি নিশ্চিত যে ভিএলসি কেবলমাত্র রিমাক্সিং করছে?
লোগান

নিবন্ধন করুন আমি কীভাবে নিশ্চিত হতে পারি?
ল্যাকটন

রূপান্তর করার জন্য আমি ভিএলসির সাথে পরিচিত নই, তবে আমি ব্যবহার করে একটি উত্তর যুক্ত করেছি ffmpeg
লগন

ভিএলসি অসামান্য ক্ষতিহীনতার সাথে যে কোনও কিছুতে রূপান্তর করবে। মূলত আপনি যে ফর্ম্যাটটি বেছে নিয়েছেন তার দ্বারা সীমাবদ্ধ।
ড্যানিয়েল

উত্তর:


22

ম্যাট্রোস্কা (এমকেভি)

এটি সমস্ত স্ট্রিমের অনুলিপি (পুনরায় ম্যাক্স) প্রবাহিত করবে:

ffmpeg -i input -map 0 -c copy output.mkv

-map 0বিকল্প সব স্ট্রিম অন্তর্ভুক্ত করতে ব্যবহৃত হয়। অন্যথায় এটি ডিফল্ট স্ট্রিম নির্বাচনের আচরণ ব্যবহার করবে যার ফলস্বরূপ কেবল প্রতি স্ট্রিমের জন্য এক স্ট্রিমটি নির্বাচিত হবে। যেহেতু ম্যাট্রোস্কা আমি অন্তর্ভুক্ত বেশিরভাগ স্বেচ্ছাসেবী স্ট্রিম পরিচালনা করতে পারি -map 0

আছে MP4

এটি সমস্ত স্ট্রিমের অনুলিপি (পুনরায় ম্যাক্স) প্রবাহিত করবে:

ffmpeg -i input -map 0 -c copy output.mp4
  • যদি আপনার ইনপুট ফর্ম্যাটগুলি এমপি 4 এর সাথে সামঞ্জস্য না করে তবে আপনি একটি ত্রুটি পাবেন।
  • আপনার প্লেয়ার / ডিভাইসগুলি MP4 দ্বারা সমর্থিত হলেও সমস্ত স্বেচ্ছাচারী, কম সাধারণ, বা লিগ্যাসি ফর্ম্যাটগুলিকে সমর্থন করতে পারে না।
  • যদি সন্দেহ হয় তবে নীচের মত H.264 + AAC এ পুনরায় এনকোড দিন।

এটি H.264 এ ভিডিওটি পুনরায় এনকোড করবে এবং অডিওটি অনুলিপি করবে:

ffmpeg -i input.ts -c:v libx264 -c:a copy output.mp4

পরবর্তী উদাহরণটি ভিডিও এবং অডিও উভয়ই পুনরায় এনকোড করবে:

ffmpeg -i input.ts -c:v libx264 -c:a aac output.mp4

ক্ষতিহীন এইচ .264 উদাহরণ:

ffmpeg -i input.ts -c:v libx264 -crf 0 -c:a copy output.mp4

ক্ষতিহীন ফাইলগুলি বিশাল হবে।

দেখুন H.264-: FFmpeg উইকি আরও তথ্যের জন্য।


আপনি যদি কোনও ক্ষতিবিহীন এমপি 4 ফাইল এনকোড করতে চান তবে এফএফএমপেইগ উইকি পৃষ্ঠাতে উল্লিখিত হিসাবে -qp 0 বা -crf 0 যুক্ত করুন: trac.ffmpeg.org/wiki/Encode/H.264
সুপারস্ল্যাথার

2
@ সুপারস্লুথার লসলেস বিশাল ফাইল তৈরি করে। "ক্ষতিহীন" দ্বারা আমি বিশ্বাস করি ল্যাকটনের অর্থ "রিমাক্সিং"।
লোগান

আমি যে নমুনা ফাইল সরবরাহ করেছি তা প্রকৃতপক্ষে কেটে গেছে। আমি রিমাক্স করতে চাই প্রকৃত ফাইলটি সহজেই ভাগ করে নেওয়ার জন্য বড়।
ল্যাকটন

1
@lacton মাট্রসকা মধ্যে muxing চেষ্টা করুন: ffmpeg -i 10MB.ts -c copy output.mkv। আপনি ত্রুটি পাবেন: Error parsing AAC extradata, unable to determine samplerate। এজন্য আমার এমকেভি উদাহরণ অডিওকে পুনরায় এনকোড করেছে। এছাড়াও # 4472 দেখুন: এনকোডিং ব্যর্থতা এবং ল্যাভএফ / এমকেভি ছাড়াই প্রবাহ থেকে এএসি অনুলিপি : এএসি রিমাক্সিং ঠিক করুন । যাইহোক, এর কোনওটি আপনার বড়, নিরীক্ষিত ইনপুট ফাইলে প্রয়োগ করতে পারে এবং এটি প্রত্যাশার মতো কাজ করতে পারে।
লোগান

1
@ লর্ডনেকবার্ড ffmpeg -i input -c:v copy -c:a aac output.mkvপুরোপুরি কাজ করেছে। ভিডিওটি রিম্যাক্স করা হয়েছিল, এবং ভিএলসির সাথে রূপান্তরিত হওয়ার সময় আমি যে সামান্য দুর্নীতি পেয়েছিলাম তা ছাড়াই অডিওটি মূল হিসাবে ঠিক শোনাচ্ছে।
ল্যাকটন

3

ভিডিওএলএন (ভিএলসি - http://www.videolan.org/vlc/index.html ) সহজেই কেবল যে কোনও কিছুতে কোনও কিছুর মধ্যে রূপান্তরিত করে।

ইহাকে একটি লাথি দাও. এটি লিনাক্স, উইন্ডোজ এবং ম্যাক ওএস এক্সে চলে এবং এর একটি খুব ব্যবহারকারী-বান্ধব ইন্টারফেস রয়েছে।


এখন যেহেতু আমি ভিডিও রূপান্তর করার জন্য ভিএলসি ব্যবহার করেছি, আমি এটির পরামর্শ দেব। এই পরামর্শের জন্য আপনাকে ধন্যবাদ। আমার .ts ফাইলের জন্য, এটি প্রায় কাজ করেছে। ভিডিওটি নিখুঁত দেখায়, তবে অডিওটি কিছুটা দূষিত হয়েছিল। এটি আমার ভিডিওর অডিও স্ট্রিমের বেশ কিছু বিদেশী কিছু কারণে হতে পারে। এটি অন্তর্ভুক্ত করার জন্য আমি মূল প্রশ্নটি সম্পাদনা করেছি।
ল্যাকটন

হ্যাঁ, আপনি এমপি 4 এর ভিতরে অডিওর জন্য আলাদা সাবকন্টেইনার ব্যবহার করলে এটি আরও ভাল কাজ করতে পারে। সম্ভবত RAW।
ড্যানিয়েল

0

@ লোগান দ্বারা দেওয়া অন্য উত্তরের পরিপূরক হিসাবে - একটি স্ট্রিম অনুলিপি যাইহোক ভালই পছন্দনীয়:

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

সুতরাং, ফাইলটির নাম পরিবর্তন না করে "ডেমাক্সিং এবং ম্যাক্সিং" এর জন্য:

ffmpeg -i "$0" -map 0 -c copy "${0%%.*}".mkv

আমি এটিকে थুনার কাস্টম ক্রিয়ায় এবং ফাইলম্যানেজার অ্যাকশন কনফিগারেশন সরঞ্জামে (নটিলাস, নিমো, কজা, পিসি ম্যানএফএম) এ যুক্ত করেছি:

sh -c 'ffmpeg -i "$0" -map 0 -c copy "${0%%.*}".mkv' %f

এটি video/mp2tথুনারে এবং ফাইলম্যানেজার ক্রিয়াকলাপগুলিতে "* .ts" সীমাবদ্ধ করার সময় ।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.