Questo dovrebbe essere piuttosto banale, ma non riesco a trovare un modo per farlo funzionare.
Voglio che FFmpeg acquisisca un'immagine JPEG e un file audio come input e generi un file video della stessa durata del file audio (allungando l'immagine fissa per l'intera durata).
Non mi interessa molto di quale codec video viene utilizzato per l'output, ma è fondamentale poter usare "copia" come codec audio (ovvero copiare il flusso audio senza transcodificarlo).
Qual è la riga di comando giusta che lo farebbe?
Provai:
ffmpeg -i image8.jpg -i sound11.amr -acodec copy test.avi
e provato molte combinazioni con e senza -s 640x360
, -loop_input
, -shortest
, -t xxx
, -r 0.1
(rate artificialmente basso fotogramma nella speranza che il video sarebbe più lungo) e-f image2
O ottengo errori o ottengo un file video della durata di un fotogramma.
Ho cercato su Google e ho trovato una dozzina di soluzioni proposte (presumibilmente a questa stessa domanda) nessuna delle quali funziona.
Qualcuno può suggerire un comando funzionante e spiegare la logica alla base?
ffmpeg -y -i image.png -i audio.mp3 -c:a copy result.avi