Pregunta

Tengo un programa winform que permite a los usuarios cargar películas Shockwave Flash en un servidor. Para obtener el videoDuration, creo una instancia de " ShockwaveFlashObjects " -activeX, carga la película y luego leo el videoDuration hasta que cambie de " 0.0 " a cualquier otra cosa. Lo obtengo leyendo la GetVariable (" videoDuration ").

A menudo funciona, pero a veces se bloquea o muestra información de la película Flash anterior que se cargó.

También he tenido problemas para distribuir ShockWaveFlashObject-activeX. Realmente me gustaría omitir eso y solo leer el archivo flash y averiguar la duración de la película.

Todas las películas cargadas son videos, por lo que tienen una duración de reproducción específica.

Esta pregunta no ayudó con respuestas eather.

He comprobado el formato swf en wotsit y, por lo que puedo ver, debería poder leerse El framerate y el framecount calculan la duración, pero no pude encontrar nada acerca de los archivos flv. ¿Quizás alguien ya haya hecho esto y pueda señalarme un código agradable que me ahorre mucho tiempo tratando de entender la especificación?

¿Fue útil?

Solución

Una de las posibilidades es usar ffmpeg para leer las tasas de bits de video / audio. Una vez que tenga estos detalles, puede dividir el tamaño total del archivo por la suma de las tasas de bits de video / audio. Eso te da la cantidad estimada de segundos (+/- pocas socnds).

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top