Я пытаюсь использовать аппаратное кодирование H264
на Android для создания видео с камеры и использовать FFmpeg
для мультиплексора в аудио (все на телефоне Android)
То, что я до сих пор выполнил, - это пакетирование видео H264
в rtsp
и декодирование с использованием VLC (более UDP
), поэтому я знаю, что видео, по крайней мере, правильно отформатировано. Однако у меня возникают проблемы с получением видеоданных на FFmpeg
в формате, который он может понять.
Я попытался отправить те же пакеты rtsp
на порт 5006 на локальном хосте (через UDP), затем предоставив FFmpeg
с файлом sdp
, который сообщает ему, в каком локальном порту находится видеопоток, и как декодировать видео, если я правильно понимаю rtsp
. Однако это не работает, и мне не удается диагностировать причину, так как FFmpeg
просто сидит там, ожидая ввода.
По соображениям латентности и масштабируемости я не могу просто отправить видео и аудио на сервер и мультиплексировать там, это нужно сделать по телефону в максимально возможной степени.
Я думаю, что я ищу предложения о том, как это можно сделать. Оптимальным решением будет отправка пакетированного H264
видео в FFmpeg
по каналу, но тогда я не могу отправить FFmpeg
параметры файла sdp
, необходимые для декодирования видео.
Я могу предоставить дополнительную информацию по запросу, например, как FFmpeg
скомпилирован для Android, но я сомневаюсь, что это необходимо.
О, и как я начинаю FFmpeg
через командную строку, я бы предпочел бы избегать mucking с jni, если это вообще возможно.
И спасибо за помощь, спасибо.