Author Topic: BassVideo  (Read 339281 times)

HunterOfDeath

  • Posts: 28
Re: BassVideo Beta
« Reply #50 on: 7 Feb '08 - 15:30 »
Hey kenshin1101, did you tried BassVideo with the latest version of Bass ?
Its not really working how it should, at least, on my pc :(

RevG

  • Posts: 454
Re: BassVideo Beta
« Reply #51 on: 8 Feb '08 - 05:58 »
Kenshin,

I have a question for you if you don't mind. I had created a DirectShow Audio Renderer filter based off of the Scope filter that comes with the DirectShow SDK. I grabbed the Audio samples in the Receive(IMediaSample * pSample) function and then buffered them to send to BASS custom stream.

My problem is that for Mpeg4 videos the audio data seems to come in as fast as possible. I don't have this problem with any other video types that I have tried. Did you have create your own custom reference clock?  or did you just buffer and release audio data to the custom stream as dictated by the timestamps that come along with the samples? or did you experience this problem yourself?

Thanks,
Greg

kenshin1101

  • Posts: 545
Re: BassVideo Beta
« Reply #52 on: 8 Feb '08 - 06:39 »
hi all :D

Quote
Kenshin,

I have a question for you if you don't mind. I had created a DirectShow Audio Renderer filter based off of the Scope filter that comes with the DirectShow SDK. I grabbed the Audio samples in the Receive(IMediaSample * pSample) function and then buffered them to send to BASS custom stream.

My problem is that for Mpeg4 videos the audio data seems to come in as fast as possible. I don't have this problem with any other video types that I have tried. Did you have create your own custom reference clock?  or did you just buffer and release audio data to the custom stream as dictated by the timestamps that come along with the samples? or did you experience this problem yourself?

Thanks,
Greg
@RevG : it need to recode anything.i don't know how to do it it C++, i don't want to link again msvcrt of microsoft

Quote
Hey kenshin1101, did you tried BassVideo with the latest version of Bass ?
Its not really working how it should, at least, on my pc
@HunterOfDeath : sorry, i'm far from my computer this time, please wait few day :D

Quote
As a one-man project it will be developed very long time. We can just help author to improve BassVideo by fixing some bugs or bring there something new.
@fmcoder  : thanks, i'll try make it faster as possible

Quote
HI:

I would like to ask how I use the VB6.VB is the API?
i had try to write API for VB6 but it doesn't work. I got error when try to send string from VB to BassVideo


Quote
How did it go with Direct3D support, did you look at that? I mean render each videograph on a surface allocator i Direct3D.

That will do many of the trix like cool transitions, fade in/out, logo, text and other "visual" stuff very easy. And most needed, to play more than one video at the same time (in the same window) with independent controls.
i'll support it

@ALL : BassVideo will not become opensource except until bass become .. opensource :p

Renegade

  • Posts: 160
Re: BassVideo Beta
« Reply #53 on: 8 Feb '08 - 15:43 »
Hmmm... Open source...

Good and bad points...

I'm all for good software, and when that means paying for it - not a problem. There is software that I've bought multiple licenses for simply because I like it and appreciate it. I also donate to several software projects. It's in my best interest to keep the developers of the software motivated!

However, I'm only interested in BassVideo for .NET. :)  (Bernd -- you got that one, right? ;) )

Anyways, I'll certainly pay for it if you want to make it commercial. (But make sure to give Ian and Bernd a free license!)

However, it's still a good idea sometimes to sell source licenses. Quite often when I buy software I'll spend more just to get the source ONLY because it gives me a degree of protection. I don't care about changing it -- that's not important. I want the original developer to work on it, but I want the source as insurance sometimes.

Consider some dual licensing. Many components today all have source code licenses available. It's a good thing for everyone at the end of the day. (Crooks excluded.)

I'm still kind of waiting on the sidelines, so keep the comments coming. This is very interesting!

radio42

  • Posts: 4563
Re: BassVideo Beta
« Reply #54 on: 8 Feb '08 - 16:30 »
Yepp, a new BASS.NET 2.4 verison is up on the page.
It includes support for the latest BassVieo add-on.
Please report any doggyness, as I haven't tested that much.

RevG

  • Posts: 454
Re: BassVideo Beta
« Reply #55 on: 8 Feb '08 - 19:15 »
i had try to write API for VB6 but it doesn't work. I got error when try to send string from VB to BassVideo

The problem is that by default Visual Basic passes all variables by reference, including strings. So when Visual Basic passes a string by reference it is actually passing a pointer to a pointer to a string. Your code probably just expects a pointer to a string which won't work.

Here is a Microsoft article explaining all you need to know to pass strings between vb and C/C++/or any other win32 language.
http://support.microsoft.com/default.aspx?scid=kb;en-us;187912

big_gun

  • Posts: 352
Re: BassVideo Beta
« Reply #56 on: 9 Feb '08 - 03:02 »
Bernd, you got an error in the current API for bassvideo.

It is currently:
Code: [Select]
<DllImport("BassVideo.dll", EntryPoint:="BassVideo_GetPosition", CharSet:=CharSet.Auto)>It should be:
Code: [Select]
<DllImport("BassVideo.dll", EntryPoint:="BASSVideo_GetPosition", CharSet:=CharSet.Auto)>
the Bass should be BASS in the entry point.

Renegade

  • Posts: 160
Re: BassVideo Beta
« Reply #57 on: 9 Feb '08 - 03:18 »
Yepp, a new BASS.NET 2.4 verison is up on the page.
It includes support for the latest BassVieo add-on.
Please report any doggyness, as I haven't tested that much.

I checked the same download link in the BASS.NET 2.4 beta thread (the sticky one), and see that the date is different for the MSI.

Is that the only change? Can I safely install it without affecting anything else? (That is once the BASSVideo_GetPosition is updated.)

big_gun

  • Posts: 352
Re: BassVideo Beta
« Reply #58 on: 9 Feb '08 - 03:23 »
Put this in your code for now:
VB.NET
Code: [Select]
    <System.Runtime.InteropServices.DllImport("BassVideo.dll", EntryPoint:="BASSVideo_GetPosition", CharSet:=System.Runtime.InteropServices.CharSet.Auto)> _
    Public Shared Function BASS_Video_GetPosition(ByVal handle As Integer) As Long
    End Function

Or C#
Code: [Select]
[DllImport("BassVideo.dll", EntryPoint="BASSVideo_GetPosition", CharSet=CharSet.Auto)]
public static extern long BASS_Video_GetPosition(int handle);

NOTE: This also affects the SetPosition too. If your code is failing, look at the declarations in reflector and add them to your project, changing the "Bass" to "BASS" for the entry points in the declarations, until Radio42 has a fix.

Rick
« Last Edit: 9 Feb '08 - 03:26 by big_gun »

big_gun

  • Posts: 352
Re: BassVideo Beta
« Reply #59 on: 9 Feb '08 - 03:33 »
Kenshin,

I have a few notes on your BassVideo API.

  • On multi-output, the video stays on the screen after stop (Only on the main window, not second).
  • The way to set the video is rather not intutive. Having to set the main window in the VIDEOPROC.
  • Karaoke CD+G does not play. FLV (flash video) works fine though. I can send you sample files and filters to test this.

kenshin1101

  • Posts: 545
Re: BassVideo Beta
« Reply #60 on: 9 Feb '08 - 03:38 »
okie, please send to my mail box : kenshin1101@gmail.com
i'll fix them as soon as possible

big_gun

  • Posts: 352
Re: BassVideo Beta
« Reply #61 on: 9 Feb '08 - 03:51 »
Sent.

For VB.NET and C# users, here's a demo of bass video in VS2008 format:
http://www.activeaspsoftware.net/default.aspx?p=downloads&DownloadHostedURL=BassVideo.Vb.Net.vs2008.Example.zip
« Last Edit: 9 Feb '08 - 04:12 by big_gun »

radio42

  • Posts: 4563
Re: BassVideo Beta
« Reply #62 on: 9 Feb '08 - 17:24 »
For BASS.NET users:
An update with the corrected APi decleration can be found here:
Lib only:
  www.un4seen.com/filez/4/Bass24.Net_beta.zip

big_gun

  • Posts: 352
Re: BassVideo Beta
« Reply #63 on: 10 Feb '08 - 19:52 »
kenshin1101,

BASS_Video_WindowResize(StreamHand, VideoRect, VideoNum) only works with 0 for the videoNum, there is no way (unless I am doing it wrong) to re-size a secondary window.

HunterOfDeath

  • Posts: 28
Re: BassVideo Beta
« Reply #64 on: 10 Feb '08 - 22:04 »
kenshin1101, there is a way to get the first frame loaded into the Video window ?
I mean when I load the video file.

Thanks !

kenshin1101

  • Posts: 545
Re: BassVideo Beta
« Reply #65 on: 12 Feb '08 - 08:54 »
i had upload new version work fine with new bass2.4
+ fix BassVideo Proc EndOfStream Error
+ Add Dot Net Example

@HunterOfDeath: is a way to get the first frame loaded into the Video window ?
Yes, i'll implement the function to step frame & capture frame

« Last Edit: 12 Feb '08 - 13:20 by kenshin1101 »

smesser

  • Posts: 122
Re: BassVideo Beta
« Reply #66 on: 14 Feb '08 - 16:33 »
There seems to be an issue with going fullscreen.

First off it is painfully slow.

Even after a Video has finished playing and should not have control of the window (my assumption)
resizing is very slow. It doesn't matter if the Video is paused, stopped or finished. Once it has played
at all resizing is no longer very responsive.

Any thoughts?

kenshin1101

  • Posts: 545
Re: BassVideo Beta
« Reply #67 on: 15 Feb '08 - 09:14 »
what Video Mode you use ? (default, VMR or EVR ?)
do you try with the demo ?

smesser

  • Posts: 122
Re: BassVideo Beta
« Reply #68 on: 16 Feb '08 - 05:41 »
what Video Mode you use ? (default, VMR or EVR ?)
do you try with the demo ?

I am using the default mode as per your example which works fine.

The problem is probably the code in your WM_PAINT section.
I am not sure how to do that in C#. You didn't put the resize and paint
stuff in your VB.NET example.

Code: [Select]
WM_PAINT : begin
// this apply for application that use VMR9-Windowless
dc := BeginPaint(Handle, ps);
BASSVideo_Repaint(chan, Handle, dc, 0);
EndPaint(Handle, ps);

I have tried

Code: [Select]
Graphics g =  pictureBox1.CreateGraphics();
 IntPtr dc = g.GetHdc();

 Video.BASSVideo_Repaint(stream, pictureBox1.Handle, dc, 0);


Which is called but seems to do nothing.


kenshin1101

  • Posts: 545
Re: BassVideo Beta
« Reply #69 on: 16 Feb '08 - 10:43 »
okie, i'll provide a new way that have function to process it internal

ken

  • Posts: 739
Re: BassVideo Beta
« Reply #70 on: 17 Feb '08 - 19:34 »
Is there any way to get a "screen dump" of the playing video, and fast so I can get every frame. As an image or an pointer to the image.

I need this so I can use the BassVideo in WPF (windows Presentation Foundation).

big_gun

  • Posts: 352
Re: BassVideo Beta
« Reply #71 on: 18 Feb '08 - 02:52 »
Kenshin,

Does this work with BASSFX? I see I can make it a decoding stream for adding to BASS_Mixer object, but can this be used with effects?

Rick

kenshin1101

  • Posts: 545
Re: BassVideo Beta
« Reply #72 on: 23 Feb '08 - 10:43 »
no, it not work with BassFX at this time, but you can apply it through BASSMIX :D

i had upload new version

Update :

+ Work with BassMix
+ Add function to frame step
+ Add function to get the FilterGraph
+ Add documents :D
« Last Edit: 23 Feb '08 - 10:53 by kenshin1101 »

HunterOfDeath

  • Posts: 28
Re: BassVideo Beta
« Reply #73 on: 26 Feb '08 - 18:45 »
You're doing a great job dude :) !!!

kenshin1101

  • Posts: 545
Re: BassVideo Beta
« Reply #74 on: 27 Feb '08 - 06:28 »
thanks!