[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: mplayer и вывод звука



Murat D. Kadirov wrote:

> 2. Снять шнурок, получать звук с тв-тюнера и передавать его на звуковую
> карту, как-то так: arecord -D hw:1,0 -r 32000 -c 2 -f S16_LE | aplay -

Аналоговый шнурок - на свалку истории. Передача звука цифровым способом -
единственное работающее решение с современными материнскими платами (где
иногда просто нет входа, аналогичного "CD") или современными тюнерами
(особенно USB - нет аналогового выхода). Только реализовывать такую
передачу надо по-умному, а не по-собачьи, т.к. частота дискретизации 32 кГц
с точки зрения тюнера - это 32.001 кГц с точки зрения звуковой карты. Нужен
софт, который определяет настоящее отношение частот и производит
соответствующую передискретизацию (в Windows на чипах SAA7134 вместо этого
софт подстраивает частоту дискретизации на тюнере - но в Linux нет API для
такого действия).

К сожалению, делать адаптивную передискретизацию в Linux умеют только два
плеера: mplayer и vlc. Надо поставить и настроить один из них.

mplayer: добавить в /etc/mplayer/mplayer.conf такие строки:

tv=driver=v4l2:norm=SECAM:width=720:height=576:outfmt=yv12:chanlist=russia:audiorate=32000:alsa=1:amode=1:adevice=hw.1:immediatemode=0:forceaudio=1
radio=adevice=hw=1:arate=32000:achannels=2
rawaudio=rate=32000
vf=pp=hb:a/vb:a/dr:a/fd

Запускать mplayer tv://26 или mplayer radio://103.7/capture . Кроме того,
для просмотра TV без использования командной строки можно пользоваться
KPlayer (очевидно, для KDE).

vlc (собранный из git, т.е. не из Debian, из-за бага, не связанного с TV):
создать такой файл и назвать tv.xspf, а затем открыть его и выбрать нужный
канал:

<?xml version="1.0" encoding="UTF-8"?>
<playlist version="0" xmlns="http://xspf.org/ns/0/";>
        <trackList>
                <track>
                        <identifier>0</identifier>
<location>v4l2:///dev/video0:standard=1:tuner-frequency=77250:size=720x576:chroma=yv12:channel=0:adev=hw.1:audio=0:samplerate=32000:stereo</location>
                        <title>ORT</title>
                </track>
                <track>
                        <identifier>1</identifier>
<location>v4l2:///dev/video0:standard=1:tuner-frequency=183250:size=720x576:chroma=yv12:channel=0:adev=hw.1:audio=0:samplerate=32000:stereo</location>
                        <title>RTR</title>
                </track>
                <track>
                        <identifier>2</identifier>
<location>v4l2:///dev/video0:standard=1:tuner-frequency=191250:size=720x576:chroma=yv12:channel=0:adev=hw.1:audio=0:samplerate=32000:stereo</location>
                        <title>NTV</title>
                </track>
<!-- и так далее, таблицу частот см. в
http://svn.mplayerhq.hu/mplayer/trunk/stream/frequencies.c?view=markup -->
        </trackList>
</playlist>

В старом VLC (из Debian) содержимое тега location будет таким:

<location>v4l:/dev/video0:norm=secam:frequency=77250:size=720x576:chroma=yv12:channel=0:adev=/dev/dsp1:audio=0:samplerate=32000:stereo</location>

-- 
А.Е. Патраков


Reply to: