Я пытаюсь создать приложение, которое использует потоковое видео/аудио через TCP-соединение, я уже сделал потоковое видео с компонентом indy10 (idtcpserver и idtcpclient), возможно ли сделать то же самое, но со звуком?
delphi, indy10 потоковое аудио TCP
Ответы (2)
Конечно.
TCP - это просто канал данных. Он совершенно не зависит от того, какие данные передаются на него. HTML-страницы, программы, видео, аудио — что угодно. Это просто канал данных в протоколе TCP.
Однако «потоковая передача» обычно означает «почти в реальном времени». Если какие-то кадры видео или аудио не пришли в течении нескольких секунд - их лучше пропустить и забыть и воспроизвести более новую музыку или видео. Вы бы не хотели, чтобы ваш разговор в Skype внезапно застрял на минуту, а затем воспроизвел всю эту минуту для вас только из-за нескольких секунд сетевой пробки. Вам лучше пропустить слово или два, а затем либо восстановить по контексту, либо попросить корреспондента повторить. Таким образом, TCP со встроенными повторными передачами и обычно не очень большими буферами не является идеальным выбором для потоковой передачи мультимедиа. Обычно UDP + контроль целостности, реализованный приложением, является лучшим выбором для этого.
Я считаю, что вам нужно использовать модуль VFW. С помощью avistream вы объединяете видео и звук в сжатый поток.