Я пытаюсь использовать аппаратное кодирование 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, если это вообще возможно.
И спасибо за помощь, спасибо.