2012-10-17 18 views
5

Desidero convertire dal formato .flv a .h264.Come convertire un video .flv in formato .h264 con FFmpeg?

Problema: ho eseguito una conversione da FLV a formato H264 ma il mio video convertito (.h264) è in esecuzione così veloce (proprio come faremo clic su un pulsante di avanzamento rapido).

ho usato il seguente comando:

ffmpeg -i example.flv -sameq -vcodec libx264 -vpre default -ar 22050 output.h264 
+1

Si prega di aggiornare la domanda per includere l'output completo della console. Non usare '-sameq': [sameq non significa" stessa qualità "] (http://superuser.com/a/478550/110524). Le domande di utilizzo di FFmpeg sono più adatte a superuser.com. – LordNeckbeard

risposta

13

La soluzione è che è necessario un formato contenitore. Raw h.264 non ha alcuna informazione temporale per un video, motivo per cui il tuo giocatore lo sta suonando molto velocemente.

Anche il tuo comando è tutto incasinato. Vuoi l'audio nel tuo output o no? In caso affermativo, è necessario specificare un formato contenitore che includa sia audio che video.

O cambiare l'output ad un mp4

ffmpeg -i input_file -c:a copy -c:v libx264 -profile:v baseline out.mp4 

o qualche altro contenitore. Se vuoi un flusso video solo rimuovere le opzioni audio e aggiungere .

Se si desidera utilizzare l'audio AAC al posto di qualsiasi file FLV ha:

ffmpeg -i input_file -c:a aac -strict -2 -b:a 128k -c:v libx264 -profile:v baseline out.mp4 

Se il ffmpeg non ha i -c o -profile opzioni, aggiornare ad una versione più recente.

+0

'-vpre' non esiste su nessuna versione FFmpeg recente e dovrebbe essere evitato. Usa '-profile: v' per specificare i profili e' -preset slow' ecc. Per la codifica dei preset. – slhck

+0

@slhck, grazie per il puntatore. – av501

+0

@ av501 il seguente comando funziona bene per produrre video mp4 con formato h.264 ma l'audio non funziona in IPhone (funziona su cellulari Android) ffmpeg -i esempio.flv -r 25 -sameq -ab 128kb -vcodec libx264 - vpre default -s 320x240 -b 768kb -ar 44100 -acodec copy output.mp4 e quando ho usato acodec = aac, ffmpeg mostrami il seguente messaggio "encoder 'aac' è sperimentale e potrebbe produrre risultati errati Aggiungi '-strict experimental' se vuoi usarlo. " –

-2

La parola chiave magica che stai cercando è "fotogrammi al secondo".

Aggiungere e "-r 30" per 30 fps nel video di uscita, ad esempio.

Sebastian

+0

mi è stato sempre punti di errore dopo filtri MANCANTI Nessun valore pts da demuxer da utilizzare per fotogramma!,?% 0 0 pts dopo filtri MANCANTI Nessun valore pts da demuxer da utilizzare per fotogramma!,?% 0 0 pts dopo filtri MISSING Nessun valore pts da demuxer da usare per frame!,?% 0 0 –

+0

Ho usato -r 30 nel mio comando: ffmpeg -i esempio.flv -r 30 -sameq -vcodec libx264 -vpre default -ar 22050 output. h264 ma il risultato non cambierebbe, il video è ancora in esecuzione avanti veloce –

+0

hai provato con -r 10? –

Problemi correlati