Как создать видео пакеты в Qt для полезной нагрузки RTP - PullRequest
1 голос
/ 17 июля 2011

В настоящее время я пытаюсь реализовать сервер RTSP / RTP с использованием Qt. Я хотел бы прочитать из видеофайла в QByteArray, чтобы он мог быть разбит на фрагменты и добавлен в качестве полезной нагрузки пакета RTP. Будет ли это правильным подходом, и если да, то каким будет код для чтения медиа-файла (такого как "movie.3gp") в QByteArray? Заранее спасибо.

1 Ответ

1 голос
/ 23 февраля 2012

Я делал это раньше с помощью Qt 3.3.Тогда я использовал ffmpeg, если я не ошибаюсь, чтобы сжать поток с камеры и живая библиотека для генерации потока RTSP / RTP.В основном, как вы сказали, загрузка каждого кадра в QByteArray и его перемещение в работающий API.

Теперь Qt имеет Phonon и QtMultimidia модули, которые, вероятно, могут читать файл напрямую., но, чтобы использовать его, похоже, вам нужно будет создать приемник видео, который реализует потоковую передачу.Должно быть возможно создание фононного плагина, возможно, с использованием live.

К сожалению, вы не можете получить доступ к QVideoFrame из источника Phonon, используя текущий API (4.8.0), насколько я могу судить.Таким образом, либо использование других библиотек, как я делал в прошлом, либо создание нового фононного плагина, кажется единственными двумя способами сделать это.

Надеюсь, это поможет вам в правильном направлении.

...