Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion.

Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules.

 

Go Back   Doom9's Forum > Capturing and Editing Video > Avisynth Development

Reply
 
Thread Tools Search this Thread Display Modes
Old 17th May 2012, 18:09   #1  |  Link
rogerdpack
Registered User
 
Join Date: Jun 2011
Posts: 35
[ANN] Avi Synth as "directshow capture device" release v0.0.2

Hello all.

Thought I'd announce the creation of an "I wonder if you can do that" device that basically takes an AviSynth script, and makes that into a directshow input/capture source out of it (video only currently).

Basically my goal was to be able to
1) have VLC [et al] be able to take AviSynth input (it "kinda sorta does" now with release 0.0.2)
2) get it working at all so that later on I can do cool effects like fading input in and out, switching webcam views, broadcasting "screen capture with a webcam picture in the corner" etc.

get it here: https://github.com/rdp-org/avisynth-...ctshow-capture

Feedback/feature request welcome.
Thanks.
-roger-
rogerdpack is offline   Reply With Quote
Old 18th May 2012, 18:48   #2  |  Link
ajp_anton
Registered User
 
ajp_anton's Avatar
 
Join Date: Aug 2006
Location: Stockholm/Helsinki
Posts: 805
So I can make a .grf graph that opens a capture device (webcam or something), directshowsource that into Avisynth, edit it however I want, and output this into a new capture device which I can then use to video-chat or livestream or whatever?
ajp_anton is offline   Reply With Quote
Old 17th March 2013, 23:48   #3  |  Link
Pesmontis
Registered User
 
Join Date: Mar 2013
Posts: 1
Hello Roger,

I've tested your project, because ffmpeg wasn't able to load my AviSynth scripts.
One of these scripts included the AviSynth 'Layer' function, the other used the 'RCAnaglyph' function from the "Pantarheon 3D AviSynth Toolbox".

I'm happy to write that I've been able to compile your code on Windows Server 2003 32-bit, with VC++ 2010.
Compilation was quite a hassle, therefor I'd like to suggest you might have added a binary in the source code directories.
Your source additionally required:
- streams.h
- strmbasd.lib

These are DirectX 9 files, so I think that the "AviSynth directshow capture device" project requires at least the include directory of the latest Microsoft DirectX SDK. Nevertheless, these two files are NOT in that SDK (!), and I had to install the "Windows SDK for Windows Server 2008 and .NET Framework 3.5" to get 'streams.h'. So my additional include directories are:
- <DirectX SDK>\Include
- <Windows SDK>\samples\Multimedia\DirectShow\BaseClasses

In order to get 'strmbasd.lib', it is required to compile the project 'baseclasses'.
This is a VC++ 2008 project, by default set to compile for an x64 platform.
This causes trouble when this project is converted by VC++ 2010 on Win2003 32-bit.
Using Notepad, I manually removed the references to all x64 environments in the .sln and .vcproj files, before VC++ 2010 could successfully convert and compile 'baseclasses'.

After this compilation, I added the directory of 'strmbasd.lib' to the library directories of the "AviSynth directshow capture device" project.
Now I compiled both the debug version and the release version of the project's binary 'avisynth-as-dshow.dll'.

In order to register and use the debug version, two additional DLLs are required in the <Windows>\system32 directory:
- msvcp100d.dll
- msvcr100d.dll
These two files can simply be copied to that location, they don't need registration.

Then run either:

> regsvr32 <path to 'avisynth-as-directshow-capture'\source_code\Win32\Debug\avisynth-as-dshow.dll

or:
> regsvr32 <path to 'avisynth-as-directshow-capture'\source_code\Win32\Release\avisynth-as-dshow.dll

Next I found - in my opinion - very strange Java + Ruby setup files. Are these required because of GitHub?
The ONLY additional thing for running 'avisynth-as-dshow.dll' is the registry entry (string value):
HKCU\Software\avisynth-as-dshow-capture\avs_filename_to_read

The parameter value should be the directory and the name of the AviSynth script file to run.
This might be accomplished with a batch file or something, but I sincerely have my doubts about using Java + Ruby for this.

I tested the debug version with VLC, but that first try didn't work.
The release version however works in VLC and in Skype,
so now I have a 3D webcam in Skype!
(Thanks to your software, yes sir).
Pesmontis is offline   Reply With Quote
Reply

Tags
avisynth, vlc

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 00:37.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.