Closed JasonKleban closed 6 years ago
Hi @JasonKleban,
I'll compile you some up-to-date binaries. Will post an update here shortly.
Actually, there were already binaries for Windows and Linux on the GitHub Releases page. In any case, I've taken this opportunity to update 4dface to the latest eos version (v0.15.0) and also pushed a new binary for Windows there.
I am trying to run the compiled version of 4d face with no luck. When I try to run the compiled version, a command prompt opens then I get the 4dface.exe has stopped working. I'm on Windows 10 and haven't installed anything prior to running (except for the model). trying to run via cmd with the video path also doesn't work. Does this require something to be installed on windows beforehand?
When opening in Vs2015 for debugging I get
'4dface.exe' (Win32): Loaded 'C:\Users\User\Desktop\4dface\bin\4dface.exe'. Module was built without symbols.
'4dface.exe' (Win32): Loaded 'C:\Windows\System32\ntdll.dll'. Cannot find or open the PDB file.
'4dface.exe' (Win32): Loaded 'C:\Windows\System32\kernel32.dll'. Cannot find or open the PDB file.
'4dface.exe' (Win32): Loaded 'C:\Windows\System32\KernelBase.dll'. Cannot find or open the PDB file.
'4dface.exe' (Win32): Loaded 'C:\Windows\System32\ucrtbase.dll'. Cannot find or open the PDB file.
'4dface.exe' (Win32): Loaded 'C:\Users\User\Desktop\4dface\bin\opencv_highgui341.dll'. Cannot find or open the PDB file.
'4dface.exe' (Win32): Loaded 'C:\Users\User\Desktop\4dface\bin\opencv_videoio341.dll'. Cannot find or open the PDB file.
'4dface.exe' (Win32): Loaded 'C:\Users\User\Desktop\4dface\bin\opencv_objdetect341.dll'. Cannot find or open the PDB file.
'4dface.exe' (Win32): Loaded 'C:\Users\User\Desktop\4dface\bin\boost_filesystem-vc141-mt-x64-1_66.dll'. Cannot find or open the PDB file.
'4dface.exe' (Win32): Loaded 'C:\Windows\System32\gdi32.dll'. Cannot find or open the PDB file.
'4dface.exe' (Win32): Loaded 'C:\Windows\System32\user32.dll'. Cannot find or open the PDB file.
'4dface.exe' (Win32): Loaded 'C:\Windows\System32\advapi32.dll'. Cannot find or open the PDB file.
'4dface.exe' (Win32): Loaded 'C:\Windows\System32\gdi32full.dll'. Cannot find or open the PDB file.
'4dface.exe' (Win32): Loaded 'C:\Users\User\Desktop\4dface\bin\boost_program_options-vc141-mt-x64-1_66.dll'. Cannot find or open the PDB file.
'4dface.exe' (Win32): Loaded 'C:\Windows\System32\win32u.dll'. Cannot find or open the PDB file.
'4dface.exe' (Win32): Loaded 'C:\Windows\System32\msvcrt.dll'. Cannot find or open the PDB file.
'4dface.exe' (Win32): Loaded 'C:\Windows\System32\msvcp_win.dll'. Cannot find or open the PDB file.
'4dface.exe' (Win32): Loaded 'C:\Windows\System32\ole32.dll'. Cannot find or open the PDB file.
'4dface.exe' (Win32): Loaded 'C:\Users\User\Desktop\4dface\bin\opencv_imgcodecs341.dll'. Cannot find or open the PDB file.
'4dface.exe' (Win32): Loaded 'C:\Windows\System32\sechost.dll'. Cannot find or open the PDB file.
'4dface.exe' (Win32): Loaded 'C:\Windows\System32\comdlg32.dll'. Cannot find or open the PDB file.
'4dface.exe' (Win32): Loaded 'C:\Windows\System32\combase.dll'. Cannot find or open the PDB file.
'4dface.exe' (Win32): Loaded 'C:\Windows\System32\rpcrt4.dll'. Cannot find or open the PDB file.
'4dface.exe' (Win32): Loaded 'C:\Windows\System32\SHCore.dll'. Cannot find or open the PDB file.
'4dface.exe' (Win32): Loaded 'C:\Users\User\Desktop\4dface\bin\opencv_imgproc341.dll'. Cannot find or open the PDB file.
'4dface.exe' (Win32): Loaded 'C:\Windows\System32\bcryptprimitives.dll'. Cannot find or open the PDB file.
'4dface.exe' (Win32): Loaded 'C:\Windows\System32\shlwapi.dll'. Cannot find or open the PDB file.
'4dface.exe' (Win32): Loaded 'C:\Users\User\Desktop\4dface\bin\opencv_core341.dll'. Cannot find or open the PDB file.
'4dface.exe' (Win32): Loaded 'C:\Windows\System32\oleaut32.dll'. Cannot find or open the PDB file.
'4dface.exe' (Win32): Loaded 'C:\Users\User\Desktop\4dface\bin\msvcp140.dll'. Cannot find or open the PDB file.
'4dface.exe' (Win32): Loaded 'C:\Windows\System32\shell32.dll'. Cannot find or open the PDB file.
'4dface.exe' (Win32): Loaded 'C:\Windows\System32\cfgmgr32.dll'. Cannot find or open the PDB file.
'4dface.exe' (Win32): Loaded 'C:\Users\User\Desktop\4dface\bin\vcruntime140.dll'. Cannot find or open the PDB file.
'4dface.exe' (Win32): Loaded 'C:\Windows\System32\msvfw32.dll'. Cannot find or open the PDB file.
'4dface.exe' (Win32): Loaded 'C:\Windows\System32\avifil32.dll'. Cannot find or open the PDB file.
'4dface.exe' (Win32): Loaded 'C:\Windows\System32\windows.storage.dll'. Cannot find or open the PDB file.
'4dface.exe' (Win32): Loaded 'C:\Windows\System32\avicap32.dll'. Cannot find or open the PDB file.
'4dface.exe' (Win32): Loaded 'C:\Windows\System32\kernel.appcore.dll'. Cannot find or open the PDB file.
'4dface.exe' (Win32): Loaded 'C:\Users\User\Desktop\4dface\bin\boost_system-vc141-mt-x64-1_66.dll'. Cannot find or open the PDB file.
'4dface.exe' (Win32): Loaded 'C:\Windows\System32\powrprof.dll'. Cannot find or open the PDB file.
'4dface.exe' (Win32): Loaded 'C:\Users\User\Desktop\4dface\bin\libpng16.dll'. Cannot find or open the PDB file.
'4dface.exe' (Win32): Loaded 'C:\Users\User\Desktop\4dface\bin\jpeg62.dll'. Cannot find or open the PDB file.
'4dface.exe' (Win32): Loaded 'C:\Users\User\Desktop\4dface\bin\tiff.dll'. Cannot find or open the PDB file.
'4dface.exe' (Win32): Loaded 'C:\Windows\System32\profapi.dll'. Cannot find or open the PDB file.
'4dface.exe' (Win32): Loaded 'C:\Users\User\Desktop\4dface\bin\jasper.dll'. Cannot find or open the PDB file.
'4dface.exe' (Win32): Loaded 'C:\Windows\WinSxS\amd64_microsoft.windows.common-controls_6595b64144ccf1df_5.82.16299.309_none_8875ce284abe80d8\comctl32.dll'. Cannot find or open the PDB file.
'4dface.exe' (Win32): Loaded 'C:\Users\User\Desktop\4dface\bin\zlib1.dll'. Cannot find or open the PDB file.
'4dface.exe' (Win32): Loaded 'C:\Users\User\Desktop\4dface\bin\concrt140.dll'. Cannot find or open the PDB file.
'4dface.exe' (Win32): Loaded 'C:\Windows\System32\mfplat.dll'. Cannot find or open the PDB file.
'4dface.exe' (Win32): Loaded 'C:\Windows\System32\mf.dll'. Cannot find or open the PDB file.
'4dface.exe' (Win32): Loaded 'C:\Windows\System32\mfreadwrite.dll'. Cannot find or open the PDB file.
'4dface.exe' (Win32): Loaded 'C:\Windows\System32\msacm32.dll'. Cannot find or open the PDB file.
'4dface.exe' (Win32): Loaded 'C:\Windows\System32\winmm.dll'. Cannot find or open the PDB file.
'4dface.exe' (Win32): Loaded 'C:\Users\User\Desktop\4dface\bin\lzma.dll'. Cannot find or open the PDB file.
'4dface.exe' (Win32): Loaded 'C:\Windows\System32\winmmbase.dll'. Cannot find or open the PDB file.
'4dface.exe' (Win32): Loaded 'C:\Windows\System32\mfcore.dll'. Cannot find or open the PDB file.
'4dface.exe' (Win32): Loaded 'C:\Windows\System32\crypt32.dll'. Cannot find or open the PDB file.
'4dface.exe' (Win32): Loaded 'C:\Windows\System32\msasn1.dll'. Cannot find or open the PDB file.
'4dface.exe' (Win32): Loaded 'C:\Windows\System32\ksuser.dll'. Cannot find or open the PDB file.
'4dface.exe' (Win32): Loaded 'C:\Windows\System32\bcrypt.dll'. Cannot find or open the PDB file.
'4dface.exe' (Win32): Loaded 'C:\Windows\System32\cryptbase.dll'. Cannot find or open the PDB file.
'4dface.exe' (Win32): Loaded 'C:\Windows\System32\imm32.dll'. Cannot find or open the PDB file.
'4dface.exe' (Win32): Loaded 'C:\Windows\System32\RTWorkQ.dll'. Cannot find or open the PDB file.
'4dface.exe' (Win32): Loaded 'C:\Windows\System32\uxtheme.dll'. Cannot find or open the PDB file.
'4dface.exe' (Win32): Loaded 'C:\Windows\System32\clbcatq.dll'. Cannot find or open the PDB file.
'4dface.exe' (Win32): Loaded 'C:\Windows\System32\devenum.dll'. Cannot find or open the PDB file.
'4dface.exe' (Win32): Loaded 'C:\Windows\System32\setupapi.dll'. Cannot find or open the PDB file.
'4dface.exe' (Win32): Loaded 'C:\Windows\System32\ntmarta.dll'. Cannot find or open the PDB file.
'4dface.exe' (Win32): Loaded 'C:\Windows\System32\devobj.dll'. Cannot find or open the PDB file.
'4dface.exe' (Win32): Loaded 'C:\Windows\System32\wintrust.dll'. Cannot find or open the PDB file.
'4dface.exe' (Win32): Loaded 'C:\Windows\System32\msdmo.dll'. Cannot find or open the PDB file.
'4dface.exe' (Win32): Loaded 'C:\Windows\System32\qcap.dll'. Cannot find or open the PDB file.
'4dface.exe' (Win32): Loaded 'C:\Windows\System32\quartz.dll'. Cannot find or open the PDB file.
'4dface.exe' (Win32): Loaded 'C:\Windows\System32\msctf.dll'. Cannot find or open the PDB file.
'4dface.exe' (Win32): Loaded 'C:\Windows\System32\dwmapi.dll'. Cannot find or open the PDB file.
'4dface.exe' (Win32): Loaded 'C:\Program Files\Recorder Devices for ShareX\screen-capture-recorder-x64.dll'. Cannot find or open the PDB file.
'4dface.exe' (Win32): Loaded 'C:\Windows\System32\msvcr100.dll'. Cannot find or open the PDB file.
The thread 0x2eb8 has exited with code 0 (0x0).
Unhandled exception at 0x00007FFFEF460800 (opencv_videoio341.dll) in 4dface.exe: 0xC0000005: Access violation reading location 0x0000000000000034.
Exception thrown at 0x00007FFFEF460800 (opencv_videoio341.dll) in 4dface.exe: 0xC0000005: Access violation reading location 0x0000000000000034.
@camjac251 Thanks for reporting the error from the debug mode!
Could you please try 4dface.exe --help
, and see whether that works?
Hey thanks for the reply back. I am able to run that surprisingly. I get the help info with running it. Does thing have a GUI? Could it be that when trying to create it, it's relying on a package not compiled with the app?
If I try adding -i
and input an h264 mp4 encoded file path I get back
Couldn't open the given file or camera 0.
That's great.
I think Windows requires the paths to be specified with double quotes (e.g. -i "C:\Users\camjac251\video.mpg"
) - otherwise the \
get escaped. Please try that.
Additionally, I think that opencv_ffmpeg341_64.dll
might be missing. vcpkg has an issue open for that: https://github.com/Microsoft/vcpkg/issues/2799
I've attached the dll here: opencv_ffmpeg341_64.zip
Please let me know if the first thing helped and if the second one was needed.
I don't believe that worked. I added the double quotes around the path, tested, it crashed. I added the file in, tested, and crashed.
I then tried just running the command with and without the file, same thing. Not sure whats the problem.
Just to be sure - you unzipped the file, and copied the .dll
into the same directory where 4dface.exe
is. Correct?
Can you try a different video file? With a different codec?
I'm also a bit confused: You said above:
If I try adding -i and input an h264 mp4 encoded file path I get back
Couldn't open the given file or camera 0.
And now you said you gave it the file and it crashed.
So in what scenario does it crash, and when do you get the Couldn't open the given file or camera 0.
error?
Doesn't make any sense to me either. I just tried it once more, had two different folders with it inside, both having the model and ffmpeg dll. Tried running with quotes without quotes, without the path, in powershell, in cmd, as admin. All comes back to the same oddly enough
So you changed the folder structure? Then you will need to adjust all the paths. Note that by default it expects the model files to be in the ../share
directory, relative from 4dface.exe
.
Also have you copied the landmark regressor to the share
directory, as instructed?
All comes back to the same oddly enough
Meaning? Crash or Couldn't open the given file or camera 0.
?
First you should get back to making --help
work and then to get it to display Couldn't open the given file or camera 0.
again. Then it should only be something trivial left to fix.
I am pretty sure you've got everything you need now but you're just doing something slightly not according to the instructions. I just tested this in a clean Win 10 VM and it works fine on my end.
I can confirm that this works on a clean, new Windows 10 Virtual Machine:
4dface\bin>4dface.exe -i vid.mp4
It works after you copy opencv_ffmpeg341_64.dll
to bin/
, where the other .dll
s are.
Nothing else needed.
I will update the release .zip
to include that .dll
, thanks for reporting that.
Oh so it needs to be in the share folder. I was using full paths to a separate hard drive. After running it again I get
4dface.exe -i myvideo.mp4_30fps_2.mp4 warning: Error opening file (/build/opencv/modules/videoio/src/cap_ffmpeg_impl.hpp:834) warning: myvideo.mp4_30fps_2.mp4 (/build/opencv/modules/videoio/src/cap_ffmpeg_impl.hpp:835) Couldn't open the given file or camera 0.
Tried an avi as well with the same result, titled face.avi
Oh so it needs to be in the share folder.
No, they can also be somewhere completely different - but then you need to specify all the paths - please read 4dface.exe --help
, if you want to do that.
And no the video also does not need to be in the same directory - but then you need the double quotes. This works completely fine on my fresh Win 10 VM:
4dface\bin>4dface.exe -i "C:\Users\Patrik\Documents\vid.mp4"
I think the ffmpeg dll may still not be in the correct directory, you may have got some problems with OpenCV's ffmpeg, or you've got weird video files. In any case this seems to have nothing to do with 4dface. I recommend that you either try some other video files, and/or compile it by yourself - then, you can choose a local opencv where you are sure that ffmpeg and reading videos will work.
I seem to have gotten it to work somehow. Thank you for your help. It looks like one of my folders wasn't setup correctly so starting from scratch made it work.
Great, that's what I thought. :-)
I would love to try it out! The build steps are nice but a little daunting because my dev environment/knowledge is very far from being able to built this. Could you please publish the binaries?