Мне нужно подключиться к аппаратной части, ожидающей поток MPEG-4 RTP с камеры (на самом деле несколько потоков из нескольких разных камер). Мы хотели бы предоставить это видео из набора небольших файлов .mp4, зацикливаясь бесконечно.Looping MP4 video
Что я сейчас пытаюсь использовать libVLC в режиме сервера с аргументом «-loop». Код для этого выглядит следующим образом:
libvlc_vlm_add_broadcast(vlc, "test", ("file:///" + video).c_str(),
"#rtp{dst=localhost,port=1234,sdp=rtsp://localhost:8080/test.sdp}",
1, broadcast_options, true, true);
const auto play_result = libvlc_vlm_play_media(vlc, "test");
Это, кажется, работает на моем рабочем столе, с одним вопросом: я должен поставить плеер на петле тоже. Если я просто попрошу игрока воспроизвести поток один раз, он остановится, когда достигнут конец файла с сервера.
Есть ли способ заставить это смотреть на клиента как один непрерывный (бесконечный) поток? VLC не является требованием, но поток RTP MP4 есть.
1 - Нет, я не пытаюсь ограбить музей. Это для симулятора.
Настоящие клиенты в этом случае являются (с нашей точки зрения) черными ящиками, висящими на линии Ethernet. Это означает, что мы должны дать им * точно * то, что они ожидают, и их протокол ничего не говорит о RTSP (только RTP и MP4). Поэтому я не уверен, связаны ли RTSP и/или SDP или нет. Протокол документирует упоминание ICMP и ARP, поэтому вы думаете, что если бы RTSP или SDP были задействованы, они бы так сказали.Но, возможно, RTP подразумевает одного или обоих из них, и это просто мое невежество? Я попробую и посмотрю, что произойдет. –
Я как бы представлял себе, что это непрерывный поток RTP/MP4 (трансляция на адрес многоадресной рассылки), с помощью которого клиент может вскочить и вылететь «на лету». –
Я думал, что вы используете SDP, потому что команда вашего примера говорит 'sdp = rtsp: // localhost: 8080/test.sdp'. Без протокола описания сеанса он может не знать, как играть в поток, поскольку FFmpeg использует идентификатор типа динамической полезной нагрузки (96), поэтому необходимо сопоставить его с фактическим типом потока в SDP. Как вы его протестировали до сих пор? – aergistal