Я хочу создать мультиплексор для микширования аудио и видео, которое я получаю, анализируя URL MPEG-DASH - PullRequest
1 голос
/ 28 июня 2019

Моя проблема заключается в том, что я пытаюсь получить доступ к прямому потоку видео, которое я получаю в виде URL-адреса MPEG-DASH.С помощью этого URL я могу получать фрагменты видео и аудио данных отдельно в виде расширений m4v и m4a соответственно.

Я загружаю байты, которые я получаю из каждого сегмента, на сервер (в настоящее время отдельно длякак аудио, так и видео).Я хочу, чтобы при использовании URL-адреса MPD (MPEG-DASH URL) я мог на лету мультиплексировать небольшой фрагмент байтов сегмента аудио и видео и отправлять результирующие байты на сервер, содержащий смешанные аудио и видео.

Проблема в том, что я могу получить видео и аудио файл отдельно.Мне нужно получить только один файл на стороне сервера, который содержит аудио и видео.

Я не хочу использовать " FFmpeg ".Есть ли какой-нибудь нативный способ в JAVA для реализации этого муксинга.

1 Ответ

0 голосов
/ 28 июня 2019

К сожалению нет. Я наткнулся на вашу ситуацию и, наконец, решил собрать свою ffmpeg оболочку Java. Это довольно просто, так как требует стандартных библиотек JRE. Это будет работать так:

Process process = Runtime.getRuntime().exec("ffmpeg.exe -i ...");
// consume process.getErrorStream()            
// consume process.getInputStream()
int exitVal = process.waitFor();
// exitVal = 0 means process was executed correctly

Вы должны иметь на своем пути ffmpeg.exe и всегда должны использовать свои потоки, в противном случае основной процесс может зависнуть бесконечно. Поскольку вы можете указать параметры для команды, вы можете позже легко использовать файлы, созданные ffmpeg.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...