Icecast-ffmpeg2theora-ffmpeg — видеопоток

Здравствуйте, уважаемые читатели. Сегодня наша статья на тему: "Icecast-ffmpeg2theora-ffmpeg - видеопоток". В данной статье рассмотрим несколько альтернативных способов организации видеопотока, для сервера потокового аудио и видео вещания Icecast, с помощью ffmpeg2theora и ffmpeg.
FFmpeg2theora – простой конвертер для создания файлов Ogg Theora.
FFmpeg – набор бесплатных библиотек, которые позволяют конвертировать и передавать аудио и видео записи в различных форматах.
Установка FFmpeg2theora и FFmpeg
- Для начала, нам нужно установить сторонний репозиторий Nux Dextop.
# rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-1.el7.nux.noarch.rpm
- Начнём с установки FFmpeg2theora.
# yum install ffmpeg2theora
- По завершении, устанавливаем FFmpeg библиотеки.
# yum install ffmpeg ffmpeg-compat ffmpeg-compat-devel ffmpeg-devel ffmpeg-libs
- В качестве связующего звена, будем использовать утилиту Оggfwd. Производим инсталляцию утилиты.
# rpm -Uvh https://download.opensuse.org/repositories/home:/jnweiger/CentOS_7/x86_64/oggfwd-0.2-5.10.x86_64.rpm
- На этом, все необходимые пакеты установлены. Переходим к работе с медиа.
Трансляция видеопотока в связке Icecast-ffmpeg2theora-ffmpeg
Перекодирование видео на лету
Формат команды для трансляции с перекодированием на лету, примерно такой:
# ffmpeg2theora --no-skeleton -p preview /video/1.mp4 -o /dev/stdout | oggfwd 192.168.10.12 8000 hackme /tv
- /video/1.mp4 – путь к видео файлу на сервере.
- 192.168.10.12 – ip-адрес сервера Icecast
- 8000 – порт сервера Icecast
- hackme – пароль для подключения потока на сервере Icecast
- tv – название создаваемого видеопотока
- После запуска команды, начинается перекодирование на лету, и трансляция видеопотока.
В консоли это отображается таким образом:

- Если мы зайдем на сервер Icecast, то увидим в списке локальных точек монтирования, созданный нами поток.

- Для воспроизведения видеопотока, можно использовать любой плейер с поддержкой потокового вещания. Например VLC.
- Вводим адрес потока, и любуемся видеотрансляцией.

- При таком подходе (перекодирование на лету), могут тратится значительные ресурсы сервера.
Предварительная перекодировка
- Чтобы сэкономить ресурсы сервера, можно предварительно перекодировать файлы, и транслировать видео, в удобном формате OGV.
- Конвертацию в формат ogv, можно произвести при помощи программ конвертеров под Windows, онлайн-конвертеров, или прямо из консоли сервера.
# ffmpeg -i /video/1.mp4 -codec:v libtheora -qscale:v 5 -codec:a libvorbis -qscale:a 4 /video/1.ogv
- /video/1.mp4 – путь к видео файлу на сервере
- -codec:v libtheora -qscale:v 5 -codec:a libvorbis -qscale:a 4 – параметры конвертирования
- /video/1.ogv – путь к файлу после конвертирования

Трансляция готового видео файла OGV
# cat /video/1.ogv | oggfwd 192.168.10.12 8000 hackme /tv
- 192.168.10.12 – ip-адрес сервера Icecast
- 8000 – порт сервера Icecast
- hackme – пароль для подключения потока на сервере Icecast
- tv – название создаваемого видеопотока
В консоли процесс трансляции будет отображаться таким образом:

- Можно проверить созданный видеопоток на сервере Icecast, или посмотреть трансляцию в плейере.
- У FFmpeg и FFmpeg2theora, много дополнительных опций, которые можно просмотреть в консоли, вызовом справки.

Сегодня мы рассмотрели тему: "Icecast-ffmpeg2theora-ffmpeg - видеопоток". Произвели установку всех необходимых пакетов, и протестировали возможности организации трансляции видео. Смотрите так же видео по теме.
Надеюсь статья была вам полезна. До встречи в новых статьях.
✍
С уважением, Андрей Бондаренко.
Видео на тему "Icecast-ffmpeg2theora-ffmpeg - видеопоток":

WMZ-кошелёк = Z667041230317
«Media»