У меня есть приложение, которое записывает необработанные аудио данные в формате LPCM, хранящиеся в буфере. Я хотел бы инкапсулировать данные в транспортный поток и отправить этот транспортный поток через UDP в сегментатор потока (в соответствии со спецификациями HTTP Live Streaming) на другом хосте.
FFmpeg предоставляет утилиту командной строки для этого, но с файлом в качестве входных данных ffmpeg -re -i output.aac -acodec copy -f mpegts udp://127.0.0.1:5555
.
Моей первой мыслью было использовать FFmpeg API, особенно библиотеку libavformat. Предоставляет ли libavformat мультиплексор, который я мог бы использовать для инкапсуляции звука в LPCM в транспортный поток, или мне нужно реализовать его с нуля?
Я нашел этот исходный код https://github.com/FFmpeg/FFmpeg/blob/master/libavformat/mpegts.c, но я не уверен, действительно ли он делает то, что я ищу.
Спасибо за вашу помощь,
libavformat/mpegtsenc.c
является мультиплексором TS, но не мультиплексирует LPCM. Патч приветствуется. - person Gyan   schedule 16.04.2018