Back Forum Reply New

New DirectShow Viewer-Player for FilmCutter alpha 2

avsfilmcutter/alpha.html

Current 1.5 alpha 2 version details here.
This is version 1.5 alpha 1, sort of a turn in the road and hopefully a good direction.

I have added a direct show interface for viewing and playing media files.  Previewing scripts and the editing views have not changed, they still use the current MCI viewer / player.  It has been added to the seldom used if not very useful quot;Video Viewer Windowquot;.  Using the video window menu quot;File -gt; Open Media File with Direct Showquot; select your media file type.

Video files will display frames, music / audio files will display a minutes : seconds type display.

The interface is not very clever yet, it contains no interface to the graft manager, kind of a take what you can get type of thing. (the graph manager is capable of creating a filter graph that can not be rendered, just try again, most often the second time the graph manager does a better job. Example: Select an audio file, the video interface should throw an error because of the lack of a height and width, but it doesn‘t, the video overlay blacks the video window but the dam thing will not play. Just try loading the file again, more than not it works ok.)  So far it loads most files and plays them fine mp3 files are choppy but mpa + mp2 files are ok, ac3, wma and wav play fine on my machine, though on my machine MediaPlayerClassic will not play a wav file, go figure.

Getting back to the rocket science, the viewer / player needs to render AviSynth scripts.  I am happy so far, I seem to be getting similar preformance with a much better looking result.

With the following simple script this 2.8gic XP SP1 512 meg machine shows about 40 percent cpu useage on average for filmcutter.

Code:
MPEG2Source(d2v=quot;ripped vob 1 amp; 2.d2vquot;)
AudioDub(WAVSource(quot;ripped vob 1 amp; 2 3_2ch 448Kbps 48KHz.wavquot;))
AmplifydB(12)
How well the thing performs will have a lot to do with which video renderer the graph manager picks.  If it runs slow or slower than MPC then the wrong renderer is being picked, I think.

Anyway that is your job if you accept it, see if the thing works on your machine and please let me know.  If it works for most I'll make the changes across the board.

The rest is explained in the alpha.txt file and the change log.

FilmCutter's main web page is here:
avsfilmcutter

And thanks in advance for your help and your interest.

Getting back to the rocket science, the viewer / player needs to render AviSynth scripts. I am happy so far, I seem to be getting similar preformance with a much better looking result.

With the following simple script this 2.8gic XP SP1 512 meg machine shows about 40 percent cpu useage

To me it seems a bit to much power cunsumpting for a mpeg2/d2v file and simple wav decoding.
Did you check the dshow chain while playback using Graphedit?

You should be aware that Dshow rendering for a quot;real WYSIWYGquot;-previewing is some kinda tricky. As I do understand the purpose of your Tool is to generate avs scripts beside previewing. So in this case the common VFW approach is proofed to be more quot;non-affectedquot; by maybe some filters in the dshow chain of the users individual dshow system setup.

I made in purebasic a  thread-based avi/avs video playback including audio streaming via the WaveOut interface.
If youre interested I can compile a dll for you including a simple Avi/Avs playback API (play,stop, seek, info etc.), easy to understand and also including source-parsing outputs etc.


Originally Posted by IncGetting back to the rocket science, the viewer / player needs to render AviSynth scripts. I am happy so far, I seem to be getting similar preformance with a much better looking result.

With the following simple script this 2.8gic XP SP1 512 meg machine shows about 40 percent cpu useage

To me it seems a bit to much power cunsumpting for a mpeg2/d2v file and simple wav decoding.

Those are numbers for my machine which is a stock Compact using the intel onboard video chipset.  A better,  faster video card could do better I am sure.  Using Media Player Classic or graphedit I get 40 percent.  Power Dvd however uses 12 percent to play the vob that I get 40 percent from DGDecode.  Although I shouldn’t assume anything the filter graft manager is giving reasonable preformance.  My point was to ask, “What is your experience with this direct show implementation in FilmCutter“.Originally Posted by IncDid you check the dshow chain while playback using Graphedit?

The hook needed for this is not implemented in FilmCutter. (I think it’s a hook)Originally Posted by Inc1) You should be aware that Dshow rendering for a quot;real WYSIWYGquot;-previewing is some kinda tricky.
2) As I do understand the purpose of your Tool is to generate avs scripts beside previewing.
3)So in this case the common VFW approach is proofed to be more quot;non-affectedquot; by maybe some filters in the dshow chain of the users individual dshow system setup.

1) quot;Trickyquot; could be, I think, a very accurate way of describing many aspects of a DirectShow implementation.  “ real What you see is what you get” previewing,  I am very sorry but I am not sure what you are trying to say.

2) The tool is meant for aiding in script authoring, what ever that is, although putting a bunch of trim statements at the end of a script can be considered  “to generate“.  I have considered an input wizard.  But I have been aiming FilmCutter at those who know how to type “AviSource(“myfile.avi”)”.  FilmCutter needs a viewer that is fast and frame accurate, even with direct show that is not too tall an order.

3) If what you are saying is that VFW has proven that it is capable and Direct Show has proven to be bit of a pain, well I could not agree more.  Does Adobe use VFW does Pinnacle or Sony Vegas.  Doesn’t stepping up to direct show make use of the latest and greatest. The only thing less sophisticated than FilmCutter’s implementation of Direct Show is my experience with the interface’s command set and how it behaves. I understand that for this to work my interface needs to become a little smarter.  I had to download the earliest version of the Direct X SDK to get the direct show api.   Is direct show history and we will be on our own in the near future.Originally Posted by IncI made in purebasic a thread-based avi/avs video playback including audio streaming via the WaveOut interface.
If youre interested I can compile a dll for you including a simple Avi/Avs playback API (play,stop, seek, info etc.), easy to understand and also including source-parsing outputs etc.

Yes, I’ll give it a shot.   Let me know.
FilmCutter is written in C++, compiled with the quot;Microsoft Visual C++ Toolkit 2003quot;.
Thanks for your time, and help.

There is an alpha 2 available for testing.
avsfilmcutter/alpha.html

This one shouldn't soil the bed clothes when you feed it a vob or mpeg file, sorry about that, but divide by zero still does not work no matter how hard I try, someday I promise, I will make it work.
Also added code to prevent thread lock (dead lock) whenever program exit is called.

The reason I was trying to divide by zero was that the method used to get the frame rate of the media file was reporting zero frame rate for mpeg/vob files.  If it worked for you good, then it still should work for you.  If it was crashing before and mpeg and vob files now play or load the frame numbers, frame rate and total frames will be wrong.  Should work with quot;.avsquot; scripts for all user's.
¥
Back Forum Reply New