Приглашаем авторов

Вы пользуетесь Ubuntu и желаете поделиться секретами преодоления тех трудностей, с которыми вам пришлось столкнуться в процессе работы? Или же просто изложить алгоритм установки драйвера или настройки специфической программы, чтобы с легкостью найти в будущем? А быть может размещаете подобное в собственном блоге, но не находите благодарного читателя из-за специфики темы?

Предлагаем вам войти в команду Блога Ubuntu в Сумах, который поможет вам реализовать упомянутые выше интересы.

Узнать больше

воскресенье, 9 октября 2011 г.

Разложение многоканального звука на 6 отдельных монодорожек при помощи mplayer (на примере ac-3 (E-AC-3 / Dolby Digital Plus))


При обработке многоканального звука возникает потребность располагать отдельно всеми моноканалами в PCM (WAV) - формате.

В подобной ситуации можно воспользоваться mplayer с фильтром pan.

В первую очередь, укажем, что нам нужен шестиканальный звук, из которого мы и будем отбирать по одной дорожке параметром -channels 6 .

Запись вывода в wav-файл будет осуществляться опцией -ao pcm:file=имя_файла



Аудиофильтр pan указывает на расположение и силу каналов. Параметры записываются через двоеточие: первый параметр указывает на число каналов (в нашем случае 1), а в последующих - сила каждого из исходных каналов в получаемом.
Для нашей ситуации такую операцию придется провести 6 раз, для каждого из моноканалов в отдельности. 
Например, для surround left канала, настройки pan будут выглядеть так: 
pan=1:0:0:1:0:0:0

В результате получилось
mplayer /media/m/1.ac3 -ao pcm:file=/media/video/l.wav -channels 6 -af  pan=1:1:0:0:0:0:0 && mplayer /media/m/1.ac3 -ao pcm:file=/media/video/r.wav -channels 6 -af  pan=1:0:1:0:0:0:0 && mplayer /media/m/1.ac3 -ao pcm:file=/media/video/sl.wav -channels 6 -af  pan=1:0:0:1:0:0:0 && mplayer /media/m/1.ac3 -ao pcm:file=/media/video/lfe.wav -channels 6 -sr  pan=1:0:0:0:1:0:0 && mplayer /media/m/1.ac3 -ao pcm:file=/media/video/c.wav -channels 6 -af  pan=1:0:0:0:0:1:0 && mplayer /media/m/1.ac3 -ao pcm:file=/media/video/lfe.wav -channels 6 -af  pan=1:0:0:0:0:0:1
где /media/m/1.ac3 - исходный файл.

Один из 6 результатов выполнения команды выглядит так: 

malky@malky-desktop:~$ mplayer /media/m/1.ac3 -ao pcm:file=/media/video/lfe.wav -channels 6 -af  pan=1:0:0:0:0:0:1
mplayer: Symbol `ff_codec_bmp_tags' has different size in shared object, consider re-linking
MPlayer SVN-r33713-4.6.1 (C) 2000-2011 MPlayer Team
mplayer: could not connect to socket
mplayer: No such file or directory
Failed to open LIRC support. You will not be able to use your remote control.

Playing /media/m/1.ac3.
libavformat file format detected.
[eac3 @ 0x20bc480] max_analyze_duration reached
[eac3 @ 0x20bc480] Estimating duration from bitrate, this may be inaccurate
[lavf] stream 0: audio (eac3), -aid 0
Load subtitles in /media/m/
==========================================================================
Opening audio decoder: [ffmpeg] FFmpeg/libavcodec audio decoders
AUDIO: 48000 Hz, 6 ch, s16le, 1536.0 kbit/33.33% (ratio: 192000->576000)
Selected audio codec: [ffeac3] afm: ffmpeg (FFmpeg E-AC-3)
==========================================================================
[AO PCM] File: /media/video/lfe.wav (WAVE)
PCM: Samplerate: 48000Hz Channels: Mono Format floatle
[AO PCM] Info: Faster dumping is achieved with -benchmark -vc null -vo null -ao pcm:fast
[AO PCM] Info: To write WAVE files use -ao pcm:waveheader (default).
AO: [pcm] 48000Hz 1ch floatle (4 bytes per sample)
Video: no video
Starting playback...
A:8751.5 ( 2:25:51.5) of 8751.5 ( 2:25:51.5)  1.0%


Exiting... (End of file)


Следует отметить, что похожая операция должна быть удачной для любого многоканального аудиофайла, который может быть воспроизведен с помощью mplayer. Также возможно извлекать звук и из видеофайла, при этом необходимо будет добавить опции -vo null -vc null и, при необходимости, указать порядковый номер аудиодорожки, если их больше 1, параметром -aid номер (следует отметить, что для DVD-video нумерация начинается от 128, для TS контейнеров также начало нумерации может отличаться от 0).

Комментариев нет:

Отправить комментарий

Примечание. Отправлять комментарии могут только участники этого блога.

Облако тегов

10.04 10.10 11.04 11.10 12.04 12.10 1C 32-bit 3D 64-bit 9.04 9.10 адресная строка анализ аплет апплет аудио батарея библиотеки блог браузер брошюра буфер обмена видео вывод горячие клавиши даунгрейд дистрибутив драйвер журнал загрузка захват звук ИБП игра интернет интерфейс кириллица клавиатура книга книжка кнопки кодеки командная строка комбинации клавиш коммерция компиляция конзоль копирование латинница локаль маршрутизация монтирование мультиплеер назначение клавиш настройка обновление образ объединение окно опрос оптимизация офис переименование печать плеер подкачка поиск потоковое аудио принтер проблема радио разделы разрезка раскладка клавиатуры рейтинг репозиторий русский сборка сеть скачать статистика Сумы темы терминал торрент транслит Украина установка файлы фильтр цитата эмуляция ядро ac3 adobe adventure air alsa AMD amd64 android apt ATI audio Avant Avenue avidemux boot camera Canon canonical capture cat Catalyst cdemu cdrom cgroups chrome 9 clipboard commodore compiz console cuneiform cups deadbeaf deadbeef deb debian deluge desura djvu document foundation downgrade dpkg driver dvd error ethernet firefox flac flash foobar2000 ftp game games GDM gecko getlibs Gimp git gnash gnome gnome shell go-oo grep grub gscan2pdf h.264 hdmi Homenet hotkeys hp html5 ice icq ifconfig intel internet ipwatchd iso jabber kde kernel keyboard layout knoppix koffice lame lexmark libreoffice lightdm lightspark Linux livecd lossless lts Lubuntu lucid LXDE MacOS mencoder microsoft mint mobile mozilla mp3 mplayer natty narwhal nautilus netbook network notebook Nvidia ocr ogg Oneiric Ocelot openoffice Opera oracle pdf peppermint phaser 3010 phaser 3040 php picture pidgin player polipo postscript Powercom ppa pppoe PPTP proxy pulseaudio python QR radiotray ru_UA russian Sauerbraten scan server shipit. shooter skype sound split squeeze stable streaming sun super os survival horror svn swap Telesweet tesseract theme thunar thunderbird tor torrent transcode translit ualinux Ubuntu ubuntu one Ubuntu Software Center ukrainian unity update-manager UPS usb usb-to-serial usb. com uTorrent vfat via video VLC VPN wavpack web-сервер Windows Wine Writer X-window x264 xerox xfce xmpp xonar dg xrandr xubuntu xvid zbar zend µTorrent