Cómo obtener la velocidad de fotogramas de vídeo en Android OS?

Quiero obtener la velocidad de fotogramas del vídeo, pero no quiero usar FFMPEG, JAVACV lib. Es que es posible obtener la velocidad de fotogramas de vídeo en android?

He leído KEY_FRAME_RATE dice que, "Específicamente, MediaExtractor proporciona un valor entero que corresponde a la información de velocidad de cuadro de la pista si se especifica y no es cero." Pero no sé cómo usarlo?

Si sabes cómo obtener la velocidad de fotogramas del vídeo, responde aquí.

MediaExtractor extractor = new MediaExtractor(); int frameRate = 24; //may be default try { //Adjust data source as per the requirement if file, URI, etc. extractor.setDataSource(...); int numTracks = extractor.getTrackCount(); for (int i = 0; i < numTracks; ++i) { MediaFormat format = extractor.getTrackFormat(i); String mime = format.getString(MediaFormat.KEY_MIME); if (mime.startsWith("video/")) { if (format.containsKey(MediaFormat.KEY_FRAME_RATE)) { frameRate = format.getInteger(MediaFormat.KEY_FRAME_RATE); } } } } catch (IOException e) { e.printStackTrace(); }finally { //Release stuff extractor.release(); } 

Nota: Intente ejecutar el código anterior en el subproceso de trabajo.

Actualización 1 ¿Qué es KEY_FRAME_RATE y puede ser opcional

KEY_FRAME_RATE Se agregó en el nivel 16 del API String KEY_FRAME_RATE Una clave que describe la velocidad de fotogramas de un formato de vídeo en frames / sec. El valor asociado es normalmente un entero cuando el valor es utilizado por la plataforma, pero los códecs de vídeo también aceptan valores de configuración de flotador. Específicamente, MediaExtractor proporciona un valor entero correspondiente a la información de velocidad de fotogramas de la pista si se especifica y no es cero. De lo contrario, esta clave no está presente. MediaCodec acepta tanto valores flotantes como enteros. Esto representa la velocidad de fotogramas operativa deseada si KEY_OPERATING_RATE no está presente y KEY_PRIORITY es 0 (tiempo real). Para codificadores de vídeo, este valor corresponde a la velocidad de fotogramas deseada, aunque se espera que los codificadores soporten velocidad de fotogramas variable basada en la marca de tiempo del búfer. Esta clave no se utiliza en los formatos de entrada / salida de MediaCodec ni en MediaMuxer.

Valor constante: "frame-rate"

Actualizar 2 Comprobar código si para NPE si KEY_FRAME_RATE no está presente. Véase más arriba

  • Android Video View no reproduce archivos MP4 en algunos dispositivos
  • El video de Android no mantiene la orientación cuando se sube al sitio web.
  • Transmitir vídeo desde el servidor php a android mediante programación
  • Reproducción de vídeo cuando la actividad está oculta
  • Android VideoView No se puede reproducir el error de vídeo especialmente .mp4
  • La aplicación permite la reproducción de fondo de videos, problemas de Córdoba, Google Play rechaza aplicaciones
  • Video Recorte o zoom con una coordenada específica?
  • Cómo reproducir video en vivo desde URL remota en android?
  • Extraer mapa de bits del vídeo en android
  • Android: ¿Cómo volver a la actividad anterior cuando se detiene el video?
  • ¿Cómo realizar zoom in / out en VideoView en android?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.