Author Topic: BASS_DSHOW Video Library  (Read 720027 times)

Ionut Cristea

  • Posts: 1545
Re: BASS_DSHOW
« Reply #100 on: 6 Nov '09 - 14:14 »
Quote
Hey Sharky Great work!!!  Do you have any plans on adding multi-monitor support or support for playing the video in more than one window?

Off course...i will add multi-monitor support. Now i have to finish dvd support.



Cheers, Sharky.

Latch

  • Posts: 90
Re: BASS_DSHOW
« Reply #101 on: 6 Nov '09 - 18:05 »
Hi all. BASS_DSHOW(C++ version) is done. I have to thanks RevG for his big contribution in this project.


http://filezone.ro/public.php?action=viewfile&file_id=20403

In the zip file you can find a C++ example and Delphi headers.


Cheers, Sharky.

Now that it's converted to C++, can you compile a 64bit version as well?  I don't know which version of C++ you're using, but if it's one of the latest Microsoft compilers, you should be able to crank out an x64 version with a few clicks.  If you can, that would be AWESOME!  I'm really glad you made this plugin.  I've been really dissappointed in BassVideo and it's lack of progress.  I was actually in the middle of replacing it with another third party video player, and frustrated that I couldn't integrate it with Bass and have all the audio function support, but today I saw the Bass_DSHOW plugin for the first time and literally jumped out of my seat with joy!  Keep up the good work.


MB_SOFT

  • Posts: 260
Re: BASS_DSHOW
« Reply #102 on: 7 Nov '09 - 23:02 »
Hi Sharky, thank you for your continous great work on BASS_DSHOW.
I still did not tried your dll, i have a couple of "novice" questions about BASS_DSHOW:

1) some posts before, you wrote: "BASS_SHOW is now available as a bass plugin" however it still don't work as plugin: "error 41 BASS_ERROR_FILEFORM". So, can i use it like a bass plugin?

2) If it's a bass plugin can i open and manage a video file with standard bass functions (BASS_StreamCreateFile, BASS_ChannelGetPosition, BASS_ChannelPlay, etc) ?
If not, why is it called BASS Plugin if i have to use a full different set of dll calls?

Ionut Cristea

  • Posts: 1545
Re: BASS_DSHOW
« Reply #103 on: 8 Nov '09 - 05:16 »
Quote
1) some posts before, you wrote: "BASS_SHOW is now available as a bass plugin" however it still don't work as plugin: "error 41 BASS_ERROR_FILEFORM". So, can i use it like a bass plugin?
2) If it's a bass plugin can i open and manage a video file with standard bass functions (BASS_StreamCreateFile, BASS_ChannelGetPosition, BASS_ChannelPlay, etc) ?

Yes...it  was  a version of bass_dshow witch work as a bass plugin but that version was written in delphi. And yes, that version can open and play video files with that functions.

  PS: I will make and this version(C++) work as a bass plugin.


Cheers, Sharky.

MB_SOFT

  • Posts: 260
Re: BASS_DSHOW
« Reply #104 on: 9 Nov '09 - 00:00 »
ok ... now all it's clear  :)

i wait for the c++ plugin version  ;)

Erazer

  • Posts: 441
Re: BASS_DSHOW
« Reply #105 on: 9 Nov '09 - 01:03 »
Sharky08, could you make it like usual bass plug in ? For example so , that i could add stream from your BASS_DSHOW, and forget about his existence... And use EVERYWHERE, BASS_ChannelBytes2Seconds, BASS_ChannelSetAttribute,BASS_ChannelGetLength and so on instead of BASS_DSHOW_GETLENGTH, BASS_DSHOW_Play and so on ?

Erazer

  • Posts: 441
Re: BASS_DSHOW
« Reply #106 on: 9 Nov '09 - 01:06 »
I do not need video playback... I just need way to extract audio stream from avi/mkv/ts and other video containers, and  process it via bass_mix,bass_fx, bassenc and so on...

Ionut Cristea

  • Posts: 1545
Re: BASS_DSHOW
« Reply #107 on: 9 Nov '09 - 08:23 »
Quote
Sharky08, could you make it like usual bass plug in ? For example so , that i could add stream from your BASS_DSHOW, and forget about his existence... And use EVERYWHERE, BASS_ChannelBytes2Seconds, BASS_ChannelSetAttribute,BASS_ChannelGetLength and so on instead of BASS_DSHOW_GETLENGTH, BASS_DSHOW_Play and so on ?

Off course. I hope this week to finish bass_Dshow as a bass plugin.

Cheers, Sharky.

Ionut Cristea

  • Posts: 1545
Re: BASS_DSHOW
« Reply #108 on: 9 Nov '09 - 08:27 »

Quote
I do not need video playback... I just need way to extract audio stream from avi/mkv/ts and other video containers, and  process it via bass_mix,bass_fx, bassenc and so on...


You can try this...is BASS_DSHOW(Written in delphi), work as a bass plugin. If you only want to extract audio just load it as a plugin and see wav writer example.
http://filezone.ro/public.php?action=viewfile&file_id=16782
Cheers, Sharky.

Erazer

  • Posts: 441
Re: BASS_DSHOW
« Reply #109 on: 9 Nov '09 - 08:54 »
Link is wrong  :-\

Ionut Cristea

  • Posts: 1545
Re: BASS_DSHOW
« Reply #110 on: 9 Nov '09 - 10:14 »

Erazer

  • Posts: 441
Re: BASS_DSHOW
« Reply #111 on: 9 Nov '09 - 10:59 »
There is only dll. "If you only want to extract audio just load it as a plugin and see wav writer example."  Do you mean wav writer example attached to bass.dll ?
So can with this dll I can just load it as bass plugin and get soun d from any avi file ?

Ionut Cristea

  • Posts: 1545
Re: BASS_DSHOW
« Reply #112 on: 9 Nov '09 - 11:15 »
Quote
Do you mean wav writer example attached to bass.dll ?

Yes.

Quote
So can with this dll I can just load it as bass plugin and get soun d from any avi file ?

Yes.  If you had the codecs necesary for playback.

Cheers, Sharky.

Erazer

  • Posts: 441
Re: BASS_DSHOW
« Reply #113 on: 9 Nov '09 - 16:28 »
Could you provide sample?
After plugin loaded (previous version)
  chan := BASS_StreamCreateFile(FALSE, PChar(SourceFileName), 0, 0, BASS_STREAM_DECODE {$IFDEF UNICODE} or BASS_UNICODE {$ENDIF});
or
  chan:= BASS_DSHOW_RenderFile(PChar(SourceFileName));
Gives me 0.

If I try to use the latest version of dll , with bass_DSHOW.pas from previous, I get entry point to procedure bass_dshowrenderfile is not found in bass_DSHOW.dll.
May be you should provide updated version of bass_DSHOW.pas ?  ;)
« Last Edit: 9 Nov '09 - 16:30 by Erazer »

Ionut Cristea

  • Posts: 1545
Re: BASS_DSHOW
« Reply #114 on: 9 Nov '09 - 16:30 »
You use delphi??

Erazer

  • Posts: 441
Re: BASS_DSHOW
« Reply #115 on: 9 Nov '09 - 16:30 »
Of course  :)  D2009

Ionut Cristea

  • Posts: 1545
Re: BASS_DSHOW
« Reply #116 on: 9 Nov '09 - 16:37 »
 I will make a sample application

Erazer

  • Posts: 441
Re: BASS_DSHOW
« Reply #117 on: 9 Nov '09 - 16:39 »
Even few strings of code and header file is enough.

Ionut Cristea

  • Posts: 1545
Re: BASS_DSHOW
« Reply #118 on: 9 Nov '09 - 16:48 »
Hi try this:

http://filezone.ro/public.php?action=viewfile&file_id=14922
and
http://filezone.ro/public.php?action=viewfile&file_id=14811


PS: BASS_DSHOW(Delphi version) is not in my to do list. Wait a few days to make C++ bass plugin version of BASS_DSHOW.


Cheers, Sharky.

Erazer

  • Posts: 441
Re: BASS_DSHOW
« Reply #119 on: 9 Nov '09 - 17:02 »
Well, this is something  :) Sound track extracted from Video: Xvid 320x240 25.00fps 330Kbps [Video 0]
Audio: MPEG Audio Layer 3 32000Hz stereo 96Kbps [Audio 1] , sounds a bit faster than should... May be because of source sample rate is 32000Hz and wav file 44100?

Erazer

  • Posts: 441
Re: BASS_DSHOW
« Reply #120 on: 9 Nov '09 - 17:06 »
Code: [Select]
while (BASS_DSHOW_ISACTIVE(chan)=true) do
         begin
                BytesRead := BASS_DSHOW_GETDATA(chan,@buf, 10000);
                PercentDone := Trunc(100 * ( BASS_DSHOW_GET(chan,BASS_DSHOW_POSITION) /BASS_DSHOW_GET(chan,BASS_DSHOW_FILELENGHT) ));
Say about BASS_DSHOW is still not usual bass plugin  ::)

Ionut Cristea

  • Posts: 1545
Re: BASS_DSHOW
« Reply #121 on: 9 Nov '09 - 17:08 »

Erazer

  • Posts: 441
Re: BASS_DSHOW
« Reply #122 on: 9 Nov '09 - 17:10 »
I have to duplicate a lot of strings of code, to use BASS_DSHOW_GETDATA instead of BASS_ChannelGetData as for all other plugins  :(

Erazer

  • Posts: 441
Re: BASS_DSHOW
« Reply #123 on: 9 Nov '09 - 17:13 »
« Last Edit: 9 Nov '09 - 17:20 by Erazer »

Ionut Cristea

  • Posts: 1545
Re: BASS_DSHOW
« Reply #124 on: 10 Nov '09 - 07:12 »
Please wait until i finish bass_dshow as a bass plugin.
I hope that this week finish it.


Cheers, Sharky.