Android Stagefright не может установить частоту кадров видео - PullRequest
3 голосов
/ 01 ноября 2011

У меня есть приложение для потоковой передачи видео с устройства на удаленный компьютер.При попытке установить частоту кадров я получаю:

ERROR/StagefrightRecorder(131): Failed to set frame rate to 15 fps. The actual frame rate is 30

Код, который я использую:

video = new MediaStreamer();        
video.setVideoSource(MediaRecorder.VideoSource.CAMERA);
video.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
video.setVideoFrameRate(frameRate);

Есть идеи, как это исправить?

Ответы [ 2 ]

1 голос
/ 15 февраля 2012

Декодеры обычно поступают от производителей полупроводников, таких как TI, Qualcomm и т. Д. Это зависит от того, принимают ли они вызовы модификации частоты кадров или нет.На уровне приложения вы не можете сделать много на этом.Звонки, которые вы делаете, правильные.Если нижележащие декодеры поддерживают его, вы можете изменить его, иначе не сможете.

Vibgyor

0 голосов
/ 14 февраля 2012

Я предполагаю, что в документации сказано, что вы можете или не можете установить частоту кадров на прикладном уровне. Это зависит от базового декодера, дает ли приложение гибкость или нет. Я хорошо помню, что я пытался установить частоту кадров даже в 3-4 кадра, но все равно она дает только частоту кадров по умолчанию. Я видел в структуре Stagefright, что он передает вызов с частотой кадров в декодер, а затем зависит от того, будет ли декодер отвечать на вызов или нет.

Vibgyor

...