MP4Box – Konwersja filmów z kontenera FLV na MP4

Wojtek opisał dziś na swoim blogu fajny skrypt do „Pobierania dowolnych filmów z Vimeo„. Skrypt działa dobrze, pobiera filmy w maksymalnej jakości, jednakże wynik zapisuje w kontenerze FLV. Pobierane filmy są oczywiście zakodowane kodekiem H264, więc bez utraty jakości, można je szybko przerobić na kontener MP4.

Zdarza mi się od czasu do czasu pobrać film zapisany jako FLV i zawsze konwertuję go sobie na MP4. Lubię proste konsolowe narzędzia, które dają mi pełną kontrolę nad całym procesem. Dlatego też, używam opensource’owego programu MP4Box z pakietu GPAC. Na stronie tego projektu można pobrać skompilowane paczki pod wszelkie platformy.

Zanim przystąpimy do konwersji należy wyświetlić informacje o ścieżkach, które zawiera pobrany plik.

MP4Box -info 31733477-hd.flv
Track # 1 Info - TrackID 1 - TimeScale 30000 - Duration 00:05:04.033
Media Info: Language "Undetermined" - Type "vide:avc1" - 9121 samples
MPEG-4 Config: Visual Stream - ObjectTypeIndication 0x21
AVC/H264 Video - Visual Size 1280 x 520 - Profile High @ Level 3.1
NAL Unit length bits: 32
Pixel Aspect Ratio 1:1 - Indicated track size 1280 x 520
Self-synchronized

Track # 2 Info - TrackID 2 - TimeScale 44100 - Duration 00:05:04.088
Media Info: Language "Undetermined" - Type "soun:mp4a" - 13096 samples
MPEG-4 Config: Audio Stream - ObjectTypeIndication 0x40
MPEG-4 Audio AAC LC - 2 Channel(s) - SampleRate 44100
Synchronized on stream 1

Następnie wypakowujemy kolejno interesujące nas ścieżki:

MP4Box -raw 1 31733477-hd.flv
MP4Box -raw 2 31733477-hd.flv

Zostaną utworzone 2 pliki z obrazem:

31733477-hd_track1.h264

oraz z dźwiękiem:

31733477-hd_track2.aac

Ostatnim krokiem jest zapisanie powyższych ścieżek w pliku MP4:

MP4Box -add 31733477-hd_track1.h264 -add 31733477-hd_track2.aac -isma 31733477-hd.mp4

Cała procedura trwa kilka sekund, a obraz i dźwięk pozostają nienaruszone. Plik wynikowy natomiast jest w pełni kompatybilny m.in. z iPhone czy iPadem.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

*