Запись видео 1080p на видеокамеру HTC Rezound с помощью MediaRecorder - PullRequest
2 голосов
/ 04 декабря 2011

Встроенное приложение камеры в Rezound способно записывать видео в формате 1080p, но у меня возникают проблемы с этим из Android API.Все отлично работает, если я использую настройки в CamcorderProfile.QUALITY_HIGH, но это дает мне видео только в разрешении 720x480.Когда я пытаюсь увеличить разрешение до 1080p, мое приложение зависает в MediaRecorder.start (), и любое приложение, которое пытается использовать камеру, перестает работать, пока я не перезагружаю свой телефон.

Вот код, который я использую длянастроить MediaRecorder:

CamcorderProfile prof = CamcorderProfile.get(CamcorderProfile.QUALITY_HIGH);
if(false){
    prof.videoFrameHeight=1080;
    prof.videoFrameWidth=1920;
}
prof.videoFrameRate=24;
prof.audioCodec=MediaRecorder.AudioEncoder.AAC;
prof.audioSampleRate=44100;
prof.audioBitRate=96;
prof.audioChannels=2;
mMediaRecorder.setProfile(prof);

Приложение зависает, когда я включаю код внутри блока if.Я попытался точно скопировать настройки видео, которое получаю, когда я записываю 1080p из собственного приложения камеры.

Было бы замечательно отследить источник исходного приложения камеры, используемого на Rezound.Я проверил собственное приложение камеры в версии 2.3.4 для Android, и похоже, что оно не может поддерживать любое разрешение, превышающее разрешение, указанное в CamcorderProfile.QUALITY_HIGH.

1 Ответ

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

1920 * 1080 пикселей * 3 цвета со скоростью 24 кадра в секунду - это очень много данных для маленького Android.

Даже с аппаратным сжатием H264 это сложно сделать в реальном времени на ПК с необычной картой захвата

...