Я пытаюсь передать (многоадресную) файл в кодировке x264 с помощью VLC. Само по себе это удается, но в потоке очень много артефактов. Похоже, это говорит о том, что данные не могут быть доставлены достаточно быстро. Однако, если я проверю использование сети, она использует только около 15 Мбит.
У меня есть аналогичный SD-поток, который отлично работает. Я думаю, что мог бы улучшить производительность потока, не передавая необработанные данные, но я не могу заставить это работать. Кажется, что на ключевых кадрах все артефакты удаляются ненадолго (менее секунды).
Я использую эту команду:
vlc -vv hdtest.mkv --sout '#duplicate{dst=rtp{dst=ff02::1%eth1,mux=ts,port=5678,sap,group="Testgroup",name="TeststreamHD"}}' --loop
И все это одна длинная строка.
Я очень не хочу перекодировать поток. В будущем этот ящик должен будет предлагать несколько потоков. Речь идет о P4 2,8 ГГц с 2 ГБ памяти.
Вероятно, это потеря пакетов. Ваши коммутаторы оптимизируют многоадресную передачу или просто перенаправляют трафик на все порты?
Вы можете перекодировать поток - я использую что-то вроде
#transcode{vcodec=h264,venc=x264{keyint=15},acodec=mpga,vb=2500,ab=128}:std{mux=ts,access=udp,dst=x.x.x.x}
keyint указывает, как часто вставлять ключевой кадр в поток - чем он ниже, тем лучше поток будет восстанавливаться после отброшенных пакетов, по моему опыту.