আমি কীভাবে এই দুটি কমান্ড একত্রিত করতে পারি? স্ট্রিম ম্যাপিং এবং সাবটাইটেলগুলি


1

আমি যদি সম্ভব হয় তবে নিম্নলিখিত দুটি কমান্ডকে একটি কমান্ডের সাথে সংযুক্ত করতে চাই।

  1. অডিও.এমপি 4 থেকে ভিডিও.এমপি 4, আউটপুট টেম্প এমপি 4 থেকে ভিডিওর শীর্ষে Audio

    ffmpeg -i video.mp4 -i Audio.mp4 -map 0: v: 0 -map 1: a: 0-shortest -s hd1080 -r 24 temp.mp4

  2. হার্ডকোড সাব টাইটেলগুলি টেম্প এমপি 4 এ সাবটাইটেলগুলি থেকে এবং ফাইনাল.এমপি 4 এ আউটপুট দেয়

    ffmpeg -i temp.mp4 -vf "ass = subtitles.ass" final.mp4

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

আমি আমার এফএফপিপেগ সমস্যাটি এখনও অবধি বুঝতে পেরেছি, তবে এটি আমাকে আটকে দিয়েছে।

ধন্যবাদ!

সিস্টেম তথ্য: উইন্ডোজ 7

ffmpeg তথ্য:

ffmpeg সংস্করণ N-54277-gff130d7 কপিরাইট (সি) 2000-2013 এফএফএমপিগ বিকাশকারী 30 জুন জুন 2013 এ নির্মিত হয়েছে জিএসসি 4.7.3 (জিসিসি) কনফিগারেশন সহ: - সক্ষম-জিপিএল - সক্ষম-সংস্করণ3 - অক্ষম -w32threads --enable-av isynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enab le-iconv --able-libass --enable-libbluray --able-libcaca - -সক্ষম-libfreetyp ই - সক্ষম-libgsm - সক্ষম-libilbc - সক্ষম-libmodplug - সক্ষম-libmp3lame - বেনা-libopencore-amrnb - সক্ষম-libopencore-amrwb - সক্ষম-libopenjpeg - সক্ষম-l আইবপাস - ইনেবেল - লিবার্ট্প - ইনেবেল-লিব্সক্রয়েডিংগার - জেনারেল-লাইবসোক্সার - এনেবেল-লিপস ইফেক্স - ইনেবেল-লাইবথিয়েরা - ইনেবেল-লিবটভোলেমে - ইনেবেল-লাইবভো-অ্যাসেঞ্চ - অ্যানিয়েবল-লিবভো-এমরউবেনক --enable- libvorbis - সক্ষম-libvpx - সক্ষম-libx264 - সক্ষম-libxavs - সক্ষম-libxvid - সক্ষম-zlib libavutil 52. 37।101 / 52. 37.101 লিভাভোডেক 55. 17.100 / 55. 17.100 লাইবভাট্রমেট 55. 10.100 / 55. 10.100 লিবাভাডাইস 55. 2.100 / 55. 2.100 লিবাভিল্ডার 3. 77.101 / 3. 77.101 লিবসস্কেল 2. 3.100 / 2. 3.100 লিবারস্র্যাম্পল 0. 17.102 / 0. 17.102 লাইবপোস্টপ্রোক 52. 3.100 / 52. 3.100


আপনি যদি -vf "ass=subtitles.ass"প্রথম কমান্ডটি যুক্ত করেন তবে কী হবে ?
টেরডন

এটি কাজ করার কাছাকাছি, কারণ এটি আসলে সমস্ত ডেটা একত্রিত করে। তবে সাবটাইটেলগুলি যথাযথভাবে খাপ খায় না, তারা স্ক্রিন বন্ধ করে। দুটি কমান্ডের পরিচ্ছন্ন ফিট সাবটাইটেলগুলির ফলাফল। এটি সাবটাইটেল.এএস সেটিংসের সাথে কি করতে পারে? কিছু ক্রিয়াকলাপ বিরোধী, যেহেতু আমি -s hd1080ও করছি? মান / ফিট বজায় রাখতে আমি আরও কি করতে পারি?
Charlieb

আমার কোনও ধারণা নেই, ঠিক এভাবেই কমান্ডগুলি সাধারণত একত্রিত হয়। আপনি কোন অপারেটিং সিস্টেমটি চালাচ্ছেন এবং কোন সংস্করণটির উল্লেখ করতে পারেন ffmpeg
টেরডন

ধন্যবাদ। আমি এই তথ্যটি অন্তর্ভুক্ত করতে মূল পোস্টটি সম্পাদনা করেছি। আমার তত্ত্ব এখনই .ass ফাইলের সাথে ঝামেলা করা, কারণ এখানে ভিডিও মাত্রা সেটিংস ইত্যাদি রয়েছে তবে আমি একটি কমান্ড লাইন সমাধানেও খোলা আছি।
Charlieb

ঠিক আছে, আমি যদি প্লেআরএসএক্স এবং প্লেআরসিওয়াইটিকে মূল ভিডিওর মাত্রায় সেট করতে .ass ফাইলটি পরিবর্তন করি তবে এটি সাবটাইটেলগুলি সঠিকভাবে ফিট করে না। তবে, আমি মনে করি যে -s hd1080 আপসেলিংয়ের কারণে, সাবাইটেলগুলি প্রসারিত হয়, এবং এইভাবে দুটি কমান্ড সেটআপের তুলনায় গুণমানের ক্ষতি এখনও রয়েছে। এখনই, এটি মানের (1 কমান্ড, .ass ফাইলের সূত্রগুলির সাথে মেলে) বা গতির (2 কমান্ড, .ass ফাইলের সাথে আপসেল্ড সংস্করণ মেলে) between
Charlieb

উত্তর:


0

ffmpeg -i video.mp4 -i audio.mp4 -map 0:v:0 -map 1:a:0 -shortest -s hd1080 -r 24 temp.mp4 && ffmpeg -i temp.mp4 -vf "ass=subtitles.ass" final.mp4

এই চেষ্টা করে? আমি যা করেছি তা হ'ল আক্ষরিক অর্থে first CMD && second CMDএটি প্রথম কমান্ডটি কার্যকর করতে হবে এবং যদি সঠিকভাবে বন্ধ হয়ে যায় তবে দ্বিতীয়টি কার্যকর করুন। যদি প্রথম ব্যর্থ হয় তবে এটি ছেড়ে দেওয়া উচিত।


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

আহ আমি রেন্ডারিং সময়ে দুটি কমান্ডের খারাপ দিকটি দেখতে পাচ্ছি।
সাইকোডাটা

যদি দ্বিতীয় কমান্ড প্রথম কমান্ডের আউটপুট ব্যবহার করে তবে এই সমাধান ব্যর্থ হয়। সম্পূর্ণ শ্রোতা ব্যবহার করা আরও অনেক ভাল।
ব্যবহারকারী1308990

0

আমার ধারণা আপনার দরকার আছে

ffmpeg -i video.mp4 -i audio.mp4 -vf "[0:v:0]ass=subtitles.ass[out]" -map out -map 1:a:0 -shortest -s hd1080 -r 24  final.mp4

[0:v:0]ass=subtitles.ass[out]আপনার প্রয়োজনীয় ভিডিওটি নেবে এবং এরপরে এটি নামক স্ট্রিমে পুনর্নির্দেশ করবে outএবং তারপরে আমরা mapএটি ম্যাপ করতে ব্যবহার করব ।

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