Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


¿Calidad de video en android?

Estoy utilizando la clase grabadora de medios para la grabación de vídeo, inicializar la grabadora con las siguientes propiedades,

recorder = new MediaRecorder(); recorder.setAudioSource(MediaRecorder.AudioSource.MIC); recorder.setVideoSource(MediaRecorder.VideoSource.DEFAULT); recorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4); recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB); recorder.setVideoEncoder(MediaRecorder.VideoEncoder.H264); 

Pero la calidad del video no es lo mismo que el video que grabo sobre la cámara nativa de Android, mi video grabado con grabadora de medios es de mala calidad en comparación con el nativo, ¿cómo puedo mejorar la calidad del video.

Si alguien me conoce me ayuda out.Thanks

4 Solutions collect form web for “¿Calidad de video en android?”

Finalmente encontré el código para grabar video de alta calidad en android 2.1 estableciendo videEncodingBitRate, AudioEncodingBitRate, AudioSamplingRate … etc. Utilizando este método, puede establecer las propiedades de vídeo lo que desee para proporcionar vídeo de alta calidad.

Para establecer parámetros de alta calidad y baja calidad consulte esta página,

http://www.andgps.com/20110410/camcorderprofile-predefined-camcorder-profile-settings-for-camcorder-applications

El código que he utilizado con la versión base de Android 2.1 para producir vídeo de alta calidad se muestra a continuación,

  recorder = new MediaRecorder(); Method[] methods = recorder.getClass().getMethods(); recorder.setAudioSource(MediaRecorder.AudioSource.MIC); recorder.setVideoSource(MediaRecorder.VideoSource.DEFAULT); recorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4); recorder.setVideoFrameRate(24); recorder.setVideoSize(720, 480); for (Method method: methods){ try{ if (method.getName().equals("setAudioChannels")){ method.invoke(recorder, String.format("audio-param-number-of-channels=%d", 1)); } else if(method.getName().equals("setAudioEncodingBitRate")){ method.invoke(recorder,12200); } else if(method.getName().equals("setVideoEncodingBitRate")){ method.invoke(recorder, 3000000); } else if(method.getName().equals("setAudioSamplingRate")){ method.invoke(recorder,8000); } else if(method.getName().equals("setVideoFrameRate")){ method.invoke(recorder,24); } }catch (IllegalArgumentException e) { e.printStackTrace(); } catch (IllegalAccessException e) { e.printStackTrace(); } catch (InvocationTargetException e) { e.printStackTrace(); } } recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB); recorder.setVideoEncoder(MediaRecorder.VideoEncoder.H264); 

Utilice las siguientes configuraciones para Grabaciones de video: –

 private void cameraSettings() { mediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC); mediaRecorder.setVideoSource(MediaRecorder.VideoSource.CAMERA); mediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.DEFAULT); mediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.DEFAULT); mediaRecorder.setVideoEncoder(MediaRecorder.VideoEncoder.DEFAULT); mediaRecorder.setVideoSize(width, height); mediaRecorder.setVideoFrameRate(videoFramePerSecond); } 

Use videoFramePerSecond = 30 y width = 1280 y height = 720 .. Esta configuración puede hacer por su cuenta como por su requirment.

prueba esto

mrec.setProfile(CamcorderProfile.get(CamcorderProfile.QUALITY_HIGH)); mrec.setPreviewDisplay(surfaceHolder.getSurface());

Trate de añadir esta línea

  recorder.setVideoSize(640,480); 

O revisa las resoluciones de pantalla compatibles con tu dispositivo y configura la mejor en consecuencia.

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.