Abbiamo prodotto una serie di video di esercizi con istruzioni sonore. Audio (registrato separatamente) e video sono stati messi insieme usando ffmpeg.
In alcuni casi, la voce fuori campo è più lunga del video dell'esercizio e in questi casi il comando ffmpeg utilizzato è:
ffmpeg -loglevel $FFMPEG_LOG_LEVEL -i $VID_FILE -i $AUD_FILE -filter_complex "aevalsrc=0:d=$AUD_SHIFT[s1];[s1][1:a]concat=n=2:v=0:a=1[aout]" -c:v copy -map 0:v -map [aout] $FILE_OUT -hide_banner -nostdin
Che mostra il fotogramma finale del video fino al termine dell'audio.
Il mp4 risultante viene riprodotto in modo accettabile in varie impostazioni (QuickTime Player, VLC). Ma quando caricati su YouTube, questi video non riescono a elaborare (quelli che non sono stati estesi vanno bene) - restano incollati al '95% elaborato '- e quindi non possono essere accessibili tramite il player di YouTube.
Ho provato a ricodificare usando:
ffmpeg -i vidfile.mp4 -c:v libx264 -map_metadata -1 -c:a aac -strict experimental -b:a 192k out.mp4
- sperando che la rimozione dei metadati potrebbe essere la risposta, ma senza alcun cambiamento nella risposta di YouTube.
Ho notato che nel lettore VLC, l'indicatore di avanzamento sulla timeline visualizzato sotto il video smette di muoversi nel punto in cui il video è completo, mentre l'audio continua. Inoltre, noto che la durata riportata da YouTube sui video non riusciti è più breve rispetto al tempo di riproduzione effettivo. Questi due fatti suggeriscono che YouTube fallisce perché viene inviato un breve video con alcune istruzioni per contenere il fotogramma finale mentre la traccia audio viene riprodotta, piuttosto che un video a lunghezza intera con un fotogramma video ripetuto alla fine.
Suggerimenti: per correggere il comando originale o per rielaborare i file del problema in modo retrospettivo.
Se vuoi vedere un file reale, ecco a collegamento a Dropbox .