Ciao victor,
puoi convertire il tuo AVI usando il software gratuito FFmpeg, che funziona da riga di comando. Io lo uso anche nel server da un'applicazione ASP.NET ma tu per il momento prova a fare la conversione (anche detta "trascodifica") a mano.
Quindi,
passo 1: scaricati FFmpeg per Windows da qui.
https://ffmpeg.zeranoe.com/builds/Passo 2: scompatta lo zip ovunque tu voglia e copiaci dentro il file AVI.
Passo 3: entra in quella directory dal prompt dei comandi e digita:
ffmpeg -i video.avi video.m3u8
Questo comando eseguirà la conversione, che potrebbe richiedere svariati minuti, in base alla lunghezza del tuo video. Alla fine, avrai ottenuto svariati file
video*.ts (dati del video) e un file
video.m3u8 (il "manifest" testuale, che referenzia i file ts). Copia sia il file
m3u8 che i file
ts in una directory della tua applicazione, ad esempio
/video.
Questo formato che hai ottenuto sarà ottimale per lo streaming HLS, ed è il formato che gode della migliore compatibilità oggi sul web. (E dove non è compatibile può facilmente sopperire il player). Il codec video usato è H.264 e l'audio è AAC (advanced audio codec).
Passo 4: installa un player nella tua pagina web.
Io uso JWPlayer ma richiede una licenza a pagamento. In alternativa puoi provare hls.js (ma ce ne sono svariati altri), ecco qui le istruzioni:
https://github.com/video-dev/hls.js/In pratica, metti questo codice javascript nella pagina:
<script src="https://cdn.jsdelivr.net/npm/hls.js@latest"></script>
<video id="video"></video>
<script>
var urlDelTuoVideo = "/video/video.m3u8"; //Il percorso al manifest
var video = document.getElementById('video');
if(Hls.isSupported()) {
var hls = new Hls();
hls.loadSource(urlDelTuoVideo);
hls.attachMedia(video);
hls.on(Hls.Events.MANIFEST_PARSED,function() {
video.play();
});
} else if (video.canPlayType('application/vnd.apple.mpegurl')) {
video.src = urlDelTuoVideo;
video.addEventListener('loadedmetadata',function() {
video.play();
});
}
</script>
Se tutto funziona, puoi passare alla prossima fare, che consiste nell'automatizzare la trascodifica con FFmpeg dalla tua applicazione ASP.NET. Io uso questo pacchetto:
https://github.com/mysteryx93/EmergenceGuardian.EncoderMa non so se è fattibile nel tuo caso. Sei in hosting condiviso o hai libero accesso al server (via Desktop Remoto)?
ciao,
Moreno
Modificato da BrightSoul il 19 marzo 2019 21:10 -