Konwertuj plik wideo MOV zakodowany jako `qtrle` w systemie Windows za pomocą FFMPEG


0

Pobrałem najnowszą wersję FFMPEG dla systemu Windows (wersja 3.2.4).

Chciałem go użyć do konwersji pliku MOV zawierającego qtrlenieskompresowane wideo.

Film można pobrać pod tym linkiem - https://www.sendspace.com/file/qjjkhj .

Mogę oglądać wideo w VLC Media Player, ale kiedy próbuję przekonwertować je w VLC na dowolny format wideo, wyjściowy plik wideo jest nieprawidłowy.

Próbowałem także użyć FFMPEG, używając następującego polecenia - ffmpeg -i DL126H.mov -c:v copy VideoClip0002.mp4. Jednak wynik był następujący: [mp4 @ 00000000026744e0] Could not find tag for codecqtrle in stream #0, codec not currently supported in container Could not write header for output file #0 (incorrect codec parameters ?): Invalid argumentStream mapping:.

Próbowałem również następujących - ffmpeg -i DL126H.mov -c:v mpeg2video -b 16M out.mpgjednak wyjście, podobnie jak w przypadku VLC, było niepoprawnym plikiem wideo.

Chciałbym więc pomóc w:

  1. Konwertujesz do formatu przyjaznego dla systemu Windows (o wysokiej jakości)?
  2. Zmień kontener na format działający w systemie Windows (bez ponownego kodowania).
  3. Konwertuj na poprawne MPEG2 ( .mpg) o wysokiej przepływności.

Dziękuję Ci.


Odpowiedzi:


3

Składnia jest prosta

ffmpeg -i DL126H.mov -pix_fmt yuv420p VideoClip0002.mp4

Spowoduje to kodowanie przy użyciu domyślnych parametrów, tj. Przy użyciu libx264 w CRF 23 i AAC przy 128 kb / s.

Aby użyć niestandardowych parametrów, takich jak lepsza jakość wideo, użyj

ffmpeg -i DL126H.mov -crf 18 -pix_fmt yuv420p VideoClip0002.mp4

Pozwoli to zachować większą jakość źródła, ale większy plik

W przypadku FFmpeg kompilacja „release” nigdy nie jest najnowszą wersją. Zawsze wybieraj kompilację nightly / snapshot / git.


Jeśli chcesz zakodować do MPEG-2, użyj

ffmpeg -i DL126H.mov -c:v mpeg2video -b:v 16M -bufsize 30M -maxrate 30M -pix_fmt yuv420p VideoClip0002.mp4

Specyfikacja MPEG-2 została zaprojektowana podczas dni wideo SD, a jej ustawienia domyślne nie są odpowiednie dla wideo HD. Kilka z nich trzeba ręcznie zastąpić. Wynik gra dla mnie w WMP12.


Czy możesz wyjaśnić, co zrobiłeś? Co jeśli chcę zakodować jako MPEG2? Co powiesz na zmianę kontenera na MP4?
— Royi

1
FFmpeg nie obsługuje zapisu qtrledo MP4, więc nie jest to możliwe. Moje pierwsze polecenie (formularza ffmpeg -i input output) konwertuje dane wejściowe na dane wyjściowe przy użyciu domyślnego wyboru kodeków i ich parametrów konwersji. Dodałem, -pix_fmt yuv420pponieważ jest to jedyny format pikseli obsługiwany przez odtwarzacze internetowe, a qtrle to RGB, dla którego ffmpeg domyślnie przyjmuje wartość yuv444p. Grywalny tylko w niektórych graczach. Aby zakodować w MPEG-2, użyj polecenia, ale dodaj pix_fmt.
— Gyan

Próbowałem pix_fmtz moim poleceniem i wyjście wideo jest nieprawidłowe (MPEG2). Może MPEG2 wymaga innego formatu pikseli? Jaki jest domyślny format pikseli dla MPEG2? Dziękuję Ci.
— Royi

To samo. Zobacz edycję odpowiedzi.
— Gyan

Próbowałem twojej nowej linii poleceń. Naprawdę udało się usunąć problemy z uruchomieniem bufora ffmpeg. Dziękuję Ci! Nawiasem mówiąc, jak sprawić, by FFMPEG używał tylko pierwszych nramek?
— Royi
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.