digitalFAQ.com Forums [Archives]

digitalFAQ.com Forums [Archives] (http://www.digitalfaq.com/archives/)
-   Avisynth Scripting (http://www.digitalfaq.com/archives/avisynth/)
-   -   Programming: What dlls or APIs? (http://www.digitalfaq.com/archives/avisynth/13098-programming-dlls-apis.html)

Prodater64 12-28-2004 01:13 PM

What dlls or APIs?
 
What dlls or APIs do use to get all multimedia files info (lenght, codec, type, etc.).
I have seen this lib Mediainfo
but i don't know how to call it from VB6 program (I don't know its functions)
Could somebody here help me a little bit?

kwag 12-28-2004 02:29 PM

Hi Prodater64,

Look into VB's documentation, as to how to call an external DLL.
Basically you make a call to initialize the DLL, and then you have to find out what methods (internal names and parameters) you use to call the DLL.
BTW, I didn't know about this DLL :!:

Thanks,
-kwag

Prodater64 12-28-2004 02:53 PM

Quote:

Originally Posted by kwag
Hi Prodater64,

Look into VB's documentation, as to how to call an external DLL.
Basically you make a call to initialize the DLL, and then you have to find out what methods (internal names and parameters) you use to call the DLL.
BTW, I didn't know about this DLL :!:

Thanks,
-kwag

I did it, but I can't find what are internal names to call dll.
Could you donwnload it and point me in the correct direction.
There is a help html file but names have :: in half of it, and I never saw this type of parameters in a VB6 dll call.
I can't found functions as getavilenght or so.
By the way, how Calcumatic obtain movietime from vobs or avis?
I saw an API function from windows for avi files, but not for mpgs or vobs.

incredible 12-28-2004 02:55 PM

The nicest way to find out how an environment works is to get contact to users wich got the real skills:

http://www.visualbasicforum.com/

http://www.vbforums.com/

... just the first google hits. :)

Getting the headers infos from an avi or a vob you just have to parse these ones using opeining the file and read out the bytes in the correct order, means the place where each bit according to the needed info exists.

http://www.fastgraph.com/help/avi_header_format.html

For a simple avi file info there do exist in purebasic some special commands like movieinfo() which gives you the fps(*1000), maybe in VB there also do exist some libraries which do contain some VB Commands which let keep you out of deep programming.


BTW: Purebasic IS NICE! but its young and the community is still not large enough or even a bit more movie appl. orientated. So if you are actually getting into a programming environment to build movie purposed apps. like dshow integration or whatever, you should really think about Delphi as many userlibraries already do exist like from Prodegy.com which are easy to use. Moviestacker for instance is build using Delphi. FitCD is delphi etc.

The most mpeg/Avi/Movie prebuilded routines do exist in c++ but learning c++ only for movie enthisiastic purposes is a pain in the ass and its not worth.

:!: IDEA!

Did you tried in VB the way via MCI ????

There is a page which shows the way how to access/parse mediafiles using MCI!

http://www.geocities.com/smigman.geo/mci/avi.html

Just a piece of the cake:
Quote:

How to find the actual width and height of an AVI
The Sub Routine below will open an AVI, onto Form1 and determine the width and height (as well as the TOP and LEFT which we do not actually need). It will play the AVI in it's original proportional dimensions.

Dim sReturn As String * 128
Dim lPos As Long
Dim lStart As Long

Last$ = Form1.hWnd & " Style " & &H40000000
ToDo$ = "open c:\shut.avi Type avivideo Alias video1 parent " & Last$
i = mciSendString(ToDo$, 0&, 0, 0)

i = mciSendString("Where video1 destination", ByVal sReturn, Len(sReturn) - 1, 0)

lStart = InStr(1, sReturn, " ") 'pos of top
lPos = InStr(lStart + 1, sReturn, " ") 'pos of left
lStart = InStr(lPos + 1, sReturn, " ") 'pos width
lWidth = Mid(sReturn, lPos, lStart - lPos)
lHeight = Mid(sReturn, lStart + 1)


i = mciSendString("put video1 window at 16 10 " & lWidth & " " & lHeight, 0&, 0, 0)
i = mciSendString("play video1 wait", 0&, 0, 0)
i = mciSendString("close video1", 0&, 0, 0)
Karl, you also should have a look at it cause MCI also can be accessed by Purebasic! 8)

Prodater64 06-23-2005 01:42 PM

@Incredible: A it seems we come back to same topic, please could you take a look at mediainfolib - dll and mediainfolib - library and, following your example in calcumatic thread, say me how would be the call to obtain playing time, frames, resolution, etc.
Inside mediainfo.dll zip file there is a lot of html with that info, but it is too complex for my understood.
I know it is a lot a work for you, but please, you are the teacher and I am the pupil. :D

incredible 06-24-2005 05:08 AM

Exactly at this moment Im on a diff. Project on my own, so beside private life my time is set to minimum - when there's time, Ill take a look into it.

My general advice:
Do get Informations out of VB Tutorials how to access Libs/Dlls and their outputs or outputted structures.
AND do ask in a VB board ... maybe a simple code sniplet of the c++ example where its showed how tha dll has to be accessed posted in a thread in that board could result in some useful help from VB gurus.

Second general "suggestion":
If you intend to get into deeper coding procedures according to video usage on Windows, you should at least "think" about getting into c++ sometime.
Basic Languages are much more easy structured and easier to learn, but the most examples & sources on the Windows Video sector are available in c++.
Almost 90% of the useful Software incl routines you can use are opensource.

- Vdub
- Avisynth
- ffmpeg and all its routines for playingback/parsing/etc.
- Avisynth filters
- DG Stuff
- and much more.

I got a bit into PureBasic, but Im aware that sometime (if I will get into deeper Videostuff developings) a look into c++ will be inevitable for me (IMHO)

Prodater64 06-24-2005 05:25 AM

Thanks Inc.


All times are GMT -5. The time now is 06:37 PM  —  vBulletin © Jelsoft Enterprises Ltd

Site design, images and content © 2002-2024 The Digital FAQ, www.digitalFAQ.com
Forum Software by vBulletin · Copyright © 2024 Jelsoft Enterprises Ltd.