Solved

Streaming WMV files from an EXE

Posted on 2006-06-12
10
323 Views
Last Modified: 2010-04-05
Hi,

I have a series of WMV files that I want to be able to show as set of random animations for training purposes.  I don't want the end user getting access to the WMV files as they are my IP and took a long time to compile.

I'd really like to create an EXE with them embedded and have them play that way, without, at any time, the raw files being accessible to the end user.

I can get MPG and AVI to stream from an EXE, although the MPG is very jerky.  AVI is fine, but I can't get the compression I want easily from the CINEPAK codec.

So, I have one problem and two options I am exploring:

1. I really want to stream the WMV files from the EXE.  Is this possible?  Do I have to buy a component for this?

2. If I have to stream an AVI, what codec should I use?  DivX?  Can you embed the DivX codec into your code in case the end user PC doesn't have it installed?

I'd really appreciate any help!

- The target platform is XP
- I'm currently using D7 (old, I know!)

Looking forward to some discussion on this!

Thanks,
Chrism
0
Comment
Question by:Chrism
  • 2
  • 2
  • 2
  • +2
10 Comments
 
LVL 28

Expert Comment

by:ciuly
Comment Utility
Hi Chrism,

I have researched this issue and got to the conclusion that it's not doable unless you write your own wmv parser using the sdk. There migth be otehr alternatives as well, but AFAIK, none is imlementable in an easy/less easy way.

However, I can tell you that using directshow, you cna embed mostly any video format (except wmf, wmv).

You can try going the MCI way, and thus support win9x along with XP (in this case only avi files can be streamed) or using DS way, in which case most vide/audio formats can be streamed.
I have a made a demo a while back for someone here: http://www.ciuly.com/delphi/multimedia/
I will start investigatin wmv issue more deeply in a few months and I'll update that page when I find something. until then, I guess I'll just watch this page, maybe someone knows better than me :)
0
 
LVL 14

Expert Comment

by:DragonSlayer
Comment Utility
Just a suggestion, is it possible to encrypt everything into a single file system (e.g. http://www.aidaim.com/products/sfs/sfs_spec.php) and use normal filestreams to access it?
0
 
LVL 2

Author Comment

by:Chrism
Comment Utility
Hi cwwkie,

While I appreciate ciuly's comment, it didn't answer the question.  In the end, I have written my own WMV streaming application from Delphi.  It was challenging, but is now done.

Thanks,
Chrism
0
 
LVL 28

Expert Comment

by:ciuly
Comment Utility
just a though, from what I know (!), you probably used the wm sdk (or some translated header from it) to write either a full wmv parser or some pseudo-parser based on some demo from the sdk in order to make that streaming app. at least this was my line of research a while ago.

of course, I won't be the only one to say that the community would appreciate some information/tips in this direction. I know I personally spent weeks on this issue without getting anywhere too far with it. (some pieces of code from the more trickier parts would be even better)

and then we can say that a paq and refund will be better ;)

thanks
0
Do You Know the 4 Main Threat Actor Types?

Do you know the main threat actor types? Most attackers fall into one of four categories, each with their own favored tactics, techniques, and procedures.

 
LVL 14

Expert Comment

by:cwwkie
Comment Utility
>> While I appreciate ciuly's comment, it didn't answer the question.  In the end, I have written
>> my own WMV streaming application from Delphi.  It was challenging, but is now done.

ciuly's comment looked the best answer, and because you did not responded before, I had to asume you were "happy" with the answer.

But if you tell what exactly you have done to implement this, I'll change my recommendation to paq/refund.
0
 
LVL 2

Author Comment

by:Chrism
Comment Utility
We have created a local server, written a custom interface for WMP and been able to stream the WMV files locally, reducing impact and overhead on local resources.

As you can see, the comment includes the lines "I have researched this issue and got to the conclusion that it's not doable unless you write your own wmv parser using the sdk." and "I will start investigatin wmv issue more deeply in a few months and I'll update that page when I find something.".  

Both statements are appreciated but certainly cannot qualify as an answer to the question "I really want to stream the WMV files from the EXE.  Is this possible?  Do I have to buy a component for this?"

The sample provided showed me how to stream other file formats, but you'll note in my original question, I could already do that and it wasn't operationally satisfactory as a solution.

Thanks,
Chris
0
 
LVL 14

Expert Comment

by:cwwkie
Comment Utility
>> Both statements are appreciated but certainly cannot qualify as an answer

The comment from ciuly was more or less "it is not possible to do that", that is not an answer you were looking for, but it is an answer. Only if someone proves it is possible, then it is clear the answer is wrong. Now you have, although one line is a little bit short, but I understand what you mean. I'll change my recommendation.
0
 
LVL 1

Accepted Solution

by:
Computer101 earned 0 total points
Comment Utility
PAQed with points refunded (500)

Computer101
EE Admin
0

Featured Post

Enabling OSINT in Activity Based Intelligence

Activity based intelligence (ABI) requires access to all available sources of data. Recorded Future allows analysts to observe structured data on the open, deep, and dark web.

Join & Write a Comment

A lot of questions regard threads in Delphi.   One of the more specific questions is how to show progress of the thread.   Updating a progressbar from inside a thread is a mistake. A solution to this would be to send a synchronized message to the…
This article explains how to create forms/units independent of other forms/units object names in a delphi project. Have you ever created a form for user input in a Delphi project and then had the need to have that same form in a other Delphi proj…
In this seventh video of the Xpdf series, we discuss and demonstrate the PDFfonts utility, which lists all the fonts used in a PDF file. It does this via a command line interface, making it suitable for use in programs, scripts, batch files — any pl…
Access reports are powerful and flexible. Learn how to create a query and then a grouped report using the wizard. Modify the report design after the wizard is done to make it look better. There will be another video to explain how to put the final p…

762 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

13 Experts available now in Live!

Get 1:1 Help Now