Online video hd

Смотреть 2022 видео

Официальный сайт mkad14 24/7/365

Смотреть видео бесплатно

20.09.10 22:48 Shtsh

ПереводыКак это работает: звуковая подсистема Linux

Оригинал (английский): How it works: Linux audio explained

Переведено инициативной группой Welinux (Shtsh, Zereal, mrsilent) в рамках тематической недели.

В настоящее время звуковая подсистема Linux довольно проблемна. И дело не в том, что она не всегда работает. Дело в том, что она чересчур сложна. Вы это заметите сразу, если возьмете лист бумаги и попробуете нарисовать отношения между технологиями, участвующими в процессе передачи музыки из файла в колонки: диаграмма быстро превратится в тарелку со спутанным спагетти. Это плохо, так как нет ничего действительно сложного в аудио по сравнению с другими технологиями. Звук просто входит в "ящик" с Linux с одной стороны и выходит с другой.

Если вам надоел этот беспорядок, и вы просто хотите понять, как компоненты взаимодействуют друг с другом, мы поможем - просто прочитайте, чтобы ясно понять, как действительно Linux работает со звуком.

Если мы нарисуем модель OSI для описания принципов работы сетевой подсистемы, соединяющей ваш компьютер с другими, то увидим понятные слои, каждый со своей областью применения и функционалом. Слои практически не пересекаются, и вы не увидите пользовательских процессов седьмого уровня, смешанными с электрическими импульсами голых потоков бит первого уровня.

Это именно то, что когда-нибудь может случиться со звуковой подсистемой Linux. Здесь нет явно определённого нижнего уровня с несколькими звуковыми технологиями, которые независимо обрабатываются ядром и оборудованием. Звуковая архитектура Linux более похожа на слои земной коры, чем на сетевую модель, нижние уровни которой местами прорываются на поверхность, а верхние перемещаются под нижние технологии, которые были изначально спрятаны.

Например, протокол Open Sound изначально предназначен для того, чтобы на уровне ядра обращаться напрямую к вашему оборудованию, но сейчас это уровень совместимости, находящийся над ALSA. Сама ALSA - стек уровня ядра и API высокого уровня, предоставляющий программистам шанс смешивать возможности драйверов и оборудования и возможность воспроизведения объемного звука или кодека MP3. Когда многие дистрибутивы используют PulseAudio и GStreamer на верхнем уровне, получается бурлящий котёл нестабильности, разрушительный как San Andreas.

Вот упрощённый обзор аудио слоёв, обычно используемых в Linux. Чем глубже уровень, тем ближе к оборудованию.

ALSA

Ввод: PulseAudio, Jack, GStreamer, Xine, SDL, ESD

Вывод: Оборудование, OSS

Как сказала Мария фон Трапп, "давайте начнём с самого начала". Когда речь идет о современном звуке в Linux, начинают с Advanced Linux Sound Architecture (ALSA). Она объединяется с ядром Linux и предоставляет возможности воспроизведения звука остальной системе. Но она также сильно отличается от нормального модуля ядра; она может смешиваться с другими слоями, добавляет слой совместимости, предоставляет API для программистов и работает с небольшими и стабильными задержками, что сравнимо с такими эквивалентами в Windows и OS X как ASIO и CoreAudio.

ALSA разрабатывалась для замены OSS. Однако, в действительности, OSS не умер, благодаря слою совместимости в ALSA для поддержки старых приложений, поддерживающих только OSS. Проще всего думать, что ALSA - слой драйверов в звуковой подсистеме Linux. Ваше аудиоустройство требует соответствующий модуля ядра, начинающийся с snd_, который должен быть загружен и запущен для того, чтобы что-то происходило. Вот почему требуется драйвер ядра ALSA для любого звука, производимого системой, вот почему ваш ноутбук будет молчать, пока кто-нибудь не создаст драйвер для него. К счастью, большинство дистрибутивов настраивают ваши устройства и модули автоматически.

ALSA отвечает за трансляцию возможностей аудиооборудования в программный API, чтобы остальная система могла манипулировать звуком. Она была разработана, чтобы устранить многие недостатки OSS (и многих других звуковых драйверов), наиболее заметный из которых - возможность только одного приложения получать доступ к звуковому оборудованию. Вот почему программная часть ALSA должна управлять аудио запросами и понимать возможности вашего оборудования.

Например, если вы хотите играть в игру во время прослушивания музыки в Amarok, ALSA должна одновременно брать эти аудио-потоки и программно их смешивать или использовать аппаратный микшер на звуковой карте. Также ALSA может контроллировать одновременно до восьми аудиоустройств и, иногда, получать доступ к MIDI-возможностям оборудования, даже если это зависит от особенностей аудиодрайвера и становится всё менее важным с ростом производительности компьютеров.

Скриншот микшера ALSA отображает всё, что случилось с аудиосистемой Linux - усложнять здесь нечего.


Вот где ALSA отличается от обычного модуля ядра, так это в возможности частично настраиваться пользователем. Здесь начинает проявляться сложность звуковой подсистемы Linux, так как вы можете менять почти всё в настройке ALSA, создав собственный конфигурационный файл, в котором можно указать, от того, как микшировать аудиопотоки и через какие выходы они покидают систему, до частоты дискретизации, разрядности звука и эффектов в реальном времени.

ALSA довольно прозрачна, эффективна и гибка, что позволяет сделать её стандартом аудио Linux и слоем, через который происходит коммуникация почти всех звуковых систем с оборудованием.

PulseAudio

Ввод: GStreamer, Xine, ALSA

Вывод: ALSA, Jack, ESD, OSS

Если вы считаете, что не осталось вещей, которые можно облегчить при использовании ALSA, то вы глубоко ошибаетесь. ALSA справляется с большинством основных функций по вводу звука в компьютер и выводу из него, но следует рассмотреть и другой слой усложнения.
Дальше действует PulseAudio - попытки проложить мост через пропасть между оборудованием и возможностями ПО, локальными и удалёнными машинами и аудиопотоками. Мост делает для сетевого аудио то, что ALSA делает для нескольких звуковых карт и благодаря своей гибкости становится своего рода стандартом для многих дистрибутивов.

Как и в случае с ALSA, эта гибкость приводит к усложнению, но проблема PulseAudio усугубляется тем, что заметна пользователю. Это означает, что обычные пользователи не хотели бы запутаться в этой сети. Большинство дистрибутивов настроены так, чтобы не требовалось вмешиваться; в последнем дистрибутиве Ubuntu вы можете даже не заметить, что PulseAudio вообще установлен. Если вы кликните по апплету микшера для настройки уровня громкости, вы получите панель ALSA, но то, что вы видите, на самом деле направляется в PulseAudio, затем возвращается к ALSA - виртуальному устройству.

На первый взгляд, PulseAudio не добавляет ничего нового звуковой подсистеме Linux, поэтому его и критикуют со всех сторон. PulseAudio не упрощает ничего созданного ранее, не делает звук лучше, но добавляет несколько полезных функций. Кроме того, PulseAudio собирает все слои звука приложений Linux независимо от их индивидуальных возможностей или специфики оборудования.

PulseAudio мощный, но часто усложняет звук в Linux.

Если бы все приложения использовали PulseAudio, всё было бы просто. Разработчикам не нужно было бы беспокоиться о сложности других систем, так как PulseAudio предоставляет кросс-платформенность. Но это одна из главных причин, почему существует так много других решений. В отличии от ALSA, PulseAudio может работать на многих ОС, включая другие POSIX-совместимые и Microsoft Windows. Это означает, что, если вы создадите программу, используя PulseAudio, а не ALSA, портирование приложения на другие платформы не вызовет затруднений.

Но здесь возникают симбиотические отношения между ALSA и PulseAudio, так как второй должен стать первым для того, чтобы выжить. PulseAudio настроен, как виртуальное устройство, присоединяющееся к ALSA, как любое другое оборудование. Это делает PulseAudio похожим на Jack, так как он находится между ALSA и оборудованием, прозрачно обрабатывая данные в обе стороны. Также у него есть своя терминология. Например, Sink - это конечная цель. Это может быть другая машина в сети или аудио вывод на звуковую карту, как виртуальную ALSA. Части PulseAudio, которые наполняют sink, называются sources - обычно приложения, генерирующие звук в системе, ввод аудио со звуковой карты или сетевой аудио поток, посланный с другой машины, где есть PulseAudio.

В отличии от Jack, за добавление и удаления source отвечают не приложения, и вы получаете отличную возможность управления каждым потоком. Например, используя микшер PulseAudio, можно регулировать относительный уровень громкости для каждого приложения, независимо от того, есть ли регулятор в самой программе. Это замечательный способ ограничения шумных веб-сайтов.

GStreamer

Ввод: Phonon

Вывод: ALSA, PulseAudio, Jack, ESD

С GStreamer ситуация со звуком в Linux стала выглядеть ещё более запутанной. Это потому, что, как и PulseAudio, GStreamer не добавляет ничего нового в эту смесь. Это другой мультимедийный фреймворк, получивший развитие благодаря обоснованному следованию разработчиками за несколько лет до появления PulseAudio, особенно в среде Gnome. Это один из способов легко установить и использовать проприетарные кодеки в Linux. Также это аудио фреймворк, выбранный разработчиками на GTK . Вы можете найти даже версию, работающую с аудио на Palm Pre.

GStreamer занял своё место, как аудио слой над PulseAudio (который используется для вывода звука в большинстве дистрибутивов), но под уровнем приложений. GStreamer уникален тем, что он разработан не только для аудио - он поддерживает несколько форматов потоков мультимедиа, включая видео при помощи плагинов.

Например, проигрывание MP3 обычно добавляется в систему посредством скачивания дополнительных кодеков, которые устанавливаются как плагины к GStreamer. Коммерческий MP3 декодер Fluendo, один из официально лицензированных кодеков, реализован в виде плагина к GStreamer, как и другие проприетарные кодеки, включая MPEG-2, H.264 и MPEG.

Jack

Ввод: PulseAudio, GStreamer, ALSA

Вывод: OSS, FFADO, ALSA

Несмотря на преимущества открытой конфигурации, как в PulseAudio, они проводят звук между приложениями при условии, что звук передаётся напрямую на выход. Jack - средний слой, эквивалент в аудио возможности вызова удалённых процедур в программировании, что позволяет компилировать аудио приложения с разными компонентами.

Лучший пример - это виртуальная студия записи, где одна программа должна захватывать разные аудио данные одновременно для последующей обработке с эффектами, после чего окончательно посылает результат через процессор для мастеринга для окончательного варианта. Настоящая студия может использовать паутину кабелей, которые иногда соединяются "джеками". Jack делает то же самое программно.

Jack - это рекурсивный акроним "Jack Audio Connection Kit". Он создан для низких задержек, что означает отсутствие чрезмерной обработки звука, которая может вызвать искажения. Но для того, чтобы Jack был полезен, требуется соответствующая поддержка со стороны приложения. Как результат, он не является простой заменой ни для ALSA, ни для PulseAudio и его требуется запускать поверх другой системы, генерирующей звук и предоставляющей физический ввод.

При помощи Jack вы можете присоединять аудио вывод от одной программы к аудио выводу другой вручную - прямо как в настоящей студии записи.

В большинстве программ, совместимых с Jack, вы можете свободно управлять звуком и вводом как угодно. Например, вы можете взять вывод VLC и передать его прямо в Audacity для записи воспроизводимых потоков.

Или вы можете отправить его через JackRack, программу, позволяющую создать в реальном времени каскад эффектов, включая устранение задержек, искусственное эхо как в пещере и роскошное преобразование речи.

Эта гибкость фантастична для рабочих станций по обработке звука. Ardour использует Jack для внутренних и внешних соединений, и процессор мастеринга Jamin может использоваться только как часть цепи процессов Jack. Это эквивалент полного контроля студии с настоящими проводами. Его реализация в Linux была так удачна, что можно найти Jack для похожего использования в OS X.

FFADO

Ввод: Jack

Вывод: Звуковое оборудование

В мире профессионального и полупрофессионального звука, большое число аудио интерфейсов соединяются с машиной через порт FireWire. Дает множество преимуществ. FireWire быстрый, и устройства могут этим пользоваться. У многих ноутбуков и компьютеров уже есть порты FireWire и дополнительные модификации не требуются; этот стандарт стабильный и зрелый. Вы также можете взять устройства с FireWire с собой в дорогу для использования вместе с ноутбуком, а, по возвращению в студию, подключить обратно к компьютеру.

Но, в отличии от USB, являющегося стандартом для работы со звуком без дополнительных драйверов, для аудио устройств и интерфейсом FireWire нужны собственные драйвера. Сложности протокола FireWire в том, что они не могут легко создать интерфейс ALSA, так что требуется специальный слой. Это и привело к проекту, названному FreeBOB. Он очень полезен, так как, фактически, многие аудио устройства FireWire основаны на одних комплектующих.

FFADO - наследник FreeBOB, который добавляет поддержку многих других типов аудиоитерфейсов. Вторая версия вышла в конце 2009 года. В нее включили поддержку многих устройств от Alesis, Apogee, ART, CME, Echo, Edirol, Focusrite, M-Audio, Mackie, Phonic и Terratec. Устройство может и не заработать, поэтому перед покупкой стоит проверить. Но многие из производителей помогали в разработке драйвера, предоставляя свои устройства для использования и тестирования.

Другой замечательной функцией в FFADO является то, что некоторые функции аппаратного микширования DSP интегрированы в драйвер, с полностью графическим микшером для управления балансом разных входов и выходов. Отличие от ALSA в том, что аудио потоки могут управляться оборудованием без задержек, что действительно полезно при записи живого шоу.

В отличии от аудио слоёв, FFADO может только передавать данные от Jack к оборудованию. Нету возможности использовать PulseAudio или GStreamer иначе как через Jack. Это значит, что вы не можете использовать FFADO как главный слой для воспроизведения, пока не подготовите к установке и настройке Jack. Одновременно это значит, что драйверу и не требуется поддержка прочих протоколов, особенно, если учесть, что большинство серьёзных программ для работки с аудио включают поддержку Jack по-умолчанию. Благодаря этому выбор FFADO становится одним из лучших решений для студии.

Xine

Ввод: Phonon

Вывод: PulseAudio, ALSA, ESD

Мы попадаем в "геологический раздел" аудиосистемы Linux (имеются ввиду геологические эпохи, например, мезозой - прим.переводчика). Xine словно написан мелом, он - это то, что осталось после стирания многих других звуковых слоёв. Большинство пользователей узнают название мощного проигрывателя DVD, который до сих пор идёт в большинстве дистрибутивов, несмотря на возраст, и в этом причина живучести Xine.

Когда Xine был создан, разработчики разделили его на отдельную библиотеку, обрабатывающую мультимедиа, и фронт-энд для взаимодействия с пользователями. Эта библиотека существует уже достаточно долго благодаря возможности воспроизводить множество контейнеров, включая Avi, Matroska, Ogg и множество форматов, которые могут в этих контейнерах находится, например, AAC, Flac, Vorbis и WMA. Это достигается использованием мощи многих других библиотек. В результате Xine может работать как фреймворк, способный использовать всё, для разработчиков, которые хотят получить наибольшую совместимость с разными файлами без забот о лицензионной и патентной чистоте проприетарных кодеков.

Xine может использовать ALSA и PulseAudio и есть много программ, способных взаимодействовать напрямую с Xine. Наиболее популярны среди них фронт-энд Gxine и Totem. Xine также служит бэк-эндом по умолчанию для Phonon в KDE, так что он привязан ко всему: от Amarok до Kaffeine.

Phonon

Ввод: Приложения KDE и Qt

Вывод: GStreamer, Xine

Phonon был разработан для упрощения жизни разработчикам и пользователям. Благодаря Phonon звуковая система становится проще. Phonon зародился как ещё один уровень абстракции аудио для приложений KDE4, но разработчики Qt сочли его прекрасной идеей и сделали свою версию, прямо в составе фреймворка Qt, на котором базируется KDE.

Это дает много значительных преимуществ для разработчиков кросс-платформенных приложений. Например, можно написать музыкальный плеер под Linux на Qt и просто перекомпилировать его под OS X или Windows< не беспокоясь о том, как будет воспроизводиться музыка, какие возможности оборудования используются или как операционная система должна обрабатывать звук. Qt и Phonon делают всё это автоматически, например, проводя звук по API CoreAudio в OS X или DirectSound в Windows. На платформе Linux, и, в отличии от оригинальной версии из KDE, Phonon из Qt выводит аудио в GStreamer, в основном для прозрачной поддержки кодеков.

Поддержка Phonon была тихо удалена из Qt. Система встретила много критики, главным аргументом была простота Phonon и отсутствие новых возможностей, хотя он будет использоваться на протяжении всего жизненного цикла KDE4.

Остальные технологии

Существует множество других звуковых технологий, включая ESD, SDL и PortAudio. ESD это Enlightenment Sound Daemon, и долгое время он был стандартным звуковым сервером в Gnome. В конечном счёте, Gnome перешёл на использование libcanberra (который сам "общается" с ALSA, GStreamer, OSS и PulseAudio), и в апреле 2009 года ESD убрали. Ещё был Arts, эквивалент EDS из KDE, но он широко не поддерживался и, видимо, больше создавал проблемы, нежели решал их. Большинство пользователей уже перешли на KDE 4, так что проблема осталась в прошлом.

Ещё есть SDL, который до сих пор процветает как компонент вывода аудио в библиотеке SDL и используется для создания сотен кросс-платформенных игр. Он поддерживает множество возможностей, стабилен и развит.

PortAudio - другая кросс-платформенная библиотека, добавляющая SGI, Unix и BeOS в набор возможных платформ. Наиболее заметная программа, использующая PortAudio - Audacity, аудио редактор, этим и объясняется непредсказуемый вывод звука и качество поддержки Jack.

И, наконец, OSS - Open Sound System. Она не была основной частью аудиоподсистемы linux с версии 2.4, но здесь не следует смешивать. Частично, потому, что многие старые приложения зависят от неё и она, в отличии от ALSA, работает на системах, отличных от Linux. Среди них есть даже некоторые версии FreeBSD. Это была хорошая система для 1992 года, но почти всегда рекомендуется заменять её на ALSA.

OSS определила, как должно работать аудио в Linux, и, частично, способ доступа к аудиоустройствам через дерево ioctl, например, через /dev/dsp. Возможности слоя совместимости ALSA позволяют подключаться старым программам к OSS без отказа от текущего стандарта ALSA.

Проект OSS экспериментировал с открытой и проприетарной разработкой, и сейчас 4 Front Technologies активно разрабатывает его в коммерческом виде. Билд 2002 OSS 4.2 был выпущен в ноябре 2009 года.



Shtsh 20.09.10 23:02 # +6
Примечание от меня:
Если авторы считают, что alsamixer запутан, то вот микшер OSS4 :)
s_1285009136_4538a14739.png

%username% love BDSM!

uscr 20.09.10 23:42 # +4
Он не запутан. Просто окно хреново скомпановано. Излишне много пустого место.
Shtsh 20.09.10 23:50 # +0
А из-за хреновой компоновки довольно затруднительно разобраться, что к чему. Я минут 5 пытался понять, как регулируется главный канал для стерео. Там 25 ползунков и 16 комбо боксов. И с первого раза хрен поймёшь. А ведь штука мощная :)
uscr 20.09.10 23:59 # +0
Наверное, вы правы.

Плохая компоновка == запутанность.
Запутанность != плохая компоновка.

Вот так.
WiseLord 21.09.10 00:23 # +-1
А как же коммутативность равенства?
kstep 21.09.10 13:48 # +0
Над этим множеством она не выполняется.

%username% love BDSM!

%username% love BDSM!

goblinyara 20.09.10 23:48 # +5
за перевод спасибо, интересно было ознакомиться, и очередная пачка найденных мной ошибок под спойлером=)
технологиями, участвующие в процессе
должно быть
технологиями, участвующими в процессе

Если вам надоел этот беспорядок и вы просто хотите понять
нужна запятая после „беспорядок“

процессов седьмого уровня, смешанными
нужно
процессы седьмого уровня смешанными

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

Вот, почему требуется драйвер ядра ALSA
тут не нужна запятая

ALSA должна одновременно брать эти аудио потоки
нужен дефис „аудио-потоки“

так как он находится между ALSA и рабочим столом
тут всё же должно быть „оборудованием“ по смыслу

Это другой мультимедийный фреймворк, получившим развитие
„получивший“

большое число аудио интерфейсов соединятся с машиной
„соединяется“

дополнительные модификации не требуется
ну, тут либо „дополнительной модификации не требуется”, либо „дополнительные модификации не требуются“

поддержку много других типов аудиоитерфейсов.
надо
поддержку многих других типов аудиоинтерфейсов.

Другая замечательной функцией в FFADO является
надо
Другой замечательной функцией в FFADO является

функции аппаратного микширования DSP интегрировано в драйвер
„интегрированы“

на отдельную библиотеку, обрабатывающие мультимедиа
„обрабатывающую“, и плюс запятая после „мультимедиа“

Xine может использовать ALSA и PulseAudio и есть много программ,
нужна запятая после PulseAudio

Phone зародился как ещё один уровень абстракции
„ Phonon“

его под OS X или Windows не беспокоясь
нужна запятая после Windows

он было стандартным звуковым сервером в Gnome
„он был“

больше создавал проблемы нежели решал их
нужна запятая перед "нежели"

способ доступа аудиоустройствам
надо
способ доступа к аудиоустройствам
Zereal 21.09.10 00:17 # +0
блин, это я виновата:( хотя не со всем согласна.
goblinyara 21.09.10 00:22 # +3
заслуженный учитель русского языка и литературы одобрям-с мою корректуру=)
Zereal 21.09.10 00:38 # +0
доиграешься :) буду приставать с целью проверять все :)
goblinyara 21.09.10 00:41 # +2
ну, через 10 часов сдам экзамен, и буду свободен как сопля в полётеаки ястреб в небе до самого НГ, в принципе=) так что я и не отказываюсь=) тем более, записался в magazine корректором=)
goblinyara 21.09.10 19:50 # +1
облом, сегодня не сдал экзамен:-( завалился на ФАПЧ в оптимальном поэлементном приёмнике:-( так что теперь до четверга ещё пока занят буду.....
demon1981 23.09.10 15:32 # +0
когда-то на фазовом детекторе получил свою единственную четверку в диплом, пересдавать было лень... ностальгирую))
Shtsh 21.09.10 00:37 # +1
поправил, спасибо за фидбэк :)
sugar 21.09.10 12:58 # +1
Спасибо переводчикам, отличный обзор технологий.
h31 21.09.10 16:11 # +1
Это потому, что, как и PulseAudio, GStreamer не добавляет ничего нового в эту смесь.

Бред. Основная обязанность GStreamer - (де)кодировать различные форматы.
Поддержка Phonon была тихо удалена из Qt.

Разве?
Shtsh 22.09.10 20:52 # +1
Ну, не совсем корректно перевёл. Лучше будет что-то "Поддержка phonon потихоньку удаляется из Qt". Это правильный перевод. Всё это на совести автора (я знаю в 4.6 и 4.7 он есть, а более подробно ничего не могу сказать)
zz 21.09.10 23:50 # +1
Следующее изображение неплохо отображает положение дел со звуковой подсистемой в linux.

=linux audio
dieformetal 22.09.10 09:20 # +3
Куча текста, и все равно все запутанно. Видимо, вопрос требует еще очень долгой покурки.
ant 23.09.10 12:42 # +1
Интересно, а как попробовать каждую подсистему отдельно? Где оно включается, переключается? Где устанавливаются эти зависимости? Например, будет оно выводить через ALSA или нет?

Может кто-нибудь сказать где и как но лежит в Линуксе?
ant 23.09.10 12:43 # +0
*оно лежит в линуксе
Shtsh 24.09.10 00:55 # +0
Ну, это не распишешь в посте. К тому же не указан дистрибутив.
например, вот об OSS
Imp 27.09.10 07:09 # +1
В Линуксформате была опубликована неплохая статья на эту тему.
Transmitter 03.01.11 05:52 # +0
номер скажите, пожалуйста. если можно ссылкой, то вообще шикарно будет
Transmitter 03.01.11 05:54 # +0
http://wiki.linuxformat.ru/index.php/LXF108:ALSA эта?
Imp 27.09.10 07:10 # +0
Да, кстати, спасибо за перевод =)

Посты Комментарии
Последние посты
    Посты Комментарии
    Последние комментарии
      Посты Комментарии
      Изменения
        Посты Комментарии Изменения Черновики Избранное
        Черновики (все)
          Посты Комментарии Изменения Черновики Избранное
          Избранное (всё)
            Посты Комментарии Изменения Черновики Избранное
            Лучшие блоги (все 151)
            Топ пользователей Топ блогов
            Топ пользователей Топ блогов
            Элита (все 3057 из 226 городов)
            Топ пользователей Топ блогов
            welinux.ru

            В хорошем качестве hd видео

            Онлайн видео бесплатно


            Смотреть русское с разговорами видео

            Online video HD

            Видео скачать на телефон

            Русские фильмы бесплатно

            Full HD video online

            Смотреть видео онлайн

            Смотреть HD видео бесплатно

            School смотреть онлайн