MKV \ channel two tracks (English & French) simultaneously to different outputs : EN > speakers, FR > headphones
Alex Alab Artemiev
causemen at gmail.com
Fri Sep 7 07:36:47 PDT 2012
Dear Tim,
I truly appreciate your comprehensive reply. Thank you!
Unfortunately, I'm a complete dummy. I thought that Gstreamer was kind of a player or something.
Now it seems like I have to study this software.
What do I have to download and install to make it happen?
> How to hook up the two audio tracks depends a bit on the details of
> your sound card and sound setup, and what you are using for output
> (pulseaaudio? alsa?)
I use an EMU1820, it has numerous I/O. For instance, I used to listen
to the music using my headphones while everybody else was watching TV
using a TV tuner through the same PC and sound card.
Many thanks and a nice weekend!
Kind regards,
Alex
-----Original message-----
From: Tim-Philipp Müller, <t.i.m at zen.co.uk>
To: gstreamer-devel at lists.freedesktop.org, <gstreamer-devel at lists.freedesktop.org>
Subject: MKV \ channel two tracks (English & French) simultaneously to different outputs : EN > speakers, FR > headphones
Date: Friday, September 7, 2012
> On Mon, 2012-08-27 at 14:37 +0300, Alex Alab Artemiev wrote:
> Hi Alex,
>> My name is Alex, I'm an extensive mkv files user, but it's the first
>> time ever I'm asking an mkv related question.
>> I've got many bilingual movies (Eng+French) and I wish I could watch
>> them in French while everybody else I'm watching them with is
>> listening to the English track.
>> For instance, so that I could have my French track channeled to my
>> headphones and the English one channeled to the speakers for my
>> friends.
>> Searching for a solution, I
>> addressed matroska-users at lists.matroska.org
>> They recommended me to try GStreamer. That's why I'm asking this
>> question here.
>> Can GStreamer do this kind of channeling? Is it practicable?
>> I'm using an E-MU sound card with multiple outputs.
>> Looking forward to reading back from you.
> Sure, that should be doable, e.g. with something like:
> gst-launch-0.10 uridecodebin uri=file:///path/to/foo.mkv name=d \
> d.video_00 ! queue ! autovideosink \
> d.audio_00 ! queue ! pulsesink \
> d.audio_01 ! queue ! pulsesink
> Now, that would output both audio tracks simultaneously, which isn't
> what you want of course, and the names (numbers) of the audio pads might
> also differ in your case, but that's not a problem if you write some
> code.
> How to hook up the two audio tracks depends a bit on the details of your
> sound card and sound setup, and what you are using for output
> (pulseaaudio? alsa?)
> In the easiest case you just have, say, different alsa devices for the
> speakers and the headphones (I don't know if this is something that can
> be achieved with .asoundrc fiddling or not), then you can just use
> alsasink device=foo . It might also be possible to do something clever
> with pulseaudio/pulsesink here to force routing one way or another.
> If it's the same device, then you would probably have to interleave the
> two stereo streams into a single four-channel stream or so? This can be
> done with two deinterleave elements and an interleave element, something
> like this (completely untested):
> gst-launch-0.10 uridecodebin uri=file:///path/to/foo.mkv name=d \
> d.video_00 ! queue ! autovideosink \
> d.audio_00 ! deinterleave name=split_00 \
> d.audio_01 ! deinterleave name=split_01 \
> interleave name=combine ! alsasink \
> split_00.src0 ! queue ! combine.sink0 \
> split_00.src1 ! queue ! combine.sink1 \
> split_01.src0 ! queue ! combine.sink2 \
> split_01.src1 ! queue ! combine.sink3
> You can replace alsasink with fakesink to see if it works in principle.
> Good luck, let us know how it goes.
> Cheers
> -Tim
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
More information about the gstreamer-devel
mailing list