12-28-2004, 01:13 PM
|
Free Member
|
|
Join Date: Mar 2003
Location: Palma de Mallorca - España
Posts: 2,925
Thanks: 0
Thanked 0 Times in 0 Posts
|
|
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?
|
Someday, 12:01 PM
|
|
Site Staff / Ad Manager
|
|
Join Date: Dec 2002
Posts: 42
Thanks: ∞
Thanked 42 Times in 42 Posts
|
|
|
12-28-2004, 02:29 PM
|
Free Member
|
|
Join Date: Apr 2002
Location: Puerto Rico, USA
Posts: 13,537
Thanks: 0
Thanked 0 Times in 0 Posts
|
|
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
|
12-28-2004, 02:53 PM
|
Free Member
|
|
Join Date: Mar 2003
Location: Palma de Mallorca - España
Posts: 2,925
Thanks: 0
Thanked 0 Times in 0 Posts
|
|
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.
|
12-28-2004, 02:55 PM
|
Free Member
|
|
Join Date: May 2003
Location: Germany
Posts: 3,189
Thanks: 0
Thanked 0 Times in 0 Posts
|
|
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!
|
06-23-2005, 01:42 PM
|
Free Member
|
|
Join Date: Mar 2003
Location: Palma de Mallorca - España
Posts: 2,925
Thanks: 0
Thanked 0 Times in 0 Posts
|
|
@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.
|
06-24-2005, 05:08 AM
|
Free Member
|
|
Join Date: May 2003
Location: Germany
Posts: 3,189
Thanks: 0
Thanked 0 Times in 0 Posts
|
|
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)
|
06-24-2005, 05:25 AM
|
Free Member
|
|
Join Date: Mar 2003
Location: Palma de Mallorca - España
Posts: 2,925
Thanks: 0
Thanked 0 Times in 0 Posts
|
|
Thanks Inc.
|
All times are GMT -5. The time now is 09:57 PM — vBulletin © Jelsoft Enterprises Ltd
|