FFmpeg / avidemux: napraw spakowane ramki B.


12

Transkoduję niektóre moje stare filmy MPEG4 (w kontenerach AVI) do h.264 za pomocą FFmpeg. Gruntownie

ffmpeg -i input.avi -c:v libx264 [x264 settings] -c:a libfdk_aac [aac settings] output.mp4

Robiąc to, mpeg4wydaje następujące ostrzeżenie

Wideo wykorzystuje niestandardowy i niepotrzebny sposób przechowywania ramek B („spakowanych ramek B”). Rozważ użycie narzędzia takiego jak VirtualDub lub avidemux, aby to naprawić.

Wiem, że nadal mogę pomyślnie transkodować, ale z ostrzeżenia nie jest dla mnie jasne, czy wpłynie to na jakość wynikowego wideo h.264 .

Więc,

  • Biorąc pod uwagę, że dbam tylko o jakość (i rozmiar, chcę zminimalizować rozmiar moich urządzeń mobilnych, dlatego też używam veryslowustawienia wstępnego) wyjściowego wideo h.264, czy powinienem dbać o zapakowane B- ramki?

  • Jeśli powinienem, jak to naprawić za pomocą avidemux? (Próbowałem już przejrzeć instrukcję).

Odpowiedzi:


15

B-klatki są typem klatki używanym w kompresji wideo do reprezentowania klatek wideo. Klatki B mogą wykorzystywać informacje z poprzednich i przyszłych klatek do reprezentowania każdej klatki wideo.

Starsze filmy zakodowane w DivX zwykle używają brzydkiej metody zwanej upakowanym strumieniem bitów, która umieszcza kilka klatek wideo w jednym fragmencie AVI. Upakowany strumień bitów nie jest standardem MPEG-4, zajmuje więcej miejsca, wymaga więcej mocy procesora do kodowania / dekodowania i (co najważniejsze) może powodować problemy, jeśli zostanie skopiowany do innego typu kontenera. To jest główny powód ostrzeżenia.

Ponowne kodowanie wideo zamiast kopiowania powinno być w porządku. Jeśli chcesz zachować oryginalne wideo, ale skopiować je do innego rodzaju kontenera (powiedzmy MP4 lub MKV), najlepiej rozpakować ramki B za pomocą filtra FFmpeg mpeg4_unpack_bframes.

Możesz rozpakować ramki B za pomocą czegoś tak prostego jak

ffmpeg -i INPUT.avi -codec copy -bsf:v mpeg4_unpack_bframes OUTPUT.avi
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.