Sumber File MPEG-4
Sumber file MPEG-4 mengurai file MP4 dan 3GPP. Untuk informasi selengkapnya tentang format file MP4, lihat dokumen standar berikut:
- ISO/IEC 14496-12: Teknologi informasi -- Pengodean objek audio-visual -- Bagian 12: Format File Media Dasar ISO
- ISO/IEC 14496-14: Teknologi informasi -- Pengkodean objek audio-visual -- Bagian 14: Format File MP4
Catatan
(Sumber daya ini mungkin tidak tersedia di beberapa bahasa dan negara.)
Sumber file MPEG-4 tidak mendekode data audio/video dalam file.
Topik ini berisi bagian berikut:
Ekstensi File dan Jenis MIME
Sumber file MPEG-4 adalah sumber media default untuk ekstensi nama file berikut.
Ekstensi file | Deskripsi |
---|---|
.3g2 | 3GPP2 |
.3gp | 3GPP |
.3gp2 | 3GPP2 |
.3gpp | 3GPP |
.M4a | Audio MPEG-4 |
.M4v | Video MPEG-4 |
.Mov | Film QuickTime Apple |
.mp4 | Audio atau video MPEG-4 |
.mp4v | Video MPEG-4 |
Ini juga merupakan sumber media default untuk jenis MIME berikut.
Jenis MIME | Deskripsi |
---|---|
audio/3gpp | Audio 3GPP |
audio/3gpp2 | Audio 3GPP2 |
audio/mp4 | Audio MPEG-4 |
video/3gpp | Video 3GPP |
video/3gpp2 | Video 3GPP2 |
video/mp4 | Video MPEG-4 |
Jenis Media
MP4 adalah format kontainer yang dapat diperluas. Spesifikasi MP4 tidak menentukan struktur tetap untuk menjelaskan jenis media dalam kontainer MP4. Sebaliknya, ini mendefinisikan hierarki objek yang memungkinkan struktur kustom didefinisikan untuk setiap format. Deskripsi format disimpan dalam kotak deskripsi sampel ('stsd') untuk aliran tersebut. Kotak deskripsi sampel berisi daftar entri sampel. Untuk setiap entri sampel, kode 4-byte, mirip dengan FOURCC, menentukan struktur format.
Ekstensibilitas ini berarti sumber file MPEG-4 tidak dapat mengenali setiap deskripsi format yang mungkin. Sebaliknya, dibutuhkan pendekatan dua tingkat saat membuat jenis media untuk aliran. Minimal, setiap jenis media berisi atribut berikut.
Atribut | Deskripsi |
---|---|
MF_MT_MAJOR_TYPE | Sama dengan MFMediaType_Audio atau MFMediaType_Video. |
MF_MT_SUBTYPE | Menentukan subjenis aliran. |
MF_MT_MPEG4_SAMPLE_DESCRIPTION | Berisi kotak deskripsi sampel lengkap sebagai blob biner. |
MF_MT_MPEG4_CURRENT_SAMPLE_ENTRY | Menentukan entri saat ini dalam kotak deskripsi sampel. |
Sumber file MPEG-4 mengenali beberapa jenis entri sampel. Untuk entri ini, ini dapat mengurai struktur format dan membuat jenis media lengkap, dengan atribut tambahan yang menjelaskan detail format. Lihat Atribut Jenis Media.
Sumber file MPEG-4 dapat mengurai entri sampel berikut.
Kode entri sampel | Jenis utama | Subjenis | Deskripsi | Catatan |
---|---|---|---|---|
'alaw' | Audio | WAVE_FORMAT_ALAW | Pengkodian A-law | |
'jpeg' | Video | MFVideoFormat_MJPG | Aliran Photo-JPEG | Format kontainer QuickTime juga mendukung aliran JPEG gerakan dengan entri 'mjpa' atau 'mjpb', tetapi sumber file MPEG-4 tidak menyediakan jenis media lengkap untuk jenis tersebut. |
'avc1' | Video | MFVideoFormat_H264 | Video H.264 | |
'mp4a' | Audio |
MFAudioFormat_AAC MFAudioFormat_MP3 |
AAC atau MP3 | Entri 'mp4a' dapat menggambarkan format audio MPEG lainnya, tetapi sumber file MPEG-4 tidak mengurai struktur format. |
'mp4v' | Video |
MFVideoFormat_M4S2 MFVideoFormat_MP4V |
MPEG-4 bagian 2 |
MFVideoFormat_M4S2 digunakan untuk Profil Sederhana MPEG-4 bagian 2. MFVideoFormat_MP4V digunakan untuk semua profil MPEG-4 bagian 2 lainnya, termasuk Profil Sederhana Tingkat Lanjut. |
'mentah' | Audio | MFAudioFormat_PCM | Audio PCM 8-bit | |
'menabur' | Audio | MFAudioFormat_PCM | Audio PCM little-endian 16-bit | |
'twos' | Audio | MFAudioFormat_PCM | Audio PCM big-endian 16-bit | Sumber file MPEG-4 mengonversi data audio menjadi format little-endian. |
'ulaw' | Audio | WAVE_FORMAT_MULAW | pengkodian hukum μ | |
'vc-1' | Video | MFVideoFormat_WVC1 | Video VC-1 | |
'NONE' | Audio | MFAudioFormat_PCM | Audio PCM big-endian 8-bit atau 16-bit | Sumber file MPEG-4 mengonversi data audio menjadi format little-endian. |
0x00000000 | Audio | MFAudioFormat_PCM | Audio PCM big-endian 8-bit atau 16-bit | Sumber file MPEG-4 mengonversi data audio menjadi format little-endian. |
0x6d730002 | Audio | WAVE_FORMAT_ADPCM | Modulasi Kode Pulse Diferensial Adaptif (ADPCM) | |
0x6d730011 | Audio | WAVE_FORMAT_IMA_ADPCM | ADPCM |
Untuk kode lain yang tidak ditampilkan dalam tabel sebelumnya, sumber file MPEG-4 mengatur subjenis sebagai berikut:
- subjenis = MFMPEG4Format_Base
- subjenis. Data1 = kode entri sampel
Untuk kode yang tidak ditampilkan dalam tabel, dekoder harus menggunakan atribut MF_MT_MPEG4_SAMPLE_DESCRIPTION untuk mengurai kotak deskripsi sampel.
Untuk daftar kode entri sampel dan tautan ke spesifikasi yang relevan, lihat situs web Otoritas Pendaftaran 'MP4 '.
Batasan
Sumber file MPEG-4 tidak mendukung fitur file MP4 berikut:
- Trek eksternal.
- Fragmen film (kotak 'moof' atau 'mfra'). 'moof' didukung dalam Windows 8.
- Presentasi yang dialirkan. Sumber file MPEG-4 secara diam-diam mengabaikan trek petunjuk.
- Mencari dengan kode waktu SMPTE.
- Atom terkompresi ('cmov').
Hanya aliran video dan audio yang didukung. Trek apa pun yang berisi jenis aliran lainnya diabaikan secara diam-diam. Data media harus ditempatkan di dalam atom 'mdat'.
Jika Pelengkap Pembaruan Platform untuk Windows Vista diinstal, sumber file MPEG-4 tersedia di Windows Vista, tetapi dapat diakses di Windows Vista hanya dengan menggunakan Pembaca Sumber.
Windows 8 pembaruan untuk sumber dan sink MPEG-4
Dukungan baca dan tulis rotasi ditambahkan di sumber dan sink MPEG-4 Windows 8. Ini tidak didukung di sumber dan sink Windows 7 MPEG-4.
Sumber MPEG-4 membaca sudut rotasi untuk trek video aktif sebagai jumlah sudut rotasi dari 'mvhd' dan dari 'tkhd'.
Sink Microsoft MPEG-4 menulis sudut rotasi dalam 'tkhd' tetapi menulis matriks 0 derajat (identitas) dalam 'mvhd'. Catatan, sink Microsoft MPEG-4 hanya mendukung satu trek video.
IPropertyStore membaca sudut rotasi hanya untuk trek video pertama sebagai jumlah sudut rotasi dari 'mvhd' dan dari 'tkhd'.
IPropertyStore menulis sudut rotasi hanya untuk trek video pertama dalam 'tkhd' setelah sudut rotasi disesuaikan sesuai dengan sudut rotasi di 'mvhd', jika ada.
Fragmen film ('moof') didukung di Windows 8 sumber dan sink MPEG-4, tetapi 'mfra' tidak.
H.263 didukung di Windows 8 sumber MPEG-4.
Sumber MPEG-4 sekarang memetakan dua fourcc 'h263' dan 's263' dalam format file MPEG-4 ke jenis media MFVideoFormat_H263.
Lebih banyak dukungan fourcc ditambahkan untuk MJPEG di Windows 8 sumber MPEG-4.
Sumber MPEG-4 memetakan foucc 'dmb1' ke jenis media MFVideoFormat_MJPG.
Dukungan metadata Furigana ditambahkan di sumber MPEG-4 Windows 8.
Sumber MPEG-4 membaca metadata Furigana dari 'soal', 'soar', 'soaa', 'sonm', dan 'soco'. IPropertyStore membaca metadata Furignana melalui serangkaian PKEY yang sesuai.
Tabel berikut ini memperlihatkan pemetaan antara nama kanonis shell, kunci properti, dan ID kotak/tag dalam format file MPEG-4.
Bidang Kunci Properti ID Tag/Kotak System.Music.AlbumTitleSortOverride PKEY_Music_AlbumTitleSortOverride soal System.Music.ArtistSortOverride PKEY_Music_ArtistSortOverride Melambung System.Music.AlbumArtistSortOverride PKEY_Music_AlbumArtistSortOverride soaa System.TitleSortOverride _TitleSortOverride PKEY sonm System.Music.ComposerSortOverride PKEY_Music_ComposerSortOverride Soco Dukungan atom 3D stereo ditambahkan dalam sumber MPEG-4 Windows 8.
Dukungan AC3 dan DD+ ditambahkan di Windows 8 sumber dan sink MPEG-4.
File yang lebih besar dari 4 gigabyte (GB) didukung di Windows 8 sink MPEG-4 untuk MP4 non-fragmental.
Scrubbing telah dioptimalkan di Windows 8 sumber MPEG-4.
Untuk mengurangi latensi, informasi untuk dua bingkai kunci terdekat untuk posisi pencarian tertentu diekspos melalui IMFSeekInfo::GetNearestKeyFrames. Karena bingkai kunci tidak memiliki bingkai dependen, bingkai disajikan setelah mendekode hanya satu bingkai. Gunakan IMFGetService::GetService untuk mendapatkan antarmuka ini melalui sumber media, alur, atau aplikasi.
Atur laju ke nol di sumber MPEG-4. Ketika alur dalam mode menggosok, tarifnya adalah nol.
SPS dan PPS dapat disimpan dalam data sampel di sink MPEG-4.
MF_MPEG4SINK_SPSPPS_PASSTHROUGH atribut pada sink MPEG-4 didefinisikan untuk memungkinkan SPS dan PPS disimpan bersama dengan sampel input (data video H.264). Klip mp4 yang diproduksi dapat dimainkan oleh sumber Windows 7 MPEG-4 dan lainnya.
SPS dan PPS dapat diekstrak dari sampel input di sink MPEG-4.
Ketika SPS dan PPS tidak diatur melalui MF_MT_MPEG_SEQUENCE_HEADER pada jenis media input sink MPEG-4, sink MPEG-4 akan mencoba mengekstrak SPS dan PPS dari sampel input. Sink MPEG-4 mengabaikan sampel input apa pun sampai menemukan SPS dan PPS pertama, karena semua sampel input tanpa SPS dan PPS tidak dapat didekodekan.
Informasi 3D dalam catatan konfigurasi AVC didukung untuk MP4 non-fragmental.
Panjang NALU diekspos untuk sampel terkompresi H.264 untuk mengoptimalkan decoding H.264 VLD DXVA.
Set sumber MPEG-4 MF_NALU_LENGTH_SET pada jenis media output MFVideoFormat_H264 atau MFVideoFormat_h264. Ini mengatur blob MF_NALU_LENGTH_INFORMATION pada setiap sampel output, dengan panjang NALU empat byte untuk NALU yang berbeda dalam satu sampel terkompresi.
Dukungan ditambahkan untuk audio MPEG2 ADTS di sumber MP4.
Topik terkait