Jump to content
Калькуляторы

HD вещание: проблемы с vlc и ffmpeg

Доброго времени суток.

Возникла необходимость в вещании пары-тройки потоков FullHD по multicast-у.

Закупили ПО, включающее в себя базирующийся на vlc сервер вещания и middleware, установили на ubuntu-сервер.

В качестве клиентского устройства - строго Amino A140, коммутаторы D-Link DGS 3120-24SC и 3200-26.

 

Поток - 18-20 мбит mpeg2. Транслируются короткие ролики длительностью 10-120 сек.

При смене ролика теряются последние пара секунд видео и происходит подтормаживание в начале следующего видеофрагмента.

 

Я переписал сервер вещания с использованием ffmpeg. Паузы и потеря последних секунд пропали, но возникла проблема: при отправке транзитом через 1 коммутатор - все отлично. При добавлении еще одного в цепочку - потери фрагментов и глюки (связывали и витухой и оптикой на гигабите...).

Если перевоткнуть аплинк в 100мбит, потери практически исчезают.

 

При этом, что интересно, и vlc и ffmpeg используют mpegts поверх raw udp. Отчего такая гадость происходит - не могу понять?

 

З.Ы. Попытался переделать вещатель таким образом, чтобы ffmpeg склеивал ролики и подавал их на vlc через pipe - vlc вещает, картинка нормальная, паузы в начале и потери кадров в конце каждого ролика исчезли, но теперь при смене роликов - идет мозаика.

 

Что посоветуете для разрешения сей проблемы?

 

Где копать?

 

Я бы предпочел остановиться на использовании чистого ffmpeg - очень стабильно работает.

 

Возможно, ктото знает какие-либо трюки, которые позволят уменьшить потери? Возможно, ктото сталкивался с чем-то подобным?

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this