Перейти к содержимому
Калькуляторы

Нужна помощь в организации вещания rtsp->multicast vlc расходует много ресурсов

Приветствую! Имеется поток RTSP в HD качестве.

Видеокодек: h264-MPEG4 AVC, разрешение 1280x720

Аудиокодек: MPEG AAC (mp4a)

Необходимо его транслировать по multicast. Самым простым решением для этой задачи могло бы быть вещание с помощью VLC.

Серверная машина:

HP Xeon Quad Core 24 Гб RAM

Если на входе канала выбрать RTSP поток, а на выходе указать мультикаст-группу, то видео вещается, но изображение смешивается, даже с кешингом и параметром use key frame, будто есть какие-то проблемы с ключевым кадром.

su vlc -c "cvlc --loop -d rtsp://xx.xx.xx.xx/path --network-caching=2000 --sout-mux-caching=2000 --sout '#std{access=udp{ttl=15},mux=ts{tsid=22,pid-video=23,pid-audio=24,pid-pmt=25,use-key-frames},dst=xxx.xxx.x.xxx:port}'"

При транскодировании происходит генерация ключевого кадра и проблема пропадает.

su vlc -c "cvlc --loop -d rtsp://xx.xx.xx.xx/path --network-caching=2000 --sout-mux-caching=2000 --sout '#transcode{vcodec=h264, acodec=mpga}:std{access=udp{ttl=15},mux=ts{tsid=22,pid-video=23,pid-audio=24,pid-pmt=25,use-key-frames},dst=xxx.xxx.x.xxx:port}'"

Однако, данный процесс занимает до 10% загрузки ЦП. Можете ли подсказать, что делается не так? Как можно оптимизировать процедуру или же какие программно-аппаратные решения можно использовать для данной задачи?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Попробуйте проект erlyvideo(в бесплатной версии вроде все есть для этого) , я поток с камер вещал через него. Как раз он понимает h264.

Изменено пользователем roysbike

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Erlyvideo транскодить быстрее не будет. 10% cpu это совсем немного, на 8 ядер это будет 60-80 каналов, если конечно транскод не пожирает кеш цпу и тем самым процессы не будут мешать друг другу

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

При использовании flussonic в результате получается каша, а не изображение(вещание ведется без транскодирования).

vlc клиент в статистике показывает множество потерянных кадров

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Пробуйте включить кеширование:

 

vlc rtsp://${cam}.office:554/live1.sdp --rtsp-caching=400 --http-caching=1000 \
...

У меня дальше транскодируется во flash. Проц тоже некисло кушается...

Изменено пользователем vlad11

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А кто источник видео?

Я бы попробовал с параметрами его кодера поиграться.

У меня 80 потоков вещается на довольно средненьком сервере, вещается нормально.

Правда я не с командной строки параметры задаю, а в vlm-файле, примерно таком:

new cam-305 broadcast enabled loop
setup cam-305 input  rtsp://10.102.3.5:554/live/ch00_0
setup cam-305 output #std{access=udp,dst=239.0.3.5:1234}
control cam-305 play

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Предположу, что из-за универсальности VLC.

На нем и транскодинг, и монтаж, и сведение. И всеядный он.

Для продакшна говорят что не очень стабилен, но лично у меня, несмотря на все страшилки по утечкам памяти и падениям, стабильно работает месяцами (под сотню потоков, под 200 Мбит/с трафика).

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

и снова я спрошу про gstreamer: почему не он?

 

Потому что у нас в стране даже трава под запретом. А чтобы разобраться в лапше gstreamer нужен ядерный коктейль из травы, грибов и тяжелой химии.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Потому что у нас в стране даже трава под запретом. А чтобы разобраться в лапше gstreamer нужен ядерный коктейль из травы, грибов и тяжелой химии.

"мануалы читать и думать мы не хотим, а готовых примеров для наших нужд не нагуглилось".

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Более наркоманскую документацию, чем у gstreamer, я видел только у одного отечественного вендора.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ivan_83, ну если VLC отлично работает, зачем его менять?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.