satishsampath / frame-server

Plugin for video editing apps to do FrameServing.
GNU General Public License v2.0
82 stars 13 forks source link

64-bit DFSC codec needed #28

Closed GoogleCodeExporter closed 5 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. Start Frame Serving in Premiere CS5 64-bit
2. Open the signpost video in any 64-bit Video Player
3.

What is the expected output? What do you see instead?

Frame served video expected to play. Instead, get an error message saying can't 
find DFSC 64-bit VFW codec. Need the DFSC codec to be released

What version of the product are you using? On what operating system?

Using the CS5 supported latest version as of 18Nov2012, on Windows 7 64-bit OS, 
with Adobe Premiere CS5 64-bit

Please provide any additional information below.

Original issue reported on code.google.com by maharud...@gmail.com on 19 Nov 2012 at 2:28

jalba69 commented 8 years ago

Hello, Any news on this please ? The 64 bit codec is really missing, prevents me from using the output with programs.

Thanks in advance.

DevDesignGirl commented 7 years ago

Hi! Any updates on this topic?

tmp170422 commented 6 years ago

I have built the x64 version of the codec at branch tmp170422/frame-server. Tested it and it seems to be working. Could somebody please check it and help me fix the installation scripts?

satishsampath commented 6 years ago

Thanks! I can test it and try fixing the installation scripts this weekend (can't find time before that :( )​

jalba69 commented 6 years ago

That's a great news, after all this time I wasn't expecting to see it one day.

Hopefully it will work and be released, then i can stop using MP_Pipeline in avisynth+64 for importing my frame-server footage and skip a few hassle doing this :)

Thanks tmp170422 for this and satishsampath for this great tool too.

tmp170422 commented 6 years ago

I tested it with avisynth+64(r2544) and ffmpeg. It worked except for audio, but when I checked the 'Write audio as PCM samples...' checkbox it went fine.

MPC-HC x64 plays it in both modes.

I never used the build system suggested in this project. I rather just built the codec with VS2017CE.

Until the release is there, here are the binaries which work for me: https://yadi.sk/d/JfvlvNtE3S4NnY (attaching failed for some reason). NOTE: Win10 is reported not to work!

jalba69 commented 6 years ago

Thanks a lot, downloaded it but cannot try it for now, will test this later at night or tomorrow most probably.

I rarely used the write PCM audio option, usually just exporting the audio separately ( PCM audio used to have a tendency for doing a weird click noise 1 or 2 seconds before the end of the audio track so i really never bothered with it since years in my workflow, will test it again and see while i'm at it )

I'm using avs+64-r2580 , this will make life easier, had a semi-automated import script in Staxrip using MP_Pipeline just for the files coming from the frame server, it worked but wasn't the most efficient thing, hopefully it will work for me too so i can say bye-bye to this way of doing my things in my x64 workflow since a few years now :)

Thanks a lot for doing this, i know at least a couple of few others guys who will be happy with this supported x64 export too.

Thank you.

tmp170422 commented 6 years ago

I made a stupid typo in .reg file in the provided binary package. Please update: https://yadi.sk/d/JfvlvNtE3S4NnY NOTE: Win10 is reported not to work! Sorry.

Nick-Hope commented 6 years ago

I installed this as per the instructions in INSTALL.txt. I did not uninstall any of my existing Frameserver installation. From Vegas Pro, it is still possible only to render 44.1kHz audio from a 48kHz project. You can see this in the Render As window in VP14 and also in the MediaInfo for the rendered file. But I do not know how to be 100% that this new 64-bit Frameserver version is being used, and not the existing version. How could I do that?

albino1 commented 6 years ago

Is it possible this 64 bit version will work in Premiere Pro CC 2018 and Adobe Media Encoder without having to delete/reinstall every time?

tmp170422 commented 6 years ago

I do not know how to be 100% that this new 64-bit Frameserver version is being used, and not the existing version. How could I do that?

When you open the resulting signpost AVI with a 64-bit application, the 64-bit 'DFSC' codec is used. Before that, it was not possible.

Is it possible this 64 bit version will work in Premiere Pro CC 2018 and Adobe Media Encoder without having to delete/reinstall every time?

Everything will work the same, it is just for the receiving end of the stream to support 64-bit apps as well.

jalba69 commented 6 years ago

Downloaded new files with updated .reg file, installed, tested a bit the outputs into avisynth+ x64 and it works nicely !

MPC-HC x64 can read it too, MPC-BE x64 i had to go into settings > internal filters > AVI Splitter configuration > and activate " Support Bad interleaved frames " to play the file otherwise it crashed MPC-BE but now it works nicely too.

Tested quickly with audio rendering option too but still having the audio crack sound a bit before the end of the file with some of the inputs i tested, seems to depend of the inputs and audio tracks types but this is an old problem, like i said i render the sound separately so it won't bother me at all.

Seems like it works and i cannot thank you enough for this, finally some support for our x64 tools.

Thanks a lot for making this possible :)

wwaag76 commented 6 years ago

@tmp170422 @jalba69 What are your frameserving "from"? I am using Vegas Pro with avs+ and it doesn't work with ffmpeg or mpc-hc. However, it does work with the 64bit version of VirtualDub FilterMod. Any ideas?

jalba69 commented 6 years ago

Hi, exporting from Vegas Pro 14.0 x64 ,

after installing the new codec files it works as input with all those for me : avs+ x64 r2580, MPC-HC x64 MPC-BE x64 ( after setting the avi splitter like i explained on previous post ) VirtualDub 1.10.4 x64 ( also works with VirtualDub deep color mod. x64 )

Haven't tried to feed it directly into ffmpeg nor via an .avs as input into FFmpeg, will have to try this when i'll have time.

I had the normal frameserver installed on PC, was impossible to feed x64 tools like avs+, only added the 2 provided dll's to the indicated folder and executed the .reg file. I'm on win7 x64, if that makes any difference.

tmp170422 commented 6 years ago

ffmpeg x64 does work, but only with an avisynth wrapper. It complains about bare signpost AVI, something like 'Could not find codec parameters...'. ffmpeg has never worked without an avs.

wwaag76 commented 6 years ago

"ffmpeg x64 does work, but only with an avisynth wrapper." I also use an avs wrapper, but it still doesn't work. To now I've been using either avs2yuv or avs2pipemod to pipe the frameserver output into ffmpeg x64. Like jalba69, I'm also using Vegas 14. By chance, are you also using Win7? I'm on win10. I have noticed that the normal frameserver (v2.14 or v2.15) installation on Win10 fails to install the normal registry entries that you have in your reg file. I've confirmed this on 2 of my systems.

tmp170422 commented 6 years ago

Yes, I am using Win7. I don't have a Win10, don't know much about it, probably the registry entries are not valid there. Will have a chance to test it by tomorrow. UPDATE: could not get a win10, sorry.

jalba69 commented 6 years ago

Might be this then, cannot help find the correct reg path as i don't have any win10 machine at my disposal.

Also i confirm it works by sending a simple .avs script as input into FFmpeg but doesn't when sending the frameserver .avi output directly ( had never tried before ), maybe once all this is set and working for all platforms it might be interesting to ask about it in the FFmpeg mailing-list, who knows they might get a little trick to accept the files as direct input...

@tmp170422 Maybe you should edit the post where you put the link to warn readers that it works under win7 and not others for now, so they don't start to add stuff into them registry ^^

wwaag76 commented 6 years ago

Any luck on getting it to work on Win10? I can also confirm that it works on Win7. I can frameserve directly into ffmpeg64 inside an avs wrapper and also open the avs wrapper and the avi directly in MPC-HC. As I mentioned before, it does work in the 64bit version of VirtualDub FilterMod. BTW, the 64bit version of VdubFM has been able to directly open the frameserved avi even before the new decoder.

tmp170422 commented 6 years ago

Still cannot get my hands on a win10 machine. Read the docs and not found anything different which could prevent the codec from working. Could it be that the problem is somehow related to stricter policy, signature/certificate requirement for acm/vfw drivers in win10 system?

shekh commented 6 years ago

Hello, this is wrong:

// NOTE x64 platform:
//  64-bit pointers are being passed via the 32-bit lParam parameters.
//  This effectively zeroes the highest 32 bits of a pointer.
//  HWND is officially safe to pass (https://msdn.microsoft.com/en-us/library/aa384203.aspx).
//  Not sure about the other things, but nobody seems to care and it actually works...
//
LRESULT PASCAL DriverProc(DWORD dwDriverID, HDRVR hDriver, UINT uiMessage, LPARAM lParam1, LPARAM lParam2) 

The correct sugnature is using 64-bit arguments: extern "C" LRESULT WINAPI DriverProc(DWORD_PTR dwDriverId, HDRVR hDriver, UINT uMsg, LPARAM lParam1, LPARAM lParam2)

Win10 is just coincidence, maybe it has ASLR on by default or something like that. Note that when testing with FilterMod you should uncheck "Prefer internal video decoders" as otherwise different decoder is used.

Audio/ACM part had too many troubles, better to use PCM samples or nothing at all.

tmp170422 commented 6 years ago

Yes you are right, there should be DWORD_PTR. But I have it already fixed in my local copy (just forgot to fix it here, sorry) and I'm almost sure I built it with the correct type. Just in case I'm wrong I have rebuilt it and updated the binary package.

wwaag76 commented 6 years ago

Your updated binaries still don't work in Win10.

satishsampath commented 5 years ago

This issue is fixed with the release of Frameserver 3.0 today. Get it at https://www.debugmode.com/frameserver/