Как вывести элементарные потоки с помощью Android Media Recorder? - PullRequest
0 голосов
/ 22 декабря 2011

Я хочу выводить элементарные видеопотоки с помощью медиа-рекордера в Android с целью потоковой передачи с live555.По сути, я хочу, чтобы медиа-рекордер выводил MPEG-4 Video Elementary Stream file (файл .m4e) или H.264 Video Elementary Stream file (файл .264).Возможно ли это сделать с помощью медиа-рекордера на Android?Или есть другой способ заставить его работать?

Ответы [ 2 ]

1 голос
/ 31 мая 2012

Ответ, как я понимаю, заключается в том, что это нелегко сделать с MediaRecorder во время записи.Вы можете сделать это без особых затруднений, используя ffmpeg после записи видео.Причина в том, что MediaPlayer не может записывать как элементарные потоки.Даже если мы записываем только видео, оно будет помещено в контейнерный формат, такой как 3GPP или MP4.Теперь, чтобы такие инструменты, как ffmpeg, могли работать с этими файлами, им нужно, чтобы в записанном файле присутствовала информация заголовка 3GPP или MP4.Но MediaPlayer запишет эти заголовки в файл только после завершения записи.

1 голос
/ 22 декабря 2011

Из API MediaRecorder я вижу, что вам нужно вызвать setOutputFormat () перед вызовом prepare (), это ограничивает вас, чтобы выбрать один из доступных вариантов - 3GP / MP4.Следовательно, вы можете использовать свой собственный анализатор для работы с дампом из медиа-рекордера, который может дать вам элементарные потоки.

...