Varios métodos para generar miniaturas de vídeos en la plataforma Android
Hay varias sobrecargas del método getFrameAtTime con los siguientes valores para el parámetro de tipo:
Puede elegir si desea seleccionar la clave según sea necesario.
Puedes elegir si deseas seleccionar fotogramas clave según demanda y si priorizar el primer o segundo fotograma clave.
También existen métodos sobrecargados para especificar tamaños.
¡Este método es el más eficiente y rápido!
Tenga en cuenta que este método no funciona bien con archivos de vídeo formateados incorrectamente, algunos con un solo fotograma clave o muy pocos fotogramas clave. Esto dificultará la obtención de una captura de pantalla correcta.
Extrae miniaturas de cuadros de archivos de vídeo mp4 usando MediaExtractor, MediaCodec y opengl.
El método de implementación se puede encontrar en /p/567d7ce47f52
Este método es moderadamente rápido, pero tiene buena compatibilidad con formatos de archivos de video, por lo que siempre que se pueda reproducir, Básicamente puede funcionar normalmente.
Renderiza el vídeo en un TextureView y luego convierte el contenido de TextureView en un mapa de bits para obtener una captura de pantalla en un momento específico.
Ver también:
Esta es la forma menos eficiente de tomar capturas de pantalla porque tienes que reproducir el vídeo en un TextureView. Si bien puedes acelerar tu captura de pantalla ajustando la velocidad de reproducción, este sigue siendo el método más lento.
ffmpeg puede hacer esto, pero no se usa comúnmente, así que no diré más al respecto.
ffmpeg puede hacer esto, pero no lo he usado, así que no diré más.