Jestem nowy w FFmpeg (Windows) i potrzebuję pomocy.
Chcę przekonwertować moje MKV na MP4 przy jak najmniejszej utracie jakości. MKV są wykonane z MakeMKV i zawierają między innymi ścieżkę dźwiękową DTS. Są bezstratne. Powodem, dla którego chcę przekonwertować, jest to, że planuję przesyłać strumieniowo do iPadów i Apple TV. iPad nie obsługuje DTS i MKV. MKV to zarówno dyski DVD, jak i Blu-Ray. MKV zawierają wideo, ścieżki dźwiękowe i napisy.
Próbowałem tego, ale nie słyszę dźwięku z powodu ścieżki dźwiękowej DTS:
ffmpeg -i input.mkv -c:v copy -c:a copy output.mp4
Czy ktoś może mi pomóc?
Jakich kodeków powinienem używać? MP4 jest najlepszy dla Apple?
ffmpeg -i input.mkv
.Odpowiedzi:
MP4 jest rzeczywiście najlepszym formatem dla urządzeń i oprogramowania Apple. DTS również nie jest obsługiwany, wiele plików wideo MP4 zawiera dwie ścieżki audio, jedną DTS i jedną AAC.
Dostępnych jest wiele koderów, wszystkie udokumentowane na wiki ffmpeg . To, który kodek jest dostępny, zależy od sposobu kompilacji ffmpeg. libfdk_aac da najlepsze wyniki, ale ponieważ kodek ten jest niewolny, nie zawsze jest dostępny.
Rzeczy, które możesz wypróbować (najpierw uporządkuję je według mojej postrzeganej jakości)
Jeśli chcesz również zachować ścieżkę DTS, użyj
-map
flagi.Nie bezpośrednio do użytku dla OP, ale podprogram programu OS X czyni ten proces bardzo łatwym.
EDYCJA: Komentarze tl; dr? OP rozwiązał problem z następującą komendą
WSKAZÓWKA: jeśli
-c:s copy
napisy nie działają, spróbuj-c:s mov_text
.Wielokrotnie mnie uratował.
źródło
libfdk
ilibfaac
)-c:a aac -q:a 6
ustawienia i porównałem wynik z-c:a libfaac -b:a 192k
, moim zdaniem, kodek aac daje lepsze wyniki niż libfaac , ale ponieważ kodeki są w fazie rozwoju, to może się zmienić. libfdk_aac prawdopodobnie da jeszcze lepsze wyniki, ale nie mam go teraz dostępny.Wiem, że to stare pytanie - i już mam odpowiedź - ale chciałem udostępnić niektóre polecenia, których używam z FFmpeg na macOS.
Wideo MP4 zakodowane w standardzie x264 z dźwiękiem AAC z MKV
Podstawowa konwersja MKV z MP4, ale konwersja audio do AAC przy 128k. Zwróć uwagę na odwzorowania:
-map 0:0
oznacza pierwszą (0
) ścieżkę z wejścia źródłowego (0
) i-map 0:1
oznacza drugą (1
) ścieżkę z tego samego źródła (0
). Lubię to robić w przypadkach, gdy istnieje wiele ścieżek audio, więc mogę zrobić coś takiego jak select,-map 0:3
aby uzyskać trzecią ścieżkę.Wideo MP4 zakodowane w HEVC / x265 z dźwiękiem AAC z MKV
Jest to podobne do powyższego polecenia x264, ale zamiast tego używa HEVC / x265, aby uzyskać mniejszy rozmiar pliku o tej samej - jeśli nie lepszej jakości - wideo ze źródła MKV. Zwróć uwagę, że wolę skalować filmy z iOS do 720, gdy używasz HEVC / x265; jakość odtwarzania bez nadmiernego hałasu jest niezmienna na moim MacBooku, iPadzie i iPhonie. Tylko upewnij się, że Twój sprzęt i system operacyjny obsługują odtwarzanie HEVC / x265. I ostrzegam: HEVC / x265 wymaga dużej mocy procesora, więc jeśli komputer nie ma dużej mocy procesora, kodowanie 90 minut wideo może zająć około jednego dnia.
Oto podział każdego z podstawowych parametrów innych niż pliki wejściowe i wyjściowe.
-vf scale=-1:720
: Przeskaluj wideo do wysokości 720 i automatycznie oblicz szerokość. Zauważ, że FFmpeg może dusić kilka MKVs powodów nie jestem w 100% jasne więc trzeba by ustawić szerokość wyraźnie coś takiego:-vf scale=1280:720
. Eksperymentuj i zobacz, co Ci odpowiada.-c:v libx265 -crf 20
: Jestlibx265
to kodek wideo. Jest-crf 20
to CRF (współczynnik stałej stopy) . Domyślny CRF, jeśli go nie określisz, to 28, ale - jak na razie - znajdź jakość prawie… Meh. Wolę 20, ponieważ jest to bardzo dobra równowaga między jakością a rozmiarem pliku.-threads 4
: Lubię określać liczbę wątków. 4 jest teraz w stanie obsłużyć mój system, ale czasami zmniejszam go do 2 lub 3. Wyższa liczba jest szybsza, jeśli masz wystarczającą liczbę procesorów, aby to obsłużyć.-tag:v hvc1
: Magiczne ustawienie metadanych, które ma zostać wprowadzone na urządzeniach iOS w celu prawidłowego odtwarzania filmów HEVC / x265.I o to chodzi!
źródło