একইসাথে দুটি সাউন্ড ট্র্যাক শুনে একটি সিনেমা কীভাবে খেলবেন?


10

আমার একাধিক অডিও ট্র্যাকের সিনেমার ফাইল রয়েছে (এমকেভি ধারকটিতে)। স্পিকারগুলিতে (বাচ্চাদের জন্য) একটি ভাষা এবং হেডফোনগুলিতে অন্য ভাষা (নিজের জন্য) প্রেরণ করার সময়, মুভিটি থামানো থাকলে ট্র্যাকগুলি সিঙ্কে রেখে আমি মুভি দেখতে চাই etc.

ধরুন আমার সিস্টেমে ইতিমধ্যে দুটি অডিও আউটপুট সঠিকভাবে কনফিগার হয়েছে।

লিনাক্সের কোনও মিডিয়া প্লেয়ারের সাথে এটি করার কোনও উপায় আছে কি? আমি এখনও অবধি এমপ্লেয়ার এবং ভিএলসি পরীক্ষা করেছি এবং তারা কেবলমাত্র উপলব্ধ অডিও ট্র্যাকগুলির মধ্যে একটি নির্বাচন করতে সমর্থন করে।


1
আপনি একটি অফ-টপিক প্রশ্ন জিজ্ঞাসা করছেন (সফটওয়্যার শপিং)। পণ্য, পরিষেবা, বা উপাদান প্রস্তাবনা শেখার প্রশ্নগুলি বিষয়বস্তু। বিষয় দেখুন । Softwarerecs.stackexchange.com চেষ্টা করে দেখুন তবে প্রথমে পড়ুন কোনও প্রশ্নের জন্য "পর্যাপ্ত তথ্য" থাকতে কী প্রয়োজন
ডেভিডপস্টিল

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

আমি ভয় পাচ্ছি যে "" বাচ্চারা "_ ইতিমধ্যে অন্য ভাষা শিখেছে ... কমপক্ষে আমি আশা করি। :-)
হাস্তুর

আপনি স্টিরিওতে অডিও ট্র্যাকগুলি মিশ্রিত করতে পারেন, তারপরে সেগুলি সমস্ত 5.1 অডিও ট্র্যাকের (কেন্দ্র / সাবউফার চ্যানেল উপেক্ষা করে) এ রেখে দিতে পারেন এবং তারপরে এগুলি মুভিতে ফিরিয়ে আনতে পারেন। তারপরে আপনি এটিকে যে কোনও 5.1 সাউন্ড কার্ডে খেলতে পারবেন, কেবলমাত্র উপযুক্ত আউটপুটটিতে হেডফোন এবং স্পিকারগুলি প্লাগ করুন।
জোনাসসিজে - মনিকা

উত্তর:


3

বুদ্ধিটা

ওরফে কীভাবে (মাখন) চাকাতে উড়ে যায় [ ফ্লাই ]

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

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

আরও কিছু শব্দ

একটি সাধারণ স্ট্রিমিং কমান্ড লাইন এর অনুরূপ হতে পারে

vlc "movie.mkv" --sout-all --sout="#rtp{dst=239.255.100.100,port=5004,mux=ts}"

এটি বিকল্প প্রয়োজন --sout-all [ এসও ]

 --sout-all, --no-sout-all  Enable streaming of all ES (default disabled)
 Stream all elementary streams (video, audio and subtitles) (default disabled)

পড়ুন vlc -Hঅন্যান্য উপলব্ধ অপশন (টন) জন্য কিছু নির্দেশ আছে।

করতে "খেলা" স্ট্রীম

vlc rtp://239.255.100.100:5004  --audio-track=x

যেখানে x সেই অডিও স্ট্রিমের নম্বর যেখানে আপনি সেই ক্লায়েন্টটি শুনতে চান।
সমস্ত খুব সহজে সার্ভার / ক্লায়েন্ট জিইউআই থেকে করা উচিত ...

রেফারেন্স এবং আরও
পঠন আপনি লুউকের ব্লগ পৃষ্ঠা "সিঙ্কে একাধিক কম্পিউটারে একাধিক ভিডিও ক্লিপ খেলতে ভিএলসি ব্যবহার করুন" থেকে আরও পড়তে চাইতে পারেন [ 1 ] , আপনি শেষ পর্যন্ত ভিডিওলানের এই উইকি পৃষ্ঠা থেকে শুরু করে বাহ্যিক অডিও ট্র্যাক যুক্ত করার চেষ্টা করতে পারেন [ 2 ] , বা আপনি এই উত্তরটিতে অ্যান্টোনিওর পরামর্শ অনুসারে জাস্ট্রিমার এবং বিভিন্ন আউটপুট নিয়ে খেলতে পারেন [ 3 ]

জিস্ট্রিমার:
# ট্র্যাকের সংখ্যা এবং ক্রমটি অবশ্যই জানা উচিত ...

gst-launch-1.0 \
filesrc location=example.mkv ! decodebin name=decoded \
decoded.src_0 ! queue ! autovideosink \
decoded.src_1 ! queue ! audioconvert ! alsasink device=”hw:1,0″ \
decoded.src_2 ! queue ! audioconvert ! alsasink device=”hw:2,0″

উপরের Gstreamer কমান্ডটি নিজেই একটি নূন্যতম কাজের উত্তর হতে পারে বা (মাখন) উড়ন্ত সংরক্ষণের পথ হতে পারে
... তবে খুব কমই আমি নিজের ডাকনামটি রক্ষার জন্য প্রলুব্ধ হই।


দ্রষ্টব্য যে আরএসটি আইপি 224.0.0.0 239.255.255.255 (মাল্টিকাস্ট আইপি পরিসীমা) এর মধ্যে হতে হবে বা আপনি এর সাথে ক্লায়েন্টের চেয়ে বেশি সংযোগ করতে পারবেন না। মনে হয় যেমন কোনও আইপি ঠিক কাজ করবে।
chx

@ সিএইচএক্স আমাকে আপনার অন্যান্য ইস্যুটির সাথে কাজ করে কিনা তা আমাকে জানতে দিন ...
হাস্তুর

হ্যাঁ এটা করে! আমি এটি superuser.com/a/1422462/41259 লিখে লিখেছিলাম তবে আমি এই বিশদটি এখানে উল্লেখ করার মতো মনে করেছি।
chx

0

স্ট্রিমিং সলিউশনের একটি অপূর্ণতা রয়েছে - ক্লায়েন্টরা ক্যাশে ব্যবহার করে এবং তারা সিঙ্কের বাইরে চলে যেতে পারে। এটা আমার সাথে ঘটেছিল.

একই সাথে দুটি পৃথক ট্র্যাক চালানোর জন্য আরেকটি পদ্ধতির যা আমি নিজের জন্য দরকারী বলে মনে করি তা হল ভিএলসি-র দুটি দৃষ্টান্ত চালানো এবং তাদের প্লেব্যাক সিঙ্ক করা। তবে অটোমেশন ব্যতীত আমি সঠিকভাবে সম্পন্ন করতে পারি না (ম্যানুয়াল ক্রিয়াগুলি একের পর এক তৈরি করে যা বিলম্বের কারণ হয়)।

সমাধানটি হ'ল উভয় ভিএলসি দৃষ্টান্ত একযোগে ওয়েব ইন্টারফেস ব্যবহার করে নিয়ন্ত্রণ করা। এটি জিইউআই বা কনসোলের মাধ্যমে সক্ষম করা যেতে পারে:

vlc --extraintf=http --http-host 127.0.0.1 --http-port 8081 --http-password any_password

প্রতিটি ভিএলসি উদাহরণের জন্য বিভিন্ন পোর্ট ব্যবহার করুন। প্লেব্যাক নিয়ন্ত্রণ করতে একটি কমান্ডই যথেষ্ট - টগল বিরতি দিন: http://:any_password@127.0.0.1:8081/requests/status.xml?command=pl_pause"

কমান্ড সম্পর্কে আরও তথ্য

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

মূল বিষয়টি যে পদ্ধতির ভাল কাজ করে।

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