Come posso leggere videoDuration di un file .flv da * .Net senza usare flash-activeX?
-
06-07-2019 - |
Domanda
Ho un programma winform che consente agli utenti di caricare filmati Shockwave Flash su un server. Per ottenere il videoDuration creo un'istanza di "ShockwaveFlashObjects" -activeX, carica il filmato e quindi leggo il videoDuration fino a quando non cambia da "0.0". a qualsiasi altra cosa. Lo capisco leggendo GetVariable (" videoDuration ").
Spesso funziona, ma a volte blocca o mostra informazioni dal precedente filmato Flash che è stato caricato.
Ho anche avuto problemi a distribuire ShockWaveFlashObject-activeX. Mi piacerebbe davvero saltarlo e basta leggere il file flash e scoprire la durata del film.
Tutti i film caricati sono video, quindi hanno una durata di riproduzione specifica.
Questa domanda non ha aiutato con le risposte eather.
Ho verificato il formato swf su wotsit e da quello che posso vedere dovrebbe essere possibile leggere framerate e framecount e con ciò calcolano la durata, ma non sono riuscito a trovare nulla sui file flv. Forse qualcuno lo ha già fatto e mi può indicare un bel codice che mi fa risparmiare un sacco di tempo cercando di capire le specifiche?
Soluzione
Una delle possibilità è usare ffmpeg per leggere i bitrate video / audio. Una volta che hai questi dettagli, puoi dividere la dimensione totale del file per la somma dei bitrate video / audio. Questo ti dà il numero stimato di secondi (+/- pochi socnd).