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 > VapourSynth

Reply
 
Thread Tools Search this Thread Display Modes
Old 24th March 2019, 03:28   #1  |  Link
SilSinn9801
Chiptuner & VapourSynther
 
SilSinn9801's Avatar
 
Join Date: Mar 2019
Location: Scarlet Devil Mansion, Gensōkyō
Posts: 52
How do I load a VapourSynth script within an international filepath into VirtualDub2?

Hello, this is my first posting here on Doom9 and I seek some help regarding VirtualDub2 and VapourSynth:

I have a VapourSynth script file (with an English filename) stored inside a folder that has a Japanese name on it. That script essentially loads a PNG image (also with English filename), repeats it 60 times, then uses std.Expr to reduce its colors from 24-bit RGB precision (RGB888) to 12-bit RGB precision (RGB444) by integer-dividing all its pixel RGB values by 16, then multiplying by 17:

Code:
import vapoursynth as vs
import functools
core = vs.get_core()
# 24-bit RGB (RGB888)
baselogo = core.imwri.Read(filename="Team Shanghai Alice.png")*60
# Simulate 12-bit RGB (RGB444) by integer-dividing all RGB values by 16, then
# multiplying them by 17
rgb444logo = baselogo.std.Expr(expr=["x 16 /", "x 16 /", "x 16 /"])
rgb888logo = rgb444logo.std.Expr(expr=["x 17 *", "x 17 *", "x 17 *"])

rgb888logo.set_output()
When I load that VPY file into VirtualDub2, rather than getting the logo, I get error frames with the following error message:

Code:
Read: ImageMagick error: libimwri.dll: UnableToOpenBlob 'C:\Users\couga\Desk
top\東方Project\Team Shanghai Alice.png': No such file or directory @ erro
r/blob.c/OpenBlob/3094
Note that "東方" above should have read instead "東方".

I thought both VirtualDub2 and VapourSynth were Unicode-aware (my reason I migrated from AviSynth to VapourSynth was the latter's purported support for UTF-8), but it seems that this is not the case here. And I am running VirtualDub2 normally (not via Locale Emulator or any other AppLocale-like app).

Any insight on this?

Please note that the script code above has worked for me on pure-ASCII filepaths – an example is a test video I had uploaded to my YouTube channel:
https://www.youtube.com/watch?v=NII8C-OueKc

Thankee!

Last edited by SilSinn9801; 17th April 2019 at 18:22. Reason: The correct RGB12-to-RGB24 conversion is multiplication by 17, such that #C3B→#CC33BB, not #C030B0
SilSinn9801 is offline   Reply With Quote
Old 24th March 2019, 04:09   #2  |  Link
lansing
Registered User
 
Join Date: Sep 2006
Posts: 1,657
Have you save your vpy with utf-8 encoding?
lansing is offline   Reply With Quote
Old 24th March 2019, 04:09   #3  |  Link
poisondeathray
Registered User
 
Join Date: Sep 2007
Posts: 5,345
You can use ffms2 instead of imagemagick as the source filter
eg
Code:
baselogo = core.ffms2.Source(r'C:\Users\couga\Desktop\東方Project\Team Shanghai Alice.png')*60
poisondeathray is offline   Reply With Quote
Old 24th March 2019, 04:28   #4  |  Link
SilSinn9801
Chiptuner & VapourSynther
 
SilSinn9801's Avatar
 
Join Date: Mar 2019
Location: Scarlet Devil Mansion, Gensōkyō
Posts: 52
Quote:
Originally Posted by lansing View Post
Have you save your vpy with utf-8 encoding?
Yes, it is UTF-8, otherwise the script would fail to load altogether, as the parser would encounter invalid UTF-8 bytes like FE and FF, so UTF-8 is mandatory.

Quote:
Originally Posted by poisondeathray View Post
You can use ffms2 instead of imagemagick as the source filter
eg
Code:
baselogo = core.ffms2.Source(r'C:\Users\couga\Desktop\東方Project\Team Shanghai Alice.png')*60
I tried your code and now the script fails to load, giving me this error:

Code:
Avisynth open failure:
Python exception: Source: No video track found

Traceback (most recent call last):
 File "src\cython\vapoursynth.pyx", line 1927, in
vapoursynth.vpy_evaluateScript
 File "src\cython\vapoursynth.pyx", line 1928, in
vapoursynth.vpy_evaluateScript
 File
"C:\Users\couga\Desktop\東方Project\TeamShanghaiAlice.v
py", line 5, in <module>
  baselogo = 
core.ffms2.Source(r'C:\Users\couga\Desktop\東方Project\Te
am Shanghai Alice.png')*60
 File "src\cython\vapoursynth.pyx", line 1833, in
vapoursynth.Function.__call__
vapoursynth.Error: Source: No video track found
SilSinn9801 is offline   Reply With Quote
Old 24th March 2019, 04:30   #5  |  Link
poisondeathray
Registered User
 
Join Date: Sep 2007
Posts: 5,345
You might be using a ffms2 version that does not support PNG . Try another version
poisondeathray is offline   Reply With Quote
Old 24th March 2019, 04:36   #6  |  Link
SilSinn9801
Chiptuner & VapourSynther
 
SilSinn9801's Avatar
 
Join Date: Mar 2019
Location: Scarlet Devil Mansion, Gensōkyō
Posts: 52
Quote:
Originally Posted by poisondeathray View Post
You might be using a ffms2 version that does not support PNG . Try another version
Can you show me a PNG-enabled, x64 version of ffms2.dll then? The one I got came from ffms2000-test8.7z:
https://www.dropbox.com/s/snepd7t006...s2000-test8.7z
which was listed on this Doom9 thread:
https://forum.doom9.org/archive/index.php/t-174469.html
SilSinn9801 is offline   Reply With Quote
Old 24th March 2019, 04:37   #7  |  Link
poisondeathray
Registered User
 
Join Date: Sep 2007
Posts: 5,345
Yes, it works here with other ffms2 versions

And I can replicate the error with ffms2-2.23.1-msvc, and ffms2000-test8 => these versions do not support PNG. And they are older, don't support newer codecs like AV1

This one works, recent from 2019
https://forum.doom9.org/showthread.php?t=176198
poisondeathray is offline   Reply With Quote
Old 24th March 2019, 04:55   #8  |  Link
SilSinn9801
Chiptuner & VapourSynther
 
SilSinn9801's Avatar
 
Join Date: Mar 2019
Location: Scarlet Devil Mansion, Gensōkyō
Posts: 52
I tried this new ffms2.dll and now it works! Thankee! Now back to work.
SilSinn9801 is offline   Reply With Quote
Old 26th March 2019, 18:02   #9  |  Link
Mystery Keeper
Beyond Kawaii
 
Mystery Keeper's Avatar
 
Join Date: Feb 2008
Location: Russia
Posts: 724
Why would you need to load it into VirtualDub2 in the first place? You can open it with VapourSynth Editor, hook it to FFMPEG and encode with the codec of your choice.
__________________
...desu!
Mystery Keeper is offline   Reply With Quote
Old 17th April 2019, 18:30   #10  |  Link
SilSinn9801
Chiptuner & VapourSynther
 
SilSinn9801's Avatar
 
Join Date: Mar 2019
Location: Scarlet Devil Mansion, Gensōkyō
Posts: 52
Quote:
Originally Posted by Mystery Keeper View Post
Why would you need to load it into VirtualDub2 in the first place? You can open it with VapourSynth Editor, hook it to FFMPEG and encode with the codec of your choice.
The most recent VirtualDub2 version I have also hooks up to FFMPEG and even x264 to export to MP4, although I still haven't figured out how to successfully do 2-pass encoding there, although that is a separate topic that should be best discussed on a separate VirtualDub (not VapourSynth) thread. But thankee anyway!
SilSinn9801 is offline   Reply With Quote
Reply

Tags
international filename, international filepath, unicode, vapoursynth, virtualdub2

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 14:36.


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