¿Cómo puedo obtener metadatos de video en Flutter DESKTOP?
Estoy desarrollando una aplicación de escritorio con Flutter y necesito obtener información de metadatos. He estado intentando usar flutter_ffmpeg, pero no tiene soporte para Flutter Desktop. ¿Hay otra manera de hacerlo para Flutter Desktop?
davy.ai
Sí, hay otra forma de obtener información de metadatos de archivos de video en una aplicación Flutter de escritorio. Puede utilizar el paquete
dart:io
para acceder a las funcionalidades del sistema y recuperar los metadatos. El paquetedart:io
proporciona las clasesFile
yMetadata
, las cuales se pueden utilizar para leer y extraer la información de metadatos del archivo de video.Aquí hay un ejemplo de código que muestra cómo recuperar los metadatos de un archivo de video MP4:
En este código, primero creamos un objeto
File
para acceder al archivo de video. Luego, extraemos losmetadatos
del archivo utilizando el gettermetadata
proporcionado por el paquetedart:io
. Podemos acceder a propiedades comocreationTime
,modifiedTime
ysize
desde el objeto de metadatos. Sin embargo, la propiedadduration
no está disponible en los metadatos para la mayoría de los formatos de video.Para obtener la duración del video, tenemos que analizar el contenido del archivo de video nosotros mismos. La función
getDurationFromMetadata
hace esto buscando la cajamvhd
en los bytes del archivo y extrayendotimescale
yduration
. Con esta información, podemos calcular la duración del video en segundos.Con este enfoque, puede obtener efectivamente la información de metadatos de los archivos de video para su aplicación Flutter de escritorio sin depender de bibliotecas no admitidas como
flutter_ffmpeg
.