Форум русскоязычного сообщества Ubuntu


Считаете, что Ubuntu недостаточно дружелюбна к новичкам?
Помогите создать новое Руководство для новичков!

Автор Тема: [HOWTO] LiveStreaming для ленивых  (Прочитано 7496 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Samael

  • Автор темы
  • Участник
  • *
  • Сообщений: 169
  • Учусь
    • Просмотр профиля
[HOWTO] LiveStreaming для ленивых
« : 01 Марта 2010, 13:17:19 »
Итак, появилось у меня желание показать какое-либо видео всем друзьям. Или провести живую презентацию. Как это сделать с минимумом затрат? Ответ - LiveStreaming. Тут я расскажу, как ее настроить с минимумом телодвижений.

Сначала схема. В идеале:
Камера -> Поток -> СтримСервер -> Веб-сервер -> Браузер
На данный момент самое простое решение - реализовать на базе флеша. И если с камерой вопросов особо нету, то возникает вопрос в связке Поток -> СтримСервер.

Самый популярный на данный момент OpenSource СтримСервер - это Red5. Истинно мультиплатформенный, написан на Java. Из минусов - его сложно настраивать неспециалисту в Флеш-технологиях. В идеале он требует знаний Java и Flex/ActionScript/etc

Посему для меня, простого юзверя, он подходил мало. На просторах интернета был найден еще один СтримСервер - ErlyVideo. Написан на Эрланге, также мультиплатформенный (правда на Windows мне так и не удалось его запустить). Написан он нашим соотечественником Максимом Лапшиным. Распостраняется под лицензией MIT.


Далее я опишу процесс установки и настройки.
1. Перед установкой следует убедиться, что у системы есть FQDN (формата something.example.com) адрес. Проверить это можно командой hostnameЕсли нет, то прописать желаемый адрес в /etc/hostname
something.example.comи /etc/hosts
127.0.0.1       localhost
127.0.1.1       something.example.com
Возможно, стоит произвести перезагрузку.
2. Ставил я ее из репозитария, как было предложено на страничке. В репозитарии находятся пакеты (по крайней мере, на момент написания) только для х64. Поэтому для x32 - добро пожаловать в установку из исходников.
Если п.1 был корректно выполнен, установка пройдет как по маслу.
3. Все, сервер установлен. Проверить его работоспособность можно на localhost:8082
4. Теперь о вещании. На этой страничке все подробно расписано, но я повторюсь.
 4.1 Настраиваем VLC на любой системе. Используюя Wizard создаем стрим формата HTTP на адрес 0.0.0.0:8080 (для примера), обязательно инкапсуляция MPEG-TS. Можно использовать встроенный h.264 кодировщик для кодирования "на лету". Например, так:
vlc -v videofile.avi --sout #transcode{vcodec=h264,vb=500,acodec=mp4a,ab=64,channels=1}:std{access=http,mux=ts,dst=0.0.0.0:8080} 4.2 Редактируем файл /etc/erlyvideo/erlmedia.conf для привода его к виду
Цитировать
{rtmp_port, 1935}.
{rtsp_port, 8081}.
{http_port, 8082}.
{vhosts, [
   {default, [
      {hostname, ["localhost"]},
      {modules, [trusted_login, apps_push, apps_streaming, apps_recording, apps_shared_objects]},
      {secret_key, "123"},
      {access_log, {"/var/log/erlyvideo/", "access", {size, 1000000}, 10, "log", info}},
      {error_log, {"/var/log/erlyvideo/", "error", {size, 1000000}, 10, "log", info}},
      {host, "rtmp://localhost"},
      {file_dir, "/var/lib/erlyvideo/movies"},
                        {wwwroot, "/var/lib/erlyvideo/wwwroot"},
      {mpegts, [
        {"stream/vlc.ts", "http://IP-адрес машины с VLC:8080/"}
      ]}
   ]},
   {production, [
      {hostname, ["production.local"]},
      {modules, [trusted_login, apps_push, apps_streaming, apps_recording, apps_rtmp, apps_shared_objects]},
      {access_log, {"log", "production-access", {size, 1000000}, 10, "log", info}},
      {error_log, {"log", "production-error", {size, 1000000}, 10, "log", info}},
      {secret_key, "<какой-то ключ>"},
      {host, "rtmp://localhost"},
      {file_dir, "/tmp"}
   ]}
]}.
Тут надо перезапустить сервер, но в связи с некими техническими особенностями реализации перезапуск лучше делать перезагрузкой. Так проще.
 4.3 На машине с erlyvideo или любой другой идем браузером по адресу http://<IP-адрес стримсервера>/flowplayer/index.html. В появившемся окне адреса вбиваем rtmp://<IP-адрес стримсервера>, в окне Path - stream/vlc.ts.
 4.4 Нажимаем Play
5 ?????????
6 PROFIT!
« Последнее редактирование: 01 Марта 2010, 13:21:45 от Samael »
Ubuntu 8.04 @ Dell Inspiron 1501 -> Mint 14 @ Acer AspireOne 722

Оффлайн aya

  • Участник
  • *
  • Сообщений: 196
    • Просмотр профиля
Re: [HOWTO] LiveStreaming для ленивых
« Ответ #1 : 01 Марта 2010, 13:31:39 »
от первой перезагрузки можно избавиться так: /etc/init.d/network restart.

Оффлайн Samael

  • Автор темы
  • Участник
  • *
  • Сообщений: 169
  • Учусь
    • Просмотр профиля
Re: [HOWTO] LiveStreaming для ленивых
« Ответ #2 : 29 Марта 2010, 13:35:16 »
Написал вторую часть, посвященную IP-камерам.
Ubuntu 8.04 @ Dell Inspiron 1501 -> Mint 14 @ Acer AspireOne 722

 

Страница сгенерирована за 0.017 секунд. Запросов: 21.