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?

È stato utile?

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).

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top