কীভাবে একটি এমকেভি ফাইলে সাবটাইটেল যুক্ত এবং মুছবেন?


28

আমার কাছে ভাল মানের এমকেভি ফাইল রয়েছে যাতে বেশ কয়েকটি সাবটাইটেল বিকল্প রয়েছে। আমি তালিকায় একটি অতিরিক্ত সাবটাইটেল ফাইল যুক্ত করতে চাই। আমি ওএসএক্স ব্যবহার করছি।

কিছু অনলাইন অনুসন্ধান আমাকে ভিডিও রূপান্তরকারী ব্যবহার করতে পরিচালিত করেছিল এবং মূলত মুভিটিকে একটি নতুন ফাইলে পুনরায় এনকোড করেছে। এটি আমার কাছে সত্যই বেশি মাত্রায় বলে মনে হচ্ছে। প্লাস আমি পূর্বের সাবটাইটেলগুলি এবং কিছু চিত্রের মান looseিলা করতে পারি।

উত্তর:


41

সাবটাইটেলগুলি সরানো হচ্ছে:

mkvmerge -o output.mkv input.mkv -S # remove all subtitle tracks
mkvmerge -o output.mkv input.mkv -s 3,4 # remove tracks 3 and 4
mkvmerge -o output.mkv input.mkv -s '!3' # remove all subtitle tracks except 3
mkvmerge -i input.mkv # show track numbers

সাবটাইটেল যুক্ত করা হচ্ছে:

mkvmerge -o output.mkv input.mkv subs.srt
mkvmerge -o output.mkv input.mkv --language 0:ger --track-name 0:German subs.srt

সাবটাইটেলগুলি উত্তোলন:

mkvextract tracks input.mkv 3:subs.srt
for f in *.mkv; do
  sub=$(mkvmerge -i "$f" | awk '$4=="subtitles"{print;exit}')
  [[ $sub ]] || continue
  [[ $sub =~ S_TEXT/ASS ]] && ext=ass || ext=srt
  track=$(awk -F '[ :]' '{print $3}' <<< "$sub")
  mkvextract tracks "$f" "$track:${f%mkv}$ext"
done

এমকেভ্র্যাম এবং এমকেভেক্সট্র্যাক্ট ইনস্টল করা যেতে পারে brew install mkvtoolnix


2
MKVMerge GUI ইতিমধ্যে ম্যাক ওএস এক্সে উপলভ্য, তবে তবুও, কনসোল অনুরাগীদের জন্য এটি কীভাবে ভাল।
বোরা

নোট করুন যে সাবটাইটেলগুলি যুক্ত করার জন্য উপরের কমান্ডগুলি ফাইলটি খেলার সময় সাবটাইটেলগুলিকে "ডিফল্ট দ্বারা সক্ষম" হিসাবে সেট করে। (এই পতাকাটি MKVMerge GUI ব্যবহার করে নিশ্চিত করা যেতে পারে।) এড়াতে, ব্যবহার করুন --default-track '0:0'
ম্যাথিয়াস বাইনেস

4

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

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

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

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


1
উত্তম উত্তর, যদিও এটি লক্ষ্য করা উচিত যে কিছু সফট-সাবটাইটেলগুলি - বিশেষত ডিভিডি সাবটাইটেলগুলি টেক্সট-ভিত্তিক না হয়ে বিটম্যাপ ভিত্তিক। যার প্রধান প্রভাব হ'ল তাদের সম্পাদনা করা প্রায় অসম্ভব করে দেওয়া -_-
অশুভসূচি

@ ইভিলসপ ধন্যবাদ, এটি জানতেন না।
ধনী হোমোলকা

1
হ্যাঁ, আইডিএক্স + এসইউবি ভিওএসব , যেখানে আইডিএক্স একটি পাঠ্য ফাইল তবে এসইউবিতে বিটম্যাপ রয়েছে।
করণ

সরাসরি ডাউনলোড পৃষ্ঠায় লিঙ্ক পরিবর্তন।
বোরা

0

আমি বুঝতে পেরেছি এটি একটি পুরানো প্রশ্ন এবং user495470২০১৩ সালের উত্তরটি গ্রহণ করা হয়েছে, তবে যেহেতু প্রশ্নের একটি অংশ ফাইলগুলিতে সাবটাইটেল যুক্ত করা, তাই আমি এই নতুন সংযোজনটি যুক্ত করতে চেয়েছিলাম।

মূলত, আমাকে .assএকইভাবে নামযুক্ত এমকেভি ফাইলে কয়েক ডজন সাবটাইটেল একত্রীকরণ করা দরকার , তাই একবারে এই একটি কমান্ড করা এটি কাটছিল না। সুতরাং আমি এই সহজ বাশ স্ক্রিপ্টটি বেত্রাঘাত করেছি যা .assফাইলগুলির জন্য এটি চালিত বর্তমান ডিরেক্টরিটি অনুসন্ধান করবে এবং তারপরে প্রত্যাশা অনুযায়ী সেগুলি মার্জ করবে।

find -E . -maxdepth 1 -type f -iregex '.*\.(ASS|SRT)$' |\
  while read FILEPATH
  do
    DIRNAME=$(dirname "${FILEPATH}");
    BASENAME=$(basename "${FILEPATH}");
    FILENAME="${BASENAME%.*}";
    EXTENSION="${BASENAME##*.}"
    mkvmerge -o "/Users/jake/${FILENAME}"-NEW.mkv "${FILENAME}".mp4 --language 0:eng --track-name 0:English "${FILENAME}"."${EXTENSION}"
  done

অবশ্যই, এই সাধারণ স্ক্রিপ্টটি ধরে নিয়েছে যে সাবটাইটেলগুলি ইংরেজী এবং সেগুলি এগুলি হিসাবে মিশে যায়, তবে এটি ব্যবহারের প্রয়োজন অনুসারে ম্যানুয়ালি অ্যাডজাস্ট করা যেতে পারে; এমকেভিতে সাবটাইটেলগুলি স্বয়ংক্রিয়ভাবে মার্জ করার বড় সমস্যাটি এর মতো একটি সাধারণ স্ক্রিপ্ট দ্বারা সমাধান করা হয়।

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