Package: pyd2v
pyd2vA Python Parser for DGMPGDec's D2V Project Files.Installationpip install --user pyd2vBuildingDependenciesPython(v3.7 or newer)Poetry(latest recommended)Stepsgit clone https://github.com/rlaphoenix/pyd2vcd pyd2vpoetry config virtualenvs.in-project true(optional, but recommended)poetry installd2v --helpFor further information on using the Poetry virtual environment, seeUsing your virtual environment.UsageThis project can be used in Python Scripts by importingpyd2v, or in your terminal by callingd2v.Scriptingfrompyd2vimportD2V# ...d2v=D2V(filename="C:/Users/phoenix/Videos/1998_home_video.d2v")print(d2v)# d2v object basic information, e.g. version and settingsprint(d2v.videos)# input video filesprint(d2v.settings["Frame_Rate"])# frame rateprint(d2v.data[0])# print first frame dataExecutableFor help information rund2v --help. Here's some examples of using the d2v executable:Getting a Setting like the Video Resolution:$d2v"D:\...\The.IT.Crowd.S01E01.Yesterdays.Jam.PAL.DVD.DD.2.0.MPEG-2.REMUX.d2v"settings.Picture_Size[720,576]Parse the entire D2V to a JSON Pickle:$d2v"D:\...\The.IT.Crowd.S01E01.Yesterdays.Jam.PAL.DVD.DD.2.0.MPEG-2.REMUX.d2v"--json{"py/object":"pyd2v.d2v.D2V","path":{"py/reduce":[{"py/type":"pathlib.WindowsPath"},{"py/tuple":["D:\\","...","The.IT.Crowd.S01E01.Yesterdays.Jam.PAL.DVD.DD.2.0.MPEG-2.REMUX.d2v"]}]},"version":16,"videos":["D:\\...\\The.IT.Crowd.S01E01.Yesterdays.Jam.PAL.DVD.DD.2.0.MPEG-2.REMUX.mpeg"],"settings":{"Stream_Type":0,"MPEG_Type":2,"iDCT_Algorithm":5,"YUVRGB_Scale":1,"Luminance_Filter":{"Gamma":0,"Offset":0},"Clipping":[0,0,0,0],"Aspect_Ratio":"16:9","Picture_Size":[720,576],"Field_Operation":2,......Parse only the D2V Headers:$d2v"D:\...\The.IT.Crowd.S01E01.Yesterdays.Jam.PAL.DVD.DD.2.0.MPEG-2.REMUX.d2v"--pretty
<D2Vpath=WindowsPath('D:/.../The.IT.Crowd.S01E01.Yesterdays.Jam.PAL.DVD.DD.2.0.MPEG-2.REMUX.d2v')version=16,data_type='100.00% VIDEO\n',settings={'Stream_Type':0,'MPEG_Type':2,'iDCT_Algorithm':5,'YUVRGB_Scale':1,'Luminance_Filter':{'Gamma':0,'Offset':0},'Clipping':[0,0,0,0],'Aspect_Ratio':'16:9','Picture_Size':[720,576],'Field_Operation':2,'Frame_Rate':['25000',[25,1]],'Location':{'StartFile':'0','StartOffset':'0','EndFile':'0','EndOffset':'67d1f'}}>D2V PropertiesD2V objects contain the following properties:version: D2V version,16is currently the latest for the original DGIndex which was last updated in 2010.videos: List of the video file paths that were indexed by DGIndex. It will be just a filename if "Use Full Paths" was
disabled in DGIndex.settings: Will return various user-provided and auto-evaluated settings based on input data. More information on
Settings below.data: Indexing data of the MPEG video stream, Each entry is of an I frame which will describe the following non-I
frames up to the next I frame.data_type: What type of video is most previlent, e.g.88.4% FILM,PAL,99.9% NTSC.SettingsAuto-evaluated SettingsPossible ValuesDescriptionStream_Type0=Elementary StreamDefines the type of MPEG stream.1=Program Stream2=Transport Stream3=PVA StreamTransport_Packet_Size[188, 204]Specifies the size in bytes of the transport packets. Used only for Stream_Type=2.MPEG_Type1=MPEG-1, 2=MPEG-2Defines the type of MPEG stream.Aspect_RatioMPEG-2: "1:1", "4:3", "16:9", "2.21:1"Defines the Aspect Ratio of the video specified in the MPEG stream.MPEG-1: "1:1", 0.6735, ["16:9", 625],0.7615, 0.8055, ["16:9", 525], 0.8935,["4:3", 625], 0.9815, 1.0255, 1.0695,["4:3", 525], 1.575, 1.2015Picture_Size[width, height]Defines the size of the videoafterclipping has been applied.Frame_Raterate [num, den]'rate' defines output framerate * 1000.User-specified SettingsPossible ValuesDescriptionMPEG2_Transport_PID{Video, Audio, RCR}Selects the video/audio PIDs to be decoded. Used only for Stream_Type=2.iDCT_Algorithm1=32-bit MMXDefines the iDCT DGDecode will use to decode this video2=32-bit SSEMMX3=32-bit SSE2MMX4=64-bit Floating Point5=64-bit IEEE-1180 Reference6=32-bit SSEMMX (Skal)7=32-bit Simple MMX (XviD)YUVRGB_Scale0=TV ScaleDefines the range DGDecode will use if RGB conversion is requested.1=PC ScaleLuminance_Filter{Gamma, Offset} (range of +/- 256)Defines values for DGIndex's Luminance_Filter.Clipping[ClipLeft,ClipRight,ClipTop,ClipBottom]Defines values for Cropping lines of video.Field_Operation0=Honor Pulldown FlagsDefines values for Field Operation.1=Force Film2=Ignore Pulldown FlagsLocation{StartFile,StartOffset,EndFile,EndOffset}Defines start and end points for the video selection range.LicenseMIT License