Inp Posted October 28, 2014 · Report post Приветствую! Имеется поток 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% загрузки ЦП. Можете ли подсказать, что делается не так? Как можно оптимизировать процедуру или же какие программно-аппаратные решения можно использовать для данной задачи? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
roysbike Posted October 28, 2014 (edited) · Report post Попробуйте проект erlyvideo(в бесплатной версии вроде все есть для этого) , я поток с камер вещал через него. Как раз он понимает h264. Edited October 28, 2014 by roysbike Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
s.lobanov Posted October 28, 2014 · Report post Erlyvideo транскодить быстрее не будет. 10% cpu это совсем немного, на 8 ядер это будет 60-80 каналов, если конечно транскод не пожирает кеш цпу и тем самым процессы не будут мешать друг другу Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Inp Posted October 28, 2014 · Report post При использовании flussonic в результате получается каша, а не изображение(вещание ведется без транскодирования). vlc клиент в статистике показывает множество потерянных кадров Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
vlad11 Posted October 29, 2014 (edited) · Report post Пробуйте включить кеширование: vlc rtsp://${cam}.office:554/live1.sdp --rtsp-caching=400 --http-caching=1000 \ ... У меня дальше транскодируется во flash. Проц тоже некисло кушается... Edited October 29, 2014 by vlad11 Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
alibek Posted October 29, 2014 · Report post А кто источник видео? Я бы попробовал с параметрами его кодера поиграться. У меня 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 Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
^rage^ Posted October 29, 2014 · Report post и снова я спрошу про gstreamer: почему не он? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
alibek Posted October 29, 2014 · Report post Предположу, что из-за универсальности VLC. На нем и транскодинг, и монтаж, и сведение. И всеядный он. Для продакшна говорят что не очень стабилен, но лично у меня, несмотря на все страшилки по утечкам памяти и падениям, стабильно работает месяцами (под сотню потоков, под 200 Мбит/с трафика). Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
taf_321 Posted October 29, 2014 · Report post и снова я спрошу про gstreamer: почему не он? Потому что у нас в стране даже трава под запретом. А чтобы разобраться в лапше gstreamer нужен ядерный коктейль из травы, грибов и тяжелой химии. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Ivan_83 Posted October 29, 2014 · Report post Потому что у нас в стране даже трава под запретом. А чтобы разобраться в лапше gstreamer нужен ядерный коктейль из травы, грибов и тяжелой химии. "мануалы читать и думать мы не хотим, а готовых примеров для наших нужд не нагуглилось". Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
taf_321 Posted October 30, 2014 · Report post Более наркоманскую документацию, чем у gstreamer, я видел только у одного отечественного вендора. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
alibek Posted October 30, 2014 · Report post Ivan_83, ну если VLC отлично работает, зачем его менять? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Inp Posted October 30, 2014 · Report post HD контент rtsp://78.140.209.20/live/piktv3pik3tv Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...