Intereting Posts
Пользователь не имеет права на эту покупку – в биллинге приложения Как можно проверить разрешение во время выполнения, не бросая SecurityException? «Не удалось отправить ответ отладчику: Broken pipe» при попытке запустить приложение на Android-устройстве Несколько уведомлений и только показать первый Android Android: как делиться видео на странице Facebook с помощью Facebook SDK Android вьетнамский текст в речь? Как остановить воспроизведение youtube видео в веб-браузере Android? Android – фрагмент .replace () не заменяет содержимое – помещает его поверх Конвертирование изображения ресурса в растровое изображение Как реализовать виджет колес, как в iPhone? Активность Android внутри диалога Как получить доступ к изображению EGL непосредственно с Android-поверхности для использования в видеодекодере MediaCodec? КоординаторLayout + AppbarLayout + Viewpager не изменяет размер дочернего макета Как вы можете сделать обзорную копию приложения для Android? IntelliJ IDEA считает, что частью моего проекта является подрывная деятельность вместо git, как это исправить?

Качество видео в Android?

Я использую класс медиарекордера для записи видео, я инициализирую рекордер со следующими свойствами,

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); 

Но качество видео не такое же, как видео, которое я снимаю на собственной андроидной камере, мое видео, записанное с использованием медиа-рекордера, имеет низкое качество по сравнению с оригинальным, как улучшить качество видео.

Если кто-нибудь знает, что я помогаю мне. Спасибо.

Solutions Collecting From Web of "Качество видео в Android?"

Наконец, я нашел код для записи высококачественного видео в android 2.1, установив videoEncodingBitRate, AudioEncodingBitRate, AudioSamplingRate … и т. Д. Используя этот метод, вы можете установить свойства для видео, независимо от того, что вы хотите обеспечить высококачественным видео.

Для установки параметра высокого качества и низкого качества обратитесь к этой странице,

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

Код, который я использовал с базовой версией Android 2.1 для создания высококачественного видео, показан ниже,

  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); 

`

Используйте следующие настройки для видеозаписей: –

 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); } 

Используйте videoFramePerSecond = 30 и width = 1280 и height = 720 .. Этот параметр вы можете сделать по своему усмотрению в соответствии с вашим требованием.

попробуй это

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

Попробуйте добавить эту строку

  recorder.setVideoSize(640,480); 

Или проверьте разрешения экрана, поддерживаемые вашим устройством, и установите их наилучшим образом.