Solved

Streaming WMV files from an EXE

Posted on 2006-06-12
10
327 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:2266180
ID: 16884743
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
ID: 16949189
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
ID: 17982236
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:2266180
ID: 17987036
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
Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

 
LVL 14

Expert Comment

by:cwwkie
ID: 17990938
>> 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
ID: 17991045
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
ID: 17998769
>> 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
ID: 18005654
PAQed with points refunded (500)

Computer101
EE Admin
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
Reading complex type element repeats first one found several times 3 38
System restore point 4 91
Printing problem 2 80
Create a path if not exists 7 68
Creating an auto free TStringList The TStringList is a basic and frequently used object in Delphi. On many occasions, you may want to create a temporary list, process some items in the list and be done with the list. In such cases, you have to…
Introduction I have seen many questions in this Delphi topic area where queries in threads are needed or suggested. I know bumped into a similar need. This article will address some of the concepts when dealing with a multithreaded delphi database…
When you create an app prototype with Adobe XD, you can insert system screens -- sharing or Control Center, for example -- with just a few clicks. This video shows you how. You can take the full course on Experts Exchange at http://bit.ly/XDcourse.
The Email Laundry PDF encryption service allows companies to send confidential encrypted  emails to anybody. The PDF document can also contain attachments that are embedded in the encrypted PDF. The password is randomly generated by The Email Laundr…

932 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