Инструкция по установке и запуску erlyvideo:
1) Скачиваем свежую версию из гита (крайне рекомендуется):
git clone git://github.com/maxlapshin/erlyvideo2) cd erlyvideo
3) make
пойдут какие-то варнинги, но это ничего страшного. Не обращайте внимания.
отредактируйте ebin/erlmedia.app В нём надо найти строчку {file_dir, “/tmp”} и поменять на, скажем,
{file_dir, “/home/max/Movies”}. Обратите внимание на то, что в дефолтном конфиге есть два виртуальных хоста и у каждого
своя папка.
4) Запускаем: make run. После этого у вас должна промотаться не меньше 9 экранов кода и
появится эрланговская консоль в которой написано:
=PROGRESS REPORT== 19-Dec-2009::11:50:50 =
supervisor: {local,ems_sup}
started: [{pid,<0.117.0>},
{name,media_provider_sup_default},
{mfa,{media_provider,start_link,[default]}},
{restart_type,permanent},
{shutdown,2000},
{child_type,worker}]
=PROGRESS REPORT== 19-Dec-2009::11:50:50 =
supervisor: {local,ems_sup}
started: [{pid,<0.119.0>},
{name,media_provider_sup_secure},
{mfa,{media_provider,start_link,[secure]}},
{restart_type,permanent},
{shutdown,2000},
{child_type,worker}]
=PROGRESS REPORT== 19-Dec-2009::11:50:50 =
application: erlmedia
started_at: ‘ems@maxbook.local’
(ems@maxbook.local)1>
Медиапровайдеры стартуют последними и строчку про erlmedia started_at должны увидеть.
Если её нет, идем в пункт про ошибки.
6) http://localhost:8082/
7) справа на этой странице появится список файлов, лежащих в указанной вами папке. Выбирайте .flv или .mp4 (файлы пожатые просто MPEG-4 кодеком не годятся, потому что их флеш не будет играть).
8) выбрали, кликнули, нажали play. Не играет — пишите мне с полным дампом содержимого в консоли.
9) Понравилось — работает? Повторяем все те же шаги на сервере для проверки, после чего прибиваем (набрав q(). в консоли),
и запускаем демоном:
1) Запуск сервера остановился на первом экране кода:
=PROGRESS REPORT== 19-Dec-2009::12:00:05 =
supervisor: {local,sasl_sup}
started: [{pid,<0.43.0>},
{name,release_handler},
{mfa,{release_handler,start_link,[]}},
{restart_type,permanent},
{shutdown,2000},
{child_type,worker}]
=PROGRESS REPORT== 19-Dec-2009::12:00:05 =
application: sasl
started_at: ‘ems@maxbook.local’
Starting ErlMedia …
Eshell V5.7.3 (abort with ^G)
(ems@maxbook.local)1>
Обратите внимание, что Starting ErlMedia и всё. Что бы выяснить, что же именно произошло, надо руками набрать:
(ems@maxbook.local)1> ems:start().
Starting ErlMedia …
{error,{[“52”,58,32,["syntax error before: “,”’{’"]],
“erlmedia.app”}}
(ems@maxbook.local)2>
Ага! На 52-й строчке в конфигурационном файле ошибка: я там умышленно только что удалил запятую:
{applications, [apps_push, apps_streaming, apps_recording, apps_rtmp, apps_shared_objects]},
{secret_key, "123"}
{host, “rtmp://127.0.0.1:1936/live”},
Возвращаем запятую на место, повторяем ems:start(). и erlyvideo стартует до конца.
Внимание! Вызов каждой функции завершается точкой, это синтаксис шелла.
2) Всё запустилось, но ничего не коннектится.
Самый вероятный сценарий — использованные порты. Я сейчас не делал никакой особой проверки на их занятость,
так что пока вам прийдётся проверить самим. По умолчанию расклад портов такой:
1) Скачиваем http://cloud.github.com/downloads/maxlapshin/erlyvideo/erlyvideo-1.0.tar.gz
Это архив с уже скомпилированными файлами.
2) copy src/erlmedia.app ebin/erlmedia.app
3) редактируем ebin/erlmedia.app
4) Достоверно известно, что в Монголии так работает:
erl -pa ebin -boot start_ssl -s ems -mnedia_dir “\”mnesia-data\"" -name ems