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.
[Funkcja skojarzona z tą stroną, DirectShow, jest starszą funkcją. Został zastąpiony przez MediaPlayer, IMFMediaEnginei Audio/Video Capture w Media Foundation. Te funkcje zostały zoptymalizowane pod kątem systemów Windows 10 i Windows 11. Firma Microsoft zdecydowanie zaleca, aby nowy kod używał MediaPlayer, IMFMediaEngine i Audio/Video Capture w programie Media Foundation zamiast DirectShow, jeśli to możliwe. Firma Microsoft sugeruje, że istniejący kod, który używa starszych interfejsów API, należy przepisać go do korzystania z nowych interfejsów API, jeśli to możliwe.]
Firma Microsoft określiła format przechowywania danych cyfrowych wideo (DV) w plikach AVI. Zgodność z tą specyfikacją zapewni, że pliki AVI utworzone w tym formacie będą zgodne z przyszłymi wersjami cyfrowej architektury wideo DirectShow dla systemu Windowsplatform.
W tym artykule opisano format plików AVI zawierających dane DV. Zdefiniowano określone kody FOURCC (kody czterech znaków) dla przeplatanych strumieni danych DV i kompresorów DV/uchwytów strumieni dekompresora. Zdefiniowano strukturę formatu strumienia dla danych DV. Określono specyfikacje dla dwóch metod przechowywania danych DV w formacie pliku AVI.
Przyjęto założenie, że czytnik jest zaznajomiony z formatem danych DV. (Ten format jest zdefiniowany w specyfikacji cyfrowych VCR używanych przez konsumentów, nazywanej również niebieską książką).
Istnieją dwa typy plików DV AVI: pliki AVI zawierające jeden strumień danych DV o nazwie type-1 plików; i pliki AVI zawierające wideo DV jako strumień "vids" i audio DV jako strumienie "auds", nazywane type-2 pliki.
pliki AVI zawierające jeden strumień danych DV (typ 1)
Przeplatane dane DV mogą być przechowywane w natywnym formacie jako pojedynczy strumień w pliku AVI RIFF. Ma to zaletę korzystania z minimalnej ilości magazynu danych dla dv. Podstawową wadą jest to, że ten format pliku nie jest zgodny z poprzednimi wersjami wideo dla systemu Windows, ponieważ nie zawiera ani wideo "vids" lub strumienia audio "auds". Dostępna jest obsługa przeplatanego strumienia DV za pośrednictwem DV Muxer i filtrów DV Splitter dostarczanych z directshow.
Dane DV mogą być przechowywane w jednym strumieniu w pliku AVI RIFF, określając "iavs" (przeplatane strumienie audio i wideo) FOURCC (czteroznaczny kod) w fccType elementu członkowskiego i jedną z "dvsd", "dvhd" lub "dvsl" FOURCCs w fccHandler elementu członkowskiego nagłówka strumienia "strh". Ramki na sekundę strumienia wideo muszą być określone w dwRate i dwScale składowych oraz łączną liczbę bloków wideo we fragcie "movi" w dwLength elementu członkowskiego.
Procedura obsługi strumienia "dvsd" FOURCC określa, że dane DV są zdefiniowane w części 2 specyfikacji cyfrowych VCRs. Wideo jest w formacie 525 linii z 29,97 Hz (525-60) lub 625 linii z 25,00 Hz (625-50).
Procedura obsługi strumienia "dvhd" FOURCC określa, że dane DV są zdefiniowane w części 3 specyfikacji użycia cyfrowych VCRs. Wideo jest w formacie 1125 linii z 30,00 Hz (1125-60) lub 1250 linii z 25,00 Hz (1250-50).
Procedura obsługi strumienia "dvsl" FOURCC określa, że dane DV są zgodnie z definicją w części 6 specyfikacji specyfikacji cyfrowych VCR używanych przez konsumentów. Wideo jest w formacie SD o wysokiej kompresji (SDL).
Nuta
Pozostała część tego artykułu zawiera definicje strumieni "dvsd".
Fragment nagłówka strumienia musi być zgodny z fragmentem DVINFO formacie strumienia.
Rzeczywiste dane DV są przechowywane jako fragmenty "##dc" we fragmentach "movi" (## w formacie reprezentuje identyfikator strumienia). Każdy fragment zawiera jedną ramkę danych, odpowiednio 10 lub 12 sekwencji DV DIF dla systemów 525-60 lub 625-50. Format sekwencji DIF DV SD ('dvsd') jest zdefiniowany w części 2 specyfikacji specyfikacji cyfrowych VCR używanych przez konsumentów.
W poniższym przykładzie przedstawiono formularz AIFF RIFF dla pliku AVI z jednym strumieniem danych DV, rozwinięty z ukończonymi fragmentami nagłówka.
00000000 RIFF (0FAE35D4) 'AVI '
0000000C LIST (00000106) 'hdrl'
00000018 avih (00000038)
dwMicroSecPerFrame : 33367
dwMaxBytesPerSec : 3728000
dwPaddingGranularity : 0
dwFlags : 0x810 HASINDEX | TRUSTCKTYPE
dwTotalFrames : 2192
dwInitialFrames : 0
dwStreams : 1
dwSuggestedBufferSize : 120000
dwWidth : 720
dwHeight : 480
dwReserved : 0x0
00000058 LIST (0000006C) 'strl'
00000064 strh (00000038)
fccType : 'iavs'
fccHandler : 'dvsd'
dwFlags : 0x0
wPriority : 0
wLanguage : 0x0 undefined
dwInitialFrames : 0
dwScale : 100 (29.970 Frames/Sec)
dwRate : 2997
dwStart : 0
dwLength : 2192
dwSuggestedBufferSize : 120000
dwQuality : 0
dwSampleSize : 0
rcFrame : 0,0,720,480
000000A4 strf (00000020)
dwDVAAuxSrc : 0x........
dwDVAAuxCtl : 0x........
dwDVAAuxSrc1 : 0x........
dwDVAAuxCtl1 : 0x........
dwDVVAuxSrc : 0x........
dwDVVAuxCtl : 0x........
dwDVReserved[2] : 0,0
000000CC LIST (0FADAC00) 'movi'
0FADACD4 idx1 (00008900)
pliki AVI zawierające strumienie audio DV i DV (Type-2)
Przeplatane dane DV można podzielić na strumień wideo i jeden do czterech strumieni audio w pliku AVI RIFF. Ma to zaletę zapewnienia zgodności wstecznej z wideo dla systemu Windows, ponieważ zawiera standardowy strumień wideo "vids" i co najmniej jeden standardowy strumień audio "auds" Podstawowa wadą jest to, że ten format pliku wymaga nadmiarowego przechowywania danych audio jako strumieni audio. Strumień "wideo" jest w rzeczywistości natywnym przeplatanym strumieniem danych DV. Jednak jako standardowy strumień "vids" z typem obsługi "dvsd", używany jest dekodera DV Video. Ten format wymaga również użycia filtru DV, aby podzielić pliki "przechwycone" przed zapisaniem ich jako plików AVI.
Dane DV można przechowywać jako strumień wideo z oddzielną liczbą strumieni audio w pliku AVI RIFF. Strumień wideo jest określony ze standardowym nagłówkiem strumienia wideo (fccType wartość elementu członkowskiego to "vids". Element członkowski fccHandler jest określony jako "dvsd", "dvhd" lub "dvsl". Ramki na sekundę strumienia wideo muszą być określone w dwRate i dwScale składowych oraz łączną liczbę bloków wideo we fragcie "movi" w dwLength elementu członkowskiego.
W tym pliku AVI zawierającym wideo DV jako strumień "vids" i dźwięk DV jako "auds" strumienie DV, format strumienia wideo jest standardowym BITMAPINFOHEADER struktury. Fragment formatu strumienia można opcjonalnie rozszerzyć w celu uwzględnienia fragmentu DVINFO, zwiększając rozmiar fragmentu formatu strumienia z 40 bajtów (rozmiar struktury BITMAPINFOHEAD ER) do 72 bajtów (rozmiar BITMAPINFOHEADER oraz struktury DVINFO) i bezpośrednio zgodnie z BITMAPINFOHEADER strukturą danych DVINFO.
Strumienie audio są określane za pomocą standardowego nagłówka strumienia audio (fccType wartość elementu członkowskiego to "auds". Element członkowski programu fccHandler nie jest używany dla strumieni audio.
Dane wideo DV są przechowywane jako fragmenty "##dc", zgodnie z definicją w poprzednim opisie pliku AVI z jednymi danymi DV, a dane audio są przechowywane jako fragmenty "##wb" we fragmentach "movi".
Nuta
Specyfikacja cyfrowych vcR używanych przez konsumentów może nie być dostępna w niektórych językach i krajach.
W poniższym przykładzie pokazano formularz AIFF RIFF dla pliku AVI zawierającego wideo DV jako strumień "vids" i dźwięk DV jako strumienie "auds" rozwinięte z ukończonymi fragmentami nagłówka (w tym opcjonalnymi DVINFO danych po BITMAPINFO we fragmentach podrzędnych "strf" dla strumienia "vids".
00000000 RIFF (103E2920) 'AVI '
0000000C LIST (00000146) 'hdrl'
00000018 avih (00000038)
dwMicroSecPerFrame : 33367
dwMaxBytesPerSec : 3728000
dwPaddingGranularity : 0
dwFlags : 0x810 HASINDEX | TRUSTCKTYPE
dwTotalFrames : 2192
dwInitialFrames : 0
dwStreams : 2
dwSuggestedBufferSize : 120000
dwWidth : 720
dwHeight : 480
dwReserved : 0x0
00000058 LIST (00000094) 'strl'
00000064 strh (00000038)
fccType : 'vids'
fccHandler : 'dvsd'
dwFlags : 0x0
wPriority : 0
wLanguage : 0x0 undefined
dwInitialFrames : 0
dwScale : 100 (29.970 Frames/Sec)
dwRate : 2997
dwStart : 0
dwLength : 2192
dwSuggestedBufferSize : 120000
dwQuality : 0
dwSampleSize : 0
rcFrame : 0,0,720,480
000000A4 strf (00000048)
biSize : 40
biWidth : 720
biHeight : 480
biPlanes : 1
biBitCount : 24
biCompression : 0x64737664 'dvsd'
biSizeImage : 120000
biXPelsPerMeter : 0
biYPelsPerMeter : 0
biClrUsed : 0
biClrImportant : 0
dwDVAAuxSrc : 0x........
dwDVAAuxCtl : 0x........
dwDVAAuxSrc1 : 0x........
dwDVAAuxCtl1 : 0x........
dwDVVAuxSrc : 0x........
dwDVVAuxCtl : 0x........
dwDVReserved[2] : 0,0
000000F4 LIST (0000005E) 'strl'
00000100 strh (00000038)
fccType : 'auds'
fccHandler : ' '
dwFlags : 0x0
wPriority : 0
wLanguage : 0x0 undefined
dwInitialFrames : 0
dwScale : 1 (32000.000 Samples/Sec)
dwRate : 32000
dwStart : 0
dwLength : 2340474
dwSuggestedBufferSize : 4272
dwQuality : 0
dwSampleSize : 4
rcFrame : 0,0,0,0
00000140 strf (00000012)
wFormatTag : 1 PCM
nChannels : 2
nSamplesPerSec : 32000
nAvgBytesPerSec : 128000
nBlockAlign : 4
wBitsPerSample : 16
cbSize : 0
00000814 LIST (103D0EF4) 'movi'
103D1710 idx1 (00011210)
Tematy pokrewne