Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Źródło pliku MPEG-4 analizuje pliki MP4 i 3GPP. Aby uzyskać więcej informacji na temat formatu pliku MP4, zapoznaj się z następującymi dokumentami dotyczącymi standardów:
- ISO/IEC 14496-12: Technologia informacyjna - Kodowanie obiektów audio-wizualnych - Część 12: Format plików nośników podstawowych ISO
- ISO/IEC 14496-14: Technologia informacyjna - Kodowanie obiektów audio-wizualnych - Część 14: Format pliku MP4
Nuta
(Te zasoby mogą nie być dostępne w niektórych językach i krajach).
Źródło pliku MPEG-4 nie dekoduje danych audio/wideo w pliku.
Ten temat zawiera następujące sekcje:
Rozszerzenia plików i typy MIME
Źródło pliku MPEG-4 jest domyślnym źródłem multimediów dla następujących rozszerzeń nazw plików.
| Formatem | Opis |
|---|---|
| .3g2 | 3GPP2 |
| .3gp | 3GPP |
| .3gp2 | 3GPP2 |
| .3gpp | 3GPP |
| .m4a | MPEG-4 audio |
| .m4v | Wideo MPEG-4 |
| .Mov | Apple QuickTime Movie |
| .mp4 | MPEG-4 audio lub wideo |
| .mp4v | Wideo MPEG-4 |
Jest to również domyślne źródło multimediów dla następujących typów MIME.
| Typ MIME | Opis |
|---|---|
| audio/3gpp | Dźwięk 3GPP |
| audio/3gpp2 | Dźwięk 3GPP2 |
| audio/mp4 | MPEG-4 audio |
| wideo/3gpp | Wideo 3GPP |
| wideo/3gpp2 | Wideo 3GPP2 |
| wideo/mp4 | Wideo MPEG-4 |
Typy multimediów
MP4 to rozszerzalny format kontenera. Specyfikacja MP4 nie definiuje stałej struktury opisującej typy multimediów w kontenerze MP4. Zamiast tego definiuje hierarchię obiektów, która umożliwia definiowanie struktur niestandardowych dla każdego formatu. Opis formatu jest przechowywany w polu opisu przykładowego ('stsd') dla tego strumienia. Przykładowe pole opisu zawiera listę przykładowych wpisów. Dla każdego przykładowego wpisu kod 4-bajtowy, podobny do FOURCC, definiuje strukturę formatu.
Ta rozszerzalność oznacza, że źródło plików MPEG-4 nie może rozpoznać każdego możliwego opisu formatu. Zamiast tego jest to podejście dwuwarstwowe podczas tworzenia typów multimediów dla strumieni. Co najmniej każdy typ nośnika zawiera następujące atrybuty.
| Atrybut | Opis |
|---|---|
| MF_MT_MAJOR_TYPE | Równe MFMediaType_Audio lub MFMediaType_Video. |
| MF_MT_SUBTYPE | Określa podtyp strumienia. |
| MF_MT_MPEG4_SAMPLE_DESCRIPTION | Zawiera pełne pole opisu przykładu jako binarny obiekt blob. |
| MF_MT_MPEG4_CURRENT_SAMPLE_ENTRY | Określa bieżący wpis w polu opisu przykładu. |
Źródło pliku MPEG-4 rozpoznaje niektóre przykładowe typy pozycji. W przypadku tych wpisów może przeanalizować strukturę formatu i utworzyć pełny typ nośnika z dodatkowymi atrybutami, które opisują szczegóły formatu. Zobacz atrybuty typu nośnika .
Źródło pliku MPEG-4 może przeanalizować następujące przykładowe wpisy.
| Przykładowy kod wpisu | Typ główny | Podtypu | Opis | Notatki |
|---|---|---|---|---|
| "alaw" | Dźwięk | WAVE_FORMAT_ALAW | Kodowanie z prawem | |
| "jpeg" | Wideo | MFVideoFormat_MJPG | strumień Photo-JPEG | Format kontenera QuickTime obsługuje również strumienie motion JPEG z wpisami "mjpa" lub "mjpb", ale źródło pliku MPEG-4 nie zapewnia kompletnego typu nośnika dla tych typów. |
| "avc1" | Wideo | MFVideoFormat_H264 | Wideo H.264 | |
| "mp4a" | Dźwięk |
MFAudioFormat_AAC MFAudioFormat_MP3 |
AAC lub MP3 | Wpis "mp4a" może opisać inne formaty audio MPEG, ale źródło pliku MPEG-4 nie analizuje struktury formatu. |
| "mp4v" | Wideo |
MFVideoFormat_M4S2 MFVideoFormat_MP4V |
MPEG-4, część 2 |
MFVideoFormat_M4S2 jest używany dla MPEG-4 część 2 Simple Profile. MFVideoFormat_MP4V jest używany dla wszystkich innych profilów MPEG-4 część 2, w tym Advanced Simple Profile. |
| "nieprzetworzone" | Dźwięk | MFAudioFormat_PCM | 8-bitowy dźwięk PCM | |
| "sowt" | Dźwięk | MFAudioFormat_PCM | 16-bitowy dźwięk PCM | |
| "Dwa" | Dźwięk | MFAudioFormat_PCM | 16-bitowy dźwięk PCM big-endian | Źródło pliku MPEG-4 konwertuje dane audio na format little-endian. |
| "Ulaw" | Dźwięk | WAVE_FORMAT_MULAW | kodowanie μ-law | |
| "vc-1" | Wideo | MFVideoFormat_WVC1 | Wideo VC-1 | |
| "NONE" | Dźwięk | MFAudioFormat_PCM | Dźwięk 8-bitowy lub 16-bitowy big-endian PCM | Źródło pliku MPEG-4 konwertuje dane audio na format little-endian. |
| 0x00000000 | Dźwięk | MFAudioFormat_PCM | Dźwięk 8-bitowy lub 16-bitowy big-endian PCM | Źródło pliku MPEG-4 konwertuje dane audio na format little-endian. |
| 0x6d730002 | Dźwięk | WAVE_FORMAT_ADPCM | Adaptacyjna modulacja kodu impulsu różnicowego (ADPCM) | |
| 0x6d730011 | Dźwięk | WAVE_FORMAT_IMA_ADPCM | ADPCM |
W przypadku innych kodów, które nie zostały pokazane w poprzedniej tabeli, źródło pliku MPEG-4 ustawia podtyp w następujący sposób:
- podtyp = MFMPEG4Format_Base
- podtyp. Data1 = przykładowy kod wpisu
W przypadku kodów, które nie są wyświetlane w tabeli, dekoder musi użyć atrybutu MF_MT_MPEG4_SAMPLE_DESCRIPTION, aby przeanalizować przykładowe pole opisu.
Aby uzyskać listę przykładowych kodów wpisów i linki do odpowiednich specyfikacji, zobacz witrynę internetową "MP4" Urząd rejestracji.
Ograniczenia
Źródło plików MPEG-4 nie obsługuje następujących funkcji plików MP4:
- Ścieżki zewnętrzne.
- Fragmenty filmu (pola moof lub "mfra"). Opcja "moof" jest obsługiwana w systemie Windows 8.
- Prezentacje przesyłane strumieniowo. Źródło pliku MPEG-4 dyskretnie ignoruje ścieżki wskazówek.
- Wyszukiwanie przez kod czasu SMPTE.
- Skompresowane atomy ('cmov').
Obsługiwane są tylko strumienie wideo i audio. Wszystkie ścieżki zawierające inne typy strumieni są ignorowane w trybie dyskretnym. Dane multimedialne muszą być umieszczane wewnątrz atomów "mdat".
Jeśli dodatek aktualizacji platformy dla systemu Windows Vista jest zainstalowany, źródło plików MPEG-4 jest dostępne w systemie Windows Vista, ale jest dostępne tylko w systemie Windows Vista przy użyciu Source Reader.
Aktualizacje systemu Windows 8 do źródła i ujścia MPEG-4
Obsługa odczytu i zapisu w systemie Windows 8 MPEG-4 źródła i ujścia. Nie jest to obsługiwane w źródle i ujściu systemu Windows 7 MPEG-4.
Źródło MPEG-4 odczytuje kąt obrotu dla aktywnego toru wideo jako sumę kąta obrotu z "mvhd" i z "tkhd".
Ujście MICROSOFT MPEG-4 zapisuje kąt obrotu w 'tkhd', ale zapisuje macierz 0 stopni (tożsamość) w 'mvhd'. Uwaga: ujście MPEG-4 firmy Microsoft obsługuje tylko pojedyncze ścieżki wideo.
IPropertyStore odczytuje kąt obrotu tylko dla pierwszego toru wideo jako sumę kąta obrotu z "mvhd" i z "tkhd".
IPropertyStore zapisuje kąt obrotu tylko dla pierwszego toru wideo w "tkhd" po kąt obrotu jest dostosowywany zgodnie z kątem obrotu w "mvhd", jeśli istnieje.
Fragmenty filmu ('moof') są obsługiwane w systemie Windows 8 MPEG-4 źródła i ujścia, ale "mfra" nie jest.
H.263 jest obsługiwany w źródle MPEG-4 systemu Windows 8.
Źródło MPEG-4 mapuje teraz dwa czterycc 'h263' i 's263' w formacie pliku MPEG-4 do typu nośnika MFVideoFormat_H263.
Dodano obsługę więcej czterechcc dla MJPEG w źródle MPEG-4 systemu Windows 8.
Mapy źródłowe MPEG-4 foucc "dmb1" do typu nośnika MFVideoFormat_MJPG.
Dodano obsługę metadanych Furigana w źródle MPEG-4 systemu Windows 8.
Źródło MPEG-4 odczytuje metadane Furigana z "soal", "szyb", "soaa", "sonm" i "soco". IPropertyStore odczytuje metadane Furignana za pomocą zestawu odpowiednich PKEYs.
W poniższej tabeli przedstawiono mapowanie między nazwą kanoniczną powłoki, kluczem właściwości i identyfikatorem pola/tagu w formacie pliku MPEG-4.
Pole Klucz właściwości Identyfikator tagu/pola System.Music.AlbumTitleSortOverride PKEY_Music_AlbumTitleSortOverride soal System.Music.ArtistSortOverride PKEY_Music_ArtistSortOverride szybować System.Music.AlbumArtistSortOverride PKEY_Music_AlbumArtistSortOverride soaa System.TitleSortOverride _TitleSortOverride PKEY sonm System.Music.ComposerSortOverride PKEY_Music_ComposerSortOverride Soco Obsługa atomów 3D stereo dodana w źródle MPEG-4 systemu Windows 8.
Obsługa AC3 i DD+ dodana w źródle i ujściu systemu Windows 8 MPEG-4.
Pliki większe niż 4 gigabajty (GB) są obsługiwane w ujściu MPEG-4 systemu Windows 8 dla niefragmentalnego MP4.
Kontrola została zoptymalizowana w źródle MPEG-4 systemu Windows 8.
Aby zmniejszyć opóźnienie, informacje dotyczące dwóch najbliższych klatek kluczowych dla określonej pozycji wyszukiwania są widoczne za pośrednictwem IMFSeekInfo::GetNearestKeyFrames. Ponieważ ramka klucza nie ma ramek zależnych, przedstawia ramkę po dekodowaniu tylko jednej ramki. Użyj IMFGetService::GetService, aby uzyskać ten interfejs za pośrednictwem źródła multimediów, potoku lub aplikacji.
Ustaw szybkość na zero w źródle MPEG-4. Gdy potok jest w trybie czyszczenia, szybkość wynosi zero.
Usługi SPS i PPS można przechowywać w przykładowych danych w ujściu MPEG-4.
MF_MPEG4SINK_SPSPPS_PASSTHROUGH atrybut ujścia MPEG-4 jest zdefiniowany w celu umożliwienia zapisywania plików SPS i PPS razem z przykładami wejściowymi (dane wideo H.264). Produkowane klipy mp4 są odtwarzane przez windows 7 MPEG-4 źródło i inne.
Usługi SPS i PPS można wyodrębnić z próbek wejściowych w ujściu MPEG-4.
Jeśli spS i PPS nie są ustawione przez MF_MT_MPEG_SEQUENCE_HEADER na nośniku wejściowym typu ujścia MPEG-4, ujście MPEG-4 spróbuje wyodrębnić SPS i PPS z próbek wejściowych. Ujście MPEG-4 ignoruje wszystkie próbki danych wejściowych, dopóki nie znajdzie pierwszego dodatku SPS i PPS, ponieważ wszystkie próbki wejściowe bez usług SPS i PPS nie są w stanie dekodować.
Informacje 3D w rekordzie konfiguracji AVC są obsługiwane w przypadku niefragmentalnych plików MP4.
Długość NALU jest uwidoczniona dla skompresowanych próbek H.264 w celu zoptymalizowania dekodowania DXVA H.264 VLD.
Zestawy źródłowe MPEG-4 MF_NALU_LENGTH_SET na nośniku wyjściowym typu MFVideoFormat_H264 lub MFVideoFormat_h264. Ustawia obiekt blob MF_NALU_LENGTH_INFORMATION na każdym przykładzie danych wyjściowych z cztero bajtową długością NALU dla różnych plików NALU w jednym skompresowanym przykładzie.
Dodano obsługę dźwięku MPEG2 ADTS w źródle MP4.
Tematy pokrewne