A seconda dei codec utilizzati nel tuo FLV potresti essere in grado di cavartela semplicemente avvolgendola in un contenitore mp4. Ti serviranno H.264
o MPEG4 simple profile
video e AAC
audio. Puoi trovare alcune informazioni sul tuo file sorgente conffmpeg -i input.flv
Non sono sicuro se avere semplicemente H.264 / MPEG4 Simple + AAC sia abbastanza buono o se ci sono opzioni specifiche per i codec supportati. È abbastanza facile testare:
Prova a usare
ffmpeg -i input.flv -c copy -copyts output.mp4
-copyts
è copy timestamps
che aiuterà la sincronizzazione audio.
Se il problema persiste, prova a forzare i codec audio e video. Questo ricodificherà il file:
ffmpeg -i input.flv -c:v libx264 -crf 23 -c:a libfaac -q:a 100 output.mp4
Per migliorare la qualità del video, è possibile utilizzare un valore CRF inferiore, ad es. Qualsiasi cosa fino a 18. Per ottenere un file più piccolo, utilizzare un CRF più elevato, ma si noti che ciò peggiorerà la qualità.
Per migliorare la qualità audio, utilizzare un valore di qualità superiore. Per FAAC, 100
è l'impostazione predefinita.
Ecco un paio di pensieri sul comando ffmpeg suggerito nella domanda.
-ar
si riferisce alla frequenza di campionamento audio. Consiglierei di non scherzare con questo fino a quando non capirai meglio le cose. Se vuoi giocare con la codifica audio, regola il bitrate (ad es. -b:a 128k
) E lascia che l'encoder scelga cosa fare in base a quello.
Se finisci per andare su questa strada ...
La qualità del CD è di campionamento a 44100Hz; il video tipico utilizza 48000Hz.
Si può notare che 22050 nell'esempio della domanda originale è 1/2 della frequenza di campionamento della qualità cd. se stai convertendo materiale CD in modo discendente, questa è una buona scelta. Se stai iniziando con una sorgente a 48 KHz (cosa che probabilmente sei; di nuovo, questo è molto più comune di 44100 nei file video), invece, utilizzerei 24 KHz. Probabilmente non importa molto, ma può sembrare un po 'meglio e usare un po' meno CPU per fare la conversione.