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. |
|
![]() |
|
Thread Tools | Search this Thread | Display Modes |
![]() |
#81 | Link | |
...?
Join Date: Nov 2005
Location: Florida
Posts: 1,258
|
Since I've now hammered out the kinks (hopefully), I'm able to answer this based on actually cross-compiling VapourSynth instead of using gendef on Windows dlls.
Quote:
The entire process is documented here (link goes directly to the VapourSynth section of the guide): https://github.com/qyot27/mpv/blob/e...ious.txt#L4396 One distinction is that when I'd tested with using gendef to handle VapourSynth too, I could get FFmpeg to link to it, but mpv refused to link to libavformat. gendeffing only Python and then cross-compiling VapourSynth like any other library results in both FFmpeg and mpv being able to link to it (importantly, mpv being able to directly play back scripts this way). 32-bit and 64-bit FFmpeg and mpv with static VapourSynth Said binaries include *both* VS demuxers. The upstream demuxer is still 'vapoursynth', and the other one is 'vapoursynth_alt'. It's easy to tell them apart because they return different data types as input: '-f vapoursynth' returns wrapped_avframe, '-f vapoursynth_alt' returns rawvideo. The upstream demuxer also doesn't honor relative file paths across directories (in just FFMS2? maybe in general?), while the alt demuxer does. Last edited by qyot27; 31st May 2019 at 16:47. |
|
![]() |
![]() |
![]() |
#83 | Link |
Registered User
Join Date: Dec 2005
Location: Germany
Posts: 1,443
|
Click on his signature link, you can find a newer version there.
__________________
AVSRepoGUI // VSRepoGUI - Package Manager for AviSynth // VapourSynth VapourSynth Portable FATPACK || VapourSynth Database || https://github.com/avisynth-repository |
![]() |
![]() |
![]() |
#85 | Link | |
Registered User
Join Date: Nov 2004
Location: Poland
Posts: 2,475
|
Quote:
Wolfberry version does absolutely nothing- just ends without any print or error. |
|
![]() |
![]() |
![]() |
#86 | Link | |
Registered User
Join Date: Sep 2007
Posts: 4,494
|
Quote:
what does info say ? vspipe --info script.vpy - Post the script. |
|
![]() |
![]() |
![]() |
#87 | Link |
...?
Join Date: Nov 2005
Location: Florida
Posts: 1,258
|
Roll back VapourSynth (git) and Python (release) to versions that were current at the end of May. Trying to mix and match versions will fail spectacularly.
Or don't use a build from nearly 5 months ago; use a current one built against the now-current versions of those environments. |
![]() |
![]() |
![]() |
#89 | Link |
Registered User
Join Date: Aug 2015
Posts: 43
|
|
![]() |
![]() |
![]() |
#91 | Link |
...?
Join Date: Nov 2005
Location: Florida
Posts: 1,258
|
FFmpeg and mpv built with static VapourSynth/Python, 2019-10-10
VapourSynth: git-bae5d1a Python: 3.7.4 The incompatibility is most likely tied to the version of Python, but VS itself probably incurs *some* of the restriction too (it matters which version of Python the VS .dlls were built against, just as much as it matters which one is linked into FFmpeg). I still have Python 3.7.3 and the official release build of R47 installed system-wide, but built FFmpeg with Python 3.7.4 and VapourSynth's current git HEAD. It worked just fine. It seems to be okay as long as the Python and VapourSynth linked into FFmpeg are newer than the ones on the system, but the inverse situation will almost certainly fail. As before, both VapourSynth demuxers are present. The upstream demuxer is vapoursynth, the rawvideo demuxer patch provides vapoursynth_alt. |
![]() |
![]() |
![]() |
#93 | Link |
Registered User
Join Date: Nov 2004
Location: Poland
Posts: 2,475
|
Seems to be working. Just getting this:
"Script exceeded memory limit" which I assume is about some cache in vs. How do I increase it ? With vapoursynth_alt speed is 3x better. Last edited by kolak; 12th October 2019 at 12:13. |
![]() |
![]() |
![]() |
#94 | Link |
Registered User
Join Date: Jun 2006
Posts: 452
|
The FFmpeg binaries work fine to play/process .VPY files directly ; the vapoursynth_alt demuxer seems faster than the build-in.
How to feed a.vpy directly to MPV ? Is there a way to specify which demuxer/format to use when playing a .vpy file using MPV ? Last edited by Pat357; 26th October 2019 at 00:37. |
![]() |
![]() |
![]() |
#95 | Link |
...?
Join Date: Nov 2005
Location: Florida
Posts: 1,258
|
--demuxer-lavf-format=vapoursynth (or vapoursynth_alt). The 64-bit mpv from the package I posted on the 10th also supports using VapourSynth as a video filter (for say, 24->60fps motion interpolation).
.vpy can associated with the above command in the config file, so you don't have to remember to use it: Code:
[extension.vpy] demuxer-lavf-format=vapoursynth |
![]() |
![]() |
![]() |
#96 | Link |
Registered User
Join Date: Jun 2002
Location: On thin ice
Posts: 6,660
|
I'm trying to pipe from ffmpeg to the crappy SvtAv1EncApp, with avisynth it works using cmd, it sucks that it doesn't work with Windows Terminal and PowerShell, creates distorted output.
With VapourSynth it does not work with cmd either, vspipe doesn't support format conversation apparently. I don't know if the crappy Intel encoder supports y4m input, it's not documented at least. ffmpeg.exe -loglevel fatal -hide_banner -i aaa.avs -nostdin -f rawvideo -pix_fmt yuv420p - | SvtAv1EncApp.exe -i stdin -n 328 -w 1280 -h 720 -q 20 -b test.ivf ffmpeg.exe -loglevel fatal -hide_banner -f vapoursynth -i aaa.vpy -nostdin -f rawvideo -pix_fmt yuv420p - | SvtAv1EncApp.exe -i stdin -n 328 -w 1280 -h 720 -q 20 -b test.ivf edit: found a way: ffmpeg -loglevel fatal -hide_banner -f vapoursynth -i aaa.vpy -nostdin -f yuv4mpegpipe -strict -1 -pix_fmt yuv420p - | SvtAv1EncApp -i stdin -n 328 -w 1280 -h 720 -q 20 -b aaa.ivf Last edited by stax76; 31st March 2020 at 23:20. |
![]() |
![]() |
![]() |
#97 | Link |
Registered User
Join Date: Oct 2001
Location: Germany
Posts: 6,206
|
@stax76: that looks strange,... isn't '-1' only needed when handling 10+bit content?
and shouldn't the output pixel format then be yuv420p10le (for example) ? Analog to SvtHevcEncApp, I would try something like: Code:
ffmpeg -y -loglevel fatal -noautorotate -nostdin -threads 8 -i "F:\TestClips&Co\files\10bitTest.mkv" -map 0:0 -an -sn -vf zscale=rangein=tv:range=tv -pix_fmt yuv420p10le -strict -1 -vsync 0 -f yuv4mpegpipe - | SvtAv1EncApp -i stdin -fps-num 25 -fps-denom 1 -n 429 -b "E:\Temp\10bitTest_06_05_51_8410_01.ivf" Cu Selur
__________________
Hybrid here in the forum, homepage Notice: Since email notifications do not work here any more, it might take me quite some time to notice a reply to a thread,.. Last edited by Selur; 2nd April 2020 at 05:14. |
![]() |
![]() |
![]() |
#98 | Link |
Registered User
Join Date: Jun 2002
Location: On thin ice
Posts: 6,660
|
My code relies on the fact that for every progress a line break is written to the output stream, I've never seen a console app that don't do it and most .NET apps rely on this and working around it will take at least a day, I made a request and quit for now.
|
![]() |
![]() |
![]() |
Thread Tools | Search this Thread |
Display Modes | |
|
|