W zależności od kodeków używanych w twoim pliku FLV możesz uciec po prostu ponownie zawinąć go w pojemnik MP4. Będziesz potrzebować H.264
lub MPEG4 simple profile
wideo i AAC
audio. Możesz znaleźć informacje o pliku źródłowym za pomocąffmpeg -i input.flv
Nie jestem pewien, czy samo posiadanie H.264 / MPEG4 Simple + AAC jest wystarczające, czy też istnieją określone opcje obsługiwanych kodeków. Łatwo jest przetestować:
Spróbuj użyć
ffmpeg -i input.flv -c copy -copyts output.mp4
-copyts
Jest copy timestamps
to pomoże synchronizację dźwięku.
Jeśli to nie zadziała, spróbuj wymusić kodery-dekodery audio i wideo. Spowoduje to ponowne zakodowanie pliku:
ffmpeg -i input.flv -c:v libx264 -crf 23 -c:a libfaac -q:a 100 output.mp4
Aby poprawić jakość wideo, możesz użyć niższej wartości CRF, np. Dowolnej wartości do 18. Aby uzyskać mniejszy plik, użyj wyższej wartości CRF, ale pamiętaj, że spowoduje to obniżenie jakości.
Aby poprawić jakość dźwięku, użyj wyższej wartości jakości. W przypadku FAAC 100
wartość domyślna.
Oto kilka uwag na temat polecenia ffmpeg zasugerowanego w pytaniu.
-ar
odnosi się do częstotliwości próbkowania audio. Polecam nie zadzierać z tym, dopóki nie zrozumiesz lepiej. Jeśli chcesz grać z kodowaniem audio, dostosuj szybkość transmisji (np. -b:a 128k
) I pozwól koderowi wybrać, co ma robić na tej podstawie.
Jeśli skończycie tą drogą ...
Jakość CD to próbkowanie 44100Hz; typowe wideo wykorzystuje 48000Hz.
Można zauważyć, że 22050 w przykładzie z oryginalnego pytania wynosi 1/2 częstotliwości próbkowania jakości CD. jeśli konwertujesz w dół materiał CD, to dobry wybór. Jeśli zaczynasz od źródła 48 KHz (którym prawdopodobnie jesteś; znowu, jest to znacznie częstsze niż 44100 w plikach wideo), zamiast tego użyłbym 24 kHz. Prawdopodobnie nie będzie to miało większego znaczenia, ale może brzmieć nieco lepiej i zużywać nieco mniej procesora do konwersji.