3

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

Предупреждающие сообщения, которые я получаю, обычно включают что-то вроде этого:

На стороне клиента, которая является той, которая застряла.

[0x24d1ab0] ts demux warning: discontinuity received 0x5 instead of 0xe (pid=68)
[0x7f4340015e50] rtp demux warning: 2 packet(s) lost
reference picture missing during reorder
Missing reference picture
mmco: unref short failure
Reference 4 >= 4 (H264 - MPEG-4 AVC (part 10)) stopped
error while decoding MB 34 14, bytestream (575)

И это картина потоковой передачи, когда она застряла:

застрявший поток

И вот как это выглядит, когда он работает гладко:

плавный поток

Это сообщение об ошибке, которое я получил на сервере:

[0x2513820] main generic debug: auto hidding mouse
[0x2296230] main mux warning: late buffer for mux input (1840085)

И, наконец, вот моя командная строка, которую я использую на сервере:

vlc -vvv v4l2:///dev/video1:v4l2-width=640:v4l2-height=480 --sout
'#duplicate{dst=display,dst="transcode{vcodec=h264,vb=800,ab=128}
:duplicate{dst=rtp{mux=ts,dst=172.22.2.87,port=50004}'

На клиенте:

vlc -vvv rtp://@:50004

Я думал, что это может быть из VLC или из моей команды .. Я пробовал разные протоколы для передачи, но не повезло. Я также попробовал FFmpeg и получил похожие результаты + предупреждающие сообщения. Тогда я подумал, что они оба используют одни и те же библиотеки в Linux.

Вот команда, использующая FFmpeg:

ffmpeg -f video4linux2 -i /dev/video1 -vcodec libx264 -s 320x240 -pix_fmt
yuv420p -vb 200000 -minrate 200000 -maxrate 200000 -bufsize 2000000 -acodec
libmp3lame -ab 128k -ar 44100 -ac 2 -f mpegts udp://172.22.2.87:5544

В заключение я хотел бы найти решение для задержки потоковой передачи (которая очень высока) и проблемы помех.

0