Inp Posted October 28, 2014 Posted October 28, 2014 Приветствую! Имеется поток 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
roysbike Posted October 28, 2014 Posted October 28, 2014 (edited) Попробуйте проект erlyvideo(в бесплатной версии вроде все есть для этого) , я поток с камер вещал через него. Как раз он понимает h264. Edited October 28, 2014 by roysbike Вставить ник Quote
s.lobanov Posted October 28, 2014 Posted October 28, 2014 Erlyvideo транскодить быстрее не будет. 10% cpu это совсем немного, на 8 ядер это будет 60-80 каналов, если конечно транскод не пожирает кеш цпу и тем самым процессы не будут мешать друг другу Вставить ник Quote
Inp Posted October 28, 2014 Author Posted October 28, 2014 При использовании flussonic в результате получается каша, а не изображение(вещание ведется без транскодирования). vlc клиент в статистике показывает множество потерянных кадров Вставить ник Quote
vlad11 Posted October 29, 2014 Posted October 29, 2014 (edited) Пробуйте включить кеширование: vlc rtsp://${cam}.office:554/live1.sdp --rtsp-caching=400 --http-caching=1000 \ ... У меня дальше транскодируется во flash. Проц тоже некисло кушается... Edited October 29, 2014 by vlad11 Вставить ник Quote
alibek Posted October 29, 2014 Posted October 29, 2014 А кто источник видео? Я бы попробовал с параметрами его кодера поиграться. У меня 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
^rage^ Posted October 29, 2014 Posted October 29, 2014 и снова я спрошу про gstreamer: почему не он? Вставить ник Quote
alibek Posted October 29, 2014 Posted October 29, 2014 Предположу, что из-за универсальности VLC. На нем и транскодинг, и монтаж, и сведение. И всеядный он. Для продакшна говорят что не очень стабилен, но лично у меня, несмотря на все страшилки по утечкам памяти и падениям, стабильно работает месяцами (под сотню потоков, под 200 Мбит/с трафика). Вставить ник Quote
taf_321 Posted October 29, 2014 Posted October 29, 2014 и снова я спрошу про gstreamer: почему не он? Потому что у нас в стране даже трава под запретом. А чтобы разобраться в лапше gstreamer нужен ядерный коктейль из травы, грибов и тяжелой химии. Вставить ник Quote
Ivan_83 Posted October 29, 2014 Posted October 29, 2014 Потому что у нас в стране даже трава под запретом. А чтобы разобраться в лапше gstreamer нужен ядерный коктейль из травы, грибов и тяжелой химии. "мануалы читать и думать мы не хотим, а готовых примеров для наших нужд не нагуглилось". Вставить ник Quote
taf_321 Posted October 30, 2014 Posted October 30, 2014 Более наркоманскую документацию, чем у gstreamer, я видел только у одного отечественного вендора. Вставить ник Quote
alibek Posted October 30, 2014 Posted October 30, 2014 Ivan_83, ну если VLC отлично работает, зачем его менять? Вставить ник Quote
Inp Posted October 30, 2014 Author Posted October 30, 2014 HD контент rtsp://78.140.209.20/live/piktv3pik3tv Вставить ник Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.