<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://wiki.linuxformat.ru/wiki/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://wiki.linuxformat.ru/wiki/index.php?action=history&amp;feed=atom&amp;title=LXF87-88%3AVideoLAN</id>
		<title>LXF87-88:VideoLAN - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://wiki.linuxformat.ru/wiki/index.php?action=history&amp;feed=atom&amp;title=LXF87-88%3AVideoLAN"/>
		<link rel="alternate" type="text/html" href="http://wiki.linuxformat.ru/wiki/index.php?title=LXF87-88:VideoLAN&amp;action=history"/>
		<updated>2026-05-13T00:23:56Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.19.20+dfsg-0+deb7u3</generator>

	<entry>
		<id>http://wiki.linuxformat.ru/wiki/index.php?title=LXF87-88:VideoLAN&amp;diff=5904&amp;oldid=prev</id>
		<title>Crazy Rebel: викификация, оформление</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxformat.ru/wiki/index.php?title=LXF87-88:VideoLAN&amp;diff=5904&amp;oldid=prev"/>
				<updated>2008-12-11T08:45:54Z</updated>
		
		<summary type="html">&lt;p&gt;викификация, оформление&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;: '''VideoLAN''' Организация потокового видеовещания за 10 минут&lt;br /&gt;
[[Категория:Учебники]]&lt;br /&gt;
&lt;br /&gt;
=А давайте покажем им всем!=&lt;br /&gt;
&lt;br /&gt;
: Если вы когда-либо пытались продемонстрировать видеозапись своего отпуска сразу всем своим друзьям и знакомым, то наверняка представляете, как трудно бывает собрать их всех в одном месте. ''VideoLAN'' поможет решить эту проблему – просто настройте сервер потокового вещания, и пусть каждый из них насладится видом солнечного пляжа прямо на рабочем месте! '''Сергей Яремчук''' расскажет, что вам потребуется.&lt;br /&gt;
&lt;br /&gt;
Задачу одновременного просмотра видеоролика большим количеством пользователей можно решить различными способами. Самым&lt;br /&gt;
простым из них будет открыть доступ к видеофайлу по сети и смотреть его в обычном видеопроигрывателе. Данный метод обладает&lt;br /&gt;
тремя несомненными достоинствами, а именно: не требует никакого&lt;br /&gt;
специального программного обеспечения, не зависит от операционной&lt;br /&gt;
системы, установленной на стороне клиента, сам файл можно просмотреть в любое время. Недостатков же не так много (по количеству),&lt;br /&gt;
зато их «качественный» вес перетягивает все остальное. Например&lt;br /&gt;
«живое» видео, полученное с web-камер или со спутникового ТВ таким&lt;br /&gt;
образом уже не посмотришь. Сервер и канал при большом количестве&lt;br /&gt;
подключений будет перегружен. Выход – трансляция видеопотоков. Ею&lt;br /&gt;
мы сейчас сейчас и займемся.&lt;br /&gt;
&lt;br /&gt;
Мы будем использовать ''VideoLAN'' (http://www.videolan.org/) – проект, начатый французскими студентами, а сейчас поддерживаемый&lt;br /&gt;
разработчиками более чем из двадцати стран мира. ''VideoLAN'' прост в&lt;br /&gt;
настройке и обладает всеми необходимыми нам возможностями. С его&lt;br /&gt;
помощью можно легко организовать трансляцию потоков мультимедиа из различных источников: видеофайлов формата MPEG-1, MPEG-2,&lt;br /&gt;
MPEG-4 и DivX, цифровых видео и DVD-дисков, цифровых спутниковых и телевизионных каналов и «живых» видеотрансляций, полученных с web-камер. Все это можно осуществить как для отдельного&lt;br /&gt;
компьютера, так и в небольшой сети или в Интернете. Для трансляции&lt;br /&gt;
потока MPEG-4 ширина канала должна быть от 0.5 до 4 Мбит/с, для&lt;br /&gt;
потока MPEG-2, идущего со спутникового или телевизионного канала –&lt;br /&gt;
от 3 до 4 Мбит/с, а для DVD потребуется от 6 до 9 Мбит/с. Этот проект&lt;br /&gt;
выделяет еще одна особенность – многоплатформенность. ''VideoLAN''&lt;br /&gt;
может работать на компьютерах под управлением различных версий&lt;br /&gt;
GNU/Linux, всех распространенных BSD-систем, Windows, Mac OS X,&lt;br /&gt;
BeOS, Solaris, QNX. ''VideoLAN'' распространяется по лицензии GPL.&lt;br /&gt;
&lt;br /&gt;
Для организации вещания ''VideoLAN'' предлагает два приложения:&lt;br /&gt;
* '''''VLS''''' – сервер ''VideoLAN'', транслирующий (как уже говорилось) потоки из файлов MPEG-1, MPEG-2 и MPEG-4, DVD и VCD, цифровых спутниковые и телевизионных каналов, а также «живое» видео.&lt;br /&gt;
* '''''VLC''''' – изначально, клиент ''VideoLAN'', способный получать, декодировать и выводить потоки MPEG. Сейчас эта программа может использоваться и как сервер, транслирующий потоки из файлов в формате MPEG-1, MPEG-2 и MPEG-4/DivX, видеодисков и «живое» видео. Помимо этого, ''VLC'' является универсальным видеопроигрывателем локальных файлов, поддерживающим большинство форматов.&lt;br /&gt;
&lt;br /&gt;
Для ''VLS'' отдельно поставляется ''SAP''-сервер. Его назначение – объявление анонсов транслируемых по сети программ (''VLC'' анонсирует&lt;br /&gt;
себя сам). Клиенты ''VLC'' получают эти сообщения и автоматически&lt;br /&gt;
добавляют объявленные программы в свой плей-лист.&lt;br /&gt;
&lt;br /&gt;
''VLC'' имеет понятный графический интерфейс, позволяющий&lt;br /&gt;
настроить большинство параметров. Для организации одного потока&lt;br /&gt;
достаточно компьютера класса Pentium 100 с 32 Mб ОЗУ, жесткий диск,&lt;br /&gt;
естественно, нужен побольше.&lt;br /&gt;
&lt;br /&gt;
==Установка VLC==&lt;br /&gt;
&lt;br /&gt;
Перекомпилированные пакеты ''VLC'' доступны для большинства дистрибутивов. В системах, базирующихся на ''APT'', все, что касается ''VLC'', можно найти одной командой:&lt;br /&gt;
&lt;br /&gt;
 $sudo apt-cache search vlc&lt;br /&gt;
&lt;br /&gt;
Список будет большим, но, к счастью, все устанавливать не нужно. Например, чтобы установить ''VLC'' в минимальной конфигурации в KUbuntu, достаточно ввести:&lt;br /&gt;
&lt;br /&gt;
 $ sudo apt-get update&lt;br /&gt;
 $ sudo apt-get install vlc vlc-plugin-alsa &lt;br /&gt;
 #или vlc-plugin-esd для Ubuntu&lt;br /&gt;
&lt;br /&gt;
При этом будут установлены все необходимые пакеты, включая&lt;br /&gt;
зависимости. По умолчанию используется графический интерфейс&lt;br /&gt;
''wxvlc'' (библиотека ''wxWidgets/wxGTK''), но при желании можно добавить&lt;br /&gt;
к списку ''kvlc'', ''qvlc'' или ''gnome-vlc'' и установить интерфейсы для KDE,&lt;br /&gt;
Qt или GNOME ['''имейте в виду, что некоторые из них уже официально не поддерживаются,-прим.ред.'']. Кроме того, ''VLC'' доступен в виде подключаемого модуля ''Mozilla mozilla-plugin-vlc.'' Для ALTLinux команда&lt;br /&gt;
установки выглядит так.&lt;br /&gt;
&lt;br /&gt;
  $ apt-get install vlc-normal&lt;br /&gt;
&lt;br /&gt;
На странице http://www.videolan.org/vlc/ приведены ссылки с информацией по установке ''VLC'' в основных дистрибутивах GNU/Linux.&lt;br /&gt;
&lt;br /&gt;
Если вы будете устанавливать ''VLC'' вручную, вам понадобится еще &lt;br /&gt;
несколько дополнительных библиотек:&lt;br /&gt;
&lt;br /&gt;
* '''''libdvdcss''''' – если вы планируете читать зашифрованные DVD-диски (кстати, модуль не обращает внимание на зоны);&lt;br /&gt;
* '''''libdvdplay''''' – если требуется поддержка DVD-меню;&lt;br /&gt;
* '''''libdvbpsi''''' – если вы планируете читать видеопотоки TS/DVB со спутников или цифрового телевидения;&lt;br /&gt;
* '''''a52dec''''' – при необходимости декодировать звук в формате AC3 (A52), принятом в мире DVD;&lt;br /&gt;
* '''''ffmpeg, libmad''''' и '''''faad2''''' – для чтения файлов MPEG 4/DivX;&lt;br /&gt;
* '''''libogg''''' и '''''libvorbis''''' – для поддержки звукового формата Ogg Vorbis;&lt;br /&gt;
* '''''lirc''''' – для управления с помощи пульта ДУ&lt;br /&gt;
&lt;br /&gt;
==Ключ на старт!==&lt;br /&gt;
&lt;br /&gt;
Запустить ''VLC'' можно как из основного меню рабочего стола, в&lt;br /&gt;
которое встраивается ярлык программы, так и c консоли, командой&lt;br /&gt;
''vlc''. В результате перед вами появится главное окно ''VLC'' (рис.1). Теперь&lt;br /&gt;
можно просмотреть локальный видеофайл, создать поток или подключиться к уже имеющемуся. Разберем со всем этим по порядку.&lt;br /&gt;
&lt;br /&gt;
[[Изображение:LXF88_vlc1.png|Рис. 1]]&lt;br /&gt;
&lt;br /&gt;
Чтобы просмотреть файл, введите в командной строке:&lt;br /&gt;
&lt;br /&gt;
 $ vlc -vvv my_videofile.mpg&lt;br /&gt;
&lt;br /&gt;
Программа сама подберет необходимый декодер. В случае неудачи&lt;br /&gt;
его можно задать вручную параметром '''--codec'''.&lt;br /&gt;
&lt;br /&gt;
 $ vlc -vvv --codec ffmpeg my_videofile.mpg&lt;br /&gt;
&lt;br /&gt;
Просмотр VCD или DVD начинается командой&lt;br /&gt;
 &lt;br /&gt;
$ vlc -vvv vcd:/dev/cdrom:@1:1&lt;br /&gt;
&lt;br /&gt;
То же самое можно сделать и через меню. Просто откройте пункт&lt;br /&gt;
Файл и выберите источник сигнала, файл, папку или диск.&lt;br /&gt;
&lt;br /&gt;
==Создание и просмотр потока==&lt;br /&gt;
&lt;br /&gt;
''VLC'' (как и ''VLS'') может создавать два типа видеопотоков: unicast и multicast (возможно применение обеих вариантов одновременно).&lt;br /&gt;
В первом случае видеофайл разбивается на пакеты и отправляются&lt;br /&gt;
по индивидуальному IP-адресу, указанному программе при запуске.&lt;br /&gt;
Принимающая сторона просто считывает данные, поступающие на&lt;br /&gt;
открытый для приема UDP-порт (по умолчанию используется 1234). Во&lt;br /&gt;
втором случае сервер организует передачу на специальный групповой&lt;br /&gt;
IP-адрес, с которого и считывают информацию многочисленные клиенты. Для создания unicast-потока следует ввести команду вроде:&lt;br /&gt;
&lt;br /&gt;
 # vlc -vvv videofile.avi --sout udp://192.168.0.42 --ttl 1&lt;br /&gt;
&lt;br /&gt;
где '''videofile.avi''' – транслируемый видофайл, '''udp://192.168.0.42''' – unicast IP-адрес (имя unicast IP-адрес (имя&lt;br /&gt;
DNS) отдельного компьютера, '''ttl''' означает Time To Live т.е. время жизни пакета.&lt;br /&gt;
Каждый маршрутизатор уменьшает значение TTL на единицу и, когда оно становится равным нулю, пакет уничтожается. Таким&lt;br /&gt;
образом, установив значение TTL в 1, мы не допустим передачи трансляции в глобальную сеть.&lt;br /&gt;
&lt;br /&gt;
Можно отправить в сеть и содержимое DVD диска.&lt;br /&gt;
&lt;br /&gt;
 # vlc -vvv dvd:/dev/dvd --sout udp://example.org&lt;br /&gt;
&lt;br /&gt;
Для трансляции DVD или VCD под Unix потребуется право на&lt;br /&gt;
запись в '''/dev/dvd''' ('''/dev/cdrom'''). Обычно для этого необходимо вклю&lt;br /&gt;
чить пользователя, от имени которого запускается сервер, в группу&lt;br /&gt;
'''cdrom'''. Более грубый, но и более простой подход состоит в передаче&lt;br /&gt;
этого права всем и каждому:&lt;br /&gt;
&lt;br /&gt;
 # chmod 666 /dev/dvd&lt;br /&gt;
&lt;br /&gt;
Аналогичным образом можно транслировать сигнал и с других&lt;br /&gt;
источников.&lt;br /&gt;
&lt;br /&gt;
Подключиться к unicast-потоку можно следующим образом.&lt;br /&gt;
&lt;br /&gt;
 # vlc -vvv udp:&lt;br /&gt;
&lt;br /&gt;
В случае использования порта, отличного от 1234, необходимо&lt;br /&gt;
явно указать его номер:&lt;br /&gt;
&lt;br /&gt;
 # vlc -vvv udp:@:9876&lt;br /&gt;
&lt;br /&gt;
Забегая немного вперед, скажем, что при подключении к multicast-&lt;br /&gt;
потоку необходимо добавить еще и IP-адрес.&lt;br /&gt;
&lt;br /&gt;
 # vlc -vvv udp:@multicast_address[:server_port]&lt;br /&gt;
&lt;br /&gt;
Для широковещательных передач зарезервирован специальный&lt;br /&gt;
диапазон IP-адресов: от 224.0.0.0 до 239.255.255.255. Для организации multicast-потока можно выбрать любой понравившийся адрес из этого диапазона и настроить его использование как на сервере, так и&lt;br /&gt;
на клиенте. Для трансляции можно воспользоваться и стандартным&lt;br /&gt;
для любой сети широковещательным адресом, как правило, заканчивающимся на 255, но в большой сети это может помешать нормальной работе некоторых служб.&lt;br /&gt;
&lt;br /&gt;
''VideoLAN'' поддерживает и так называемое HTTP-вещание, когда&lt;br /&gt;
клиенты подключаются к почти обычному Web-серверу, только в ответ&lt;br /&gt;
на запрос получают не текстовый файл, а видеоданные. Сервер в таком&lt;br /&gt;
случае запускается так.&lt;br /&gt;
 # vlc -vvv input_stream --sout ‘#standard{access=http,mux=ogg,url=server.example.org:1234}’&lt;br /&gt;
&lt;br /&gt;
Клиенту (''VLC'' или другой программе, например, ''Xine'') достаточно&lt;br /&gt;
указать стандартный URL, начинающийся с '''http://''':&lt;br /&gt;
&lt;br /&gt;
 # vlc http://server.example.org:1234&lt;br /&gt;
&lt;br /&gt;
Поток можно создать и с помощью меню. Для этого выберите&lt;br /&gt;
источник ('''Файл – Открыть файл'''). В появившемся диалоговом окне&lt;br /&gt;
отметьте нужный файл и поставьте флажок напротив '''Вывод потока''' ('''Stream Output'''), затем нажмите '''Настройка'''. В открывшемся окне (рис.2) можно либо перечислить параметры командной строки в поле&lt;br /&gt;
'''Destination Target''', либо (что более удобно), воспользоваться группой&lt;br /&gt;
элементов '''Output Methods'''.&lt;br /&gt;
&lt;br /&gt;
[[Изображение:LXF88_vlc2.png|Рис. 2]]&lt;br /&gt;
&lt;br /&gt;
Например, для организации потока UDP multicast необходимо поставить флажок напротив пункта '''UDP'''. Параметры '''Адрес''' (224.10.10.10) и '''порт''' (1234) можно оставить без изменения. Активировав пункт&lt;br /&gt;
'''Воспроизводить локально''', вы сможете контролировать, что уходит в&lt;br /&gt;
сеть, на компьютере-сервере. Для приема потока на другом компьютере используйте меню '''Файл''' – '''Open Network Stream''', в появившемся окне укажите реквизиты multicast-сервера. Полученный поток можно тут же&lt;br /&gt;
ретранслировать на другой адрес, как показано на рис.3.&lt;br /&gt;
&lt;br /&gt;
[[Изображение:LXF88_vlc3.png|Рис. 3]]&lt;br /&gt;
&lt;br /&gt;
Существует и третий вариант – использование мастер-трансляции и&lt;br /&gt;
перекодирования, которое вызывается из одноименного пункта меню&lt;br /&gt;
'''Файл'''. В этом случае вам необходимо будет пройти всего пять шагов:&lt;br /&gt;
* выбор режима работы – '''Вещание в сеть'''&lt;br /&gt;
[[Изображение:LXF88_vlc4.png|Рис. 4]]&lt;br /&gt;
* выбор источника сигнала – '''поток''' или '''список'''&lt;br /&gt;
[[Изображение:LXF88_vlc5.png|Рис. 5]]&lt;br /&gt;
* выбор варианта выходного потока – '''UDP unicast''', '''multicast''' или '''HTTP'''&lt;br /&gt;
[[Изображение:LXF88_vlc6.png|Рис. 6]]&lt;br /&gt;
* выбор формата форматирования пакета &lt;br /&gt;
[[Изображение:LXF88_vlc7.png|Рис. 7]]&lt;br /&gt;
* установки '''TTL''' и анонсов '''SAP'''&lt;br /&gt;
[[Изображение:LXF88_vlc8.png|Рис. 8]]&lt;br /&gt;
 &lt;br /&gt;
После нажатия на кнопку '''Finish''' можно подключаться к потоку и&lt;br /&gt;
проверять результат. Как можно видеть, при использовании мастера&lt;br /&gt;
некоторые опции оказываются недоступными.&lt;br /&gt;
&lt;br /&gt;
==Продвинутые возможности==&lt;br /&gt;
&lt;br /&gt;
На закуску поговорим о некоторых возможностях ''VLC'', выходящих за пределы базовой функциональности «потокового вещателя». Например, очень полезная в хозяйстве вещь – transcoding. При этом исходный файл перекодируется в любой из поддерживаемых ''VLC'' форматов «на лету» и затем уже отправляется в странствие или сохраняется на жестком диске&lt;br /&gt;
(опция '''File''' во вкладке '''Stream Output''').&lt;br /&gt;
Активировав пункты '''Audio''' и '''Video codec''' в поле '''Transcoding Options''', можно установить кодек, битрейт&lt;br /&gt;
и количество аудио-каналов. В командной строке все эти функции можно подключить через опцию&lt;br /&gt;
'''transcode''', если, конечно, вам нравятся конструкции вида:&lt;br /&gt;
&lt;br /&gt;
 # vlc -vvv dvd:/dev/dvd –sout ‘#transcode{vcodec= DIV3, acodec=vorb,v&lt;br /&gt;
 b=800,ab=128,channels=2,deinterlace}:standard{access=udp,mux=ts,url=2&lt;br /&gt;
 39.255.12.42,sap=TestStream}’&lt;br /&gt;
&lt;br /&gt;
Подобным образом можно легко собрать очень неплохую и к тому&lt;br /&gt;
же универсальную программу «ограбления» видеодиска и захвата&lt;br /&gt;
видео. С помощью модуля '''duplicate''' есть возможность разделить&lt;br /&gt;
входящий поток на два и затем каждый из них обработать по своему&lt;br /&gt;
усмотрению.&lt;br /&gt;
&lt;br /&gt;
 # vlc -vvv videofile.avi --sout ‘#duplicate{dst=display,&lt;br /&gt;
 dst=”transcode{vcodec=mp4v,acodec=mpga,vb=800,ab=128}:&lt;br /&gt;
 duplicate{dst=standard{access=udp,mux=ts,url=192.168.1.2},&lt;br /&gt;
 dst=standard{access=udp,mux=ts,url=192.168.1.12}”}’&lt;br /&gt;
&lt;br /&gt;
Все параметры, чтобы не вводить их каждый раз, можно прописать в конфигурационном файле. По умолчанию используется '''$HOME/.vlc/vlcrc'''.&lt;br /&gt;
&lt;br /&gt;
В итоге, после небольших манипуляций, мы получили свой сервер,&lt;br /&gt;
транслирующий видеопоток. Ответы на все вопросы о возможностях&lt;br /&gt;
программ проекта ''VideoLAN'' можно найти в документации, которой&lt;br /&gt;
более чем предостаточно на официальном сайте. '''LXF'''&lt;/div&gt;</summary>
		<author><name>Crazy Rebel</name></author>	</entry>

	</feed>