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 |
![]() |
#41 | Link |
Registered User
Join Date: Apr 2018
Posts: 63
|
Even if it was, it not being enabled by default has nothing to do with your FUD about Vapoursynth being a potential a malware vector. Plenty of ffmpeg features are optional and disabled by default. For example, Avisynth support is also disabled by default.
__________________
My project BDSup2Sub++: https://github.com/amichaeltm/BDSup2SubPlusPlus |
![]() |
![]() |
![]() |
#42 | Link |
Registered User
Join Date: Apr 2018
Posts: 63
|
Also a malicious Avisynth plugin can be written to delete everything off your hard druve, download malware, etc. What you're talking about is what any piece of malicious arbitrary-code can do. Avisynth also has no sandboxing to prevent this. So you're really no more safe with Avisynth.
And if you use autoload, a malware-ridden plugin could have its init function called and do malicious things without you even needing to ever explicitly call it.
__________________
My project BDSup2Sub++: https://github.com/amichaeltm/BDSup2SubPlusPlus |
![]() |
![]() |
![]() |
#43 | Link | ||
Soul Architect
Join Date: Apr 2014
Posts: 2,173
|
What about this? I haven't made anything up, but I understand their decision.
Quote:
|
||
![]() |
![]() |
![]() |
#44 | Link | |
ангел смерти
![]() Join Date: Nov 2004
Location: Lost
Posts: 9,420
|
Quote:
__________________
There are four boxes to be used in defense of liberty: soap, ballot, jury, and ammo. Please use in that order. |
|
![]() |
![]() |
![]() |
#45 | Link |
Registered User
Join Date: Dec 2005
Location: Germany
Posts: 1,045
|
And If you are really evil you could try to overwrite files with http://avisynth.nl/index.php/ImageWriter
__________________
AVSRepoGUI // VSRepoGUI - Package Manager for AviSynth // VapourSynth VapourSynth Portable FATPACK || VapourSynth Database || https://github.com/avisynth-repository |
![]() |
![]() |
![]() |
#46 | Link |
Soul Architect
Join Date: Apr 2014
Posts: 2,173
|
I see a clear difference between having security risks on a development machine for someone using Avisynth/VapourSynth and downloading various DLLs, compared to a production server using FFMPEG without any awareness of what VapourSynth/Avisynth even are.
If you take risks on your local machine, that's one thing. If a server environment is at risk simply by using FFMPEG because it auto-loads a risky script engine (without admin awareness), that's something else. |
![]() |
![]() |
![]() |
#47 | Link |
Registered User
Join Date: Sep 2007
Posts: 3,983
|
Using Wolfberry's FFMpeg build with vpy support , direct vapoursynth input is about 50% speed compared to vspipe to the same ffmpeg . I would have expected marginally faster for direct vpy demuxer. Script is just QTGMC . I tried specifying different ffmpeg -threads values as an input argument. Any ideas, or am I doing something wrong? Could it be a cache issue ?
https://forum.doom9.org/showthread.p...31#post1866931 Code:
vspipe --y4m input.vpy - | "ffmpeg" -f yuv4mpegpipe -i - -an -f null NUL Code:
"ffmpeg" -f vapoursynth -i input.vpy -an -f null NUL EDIT #1: but another test of just reading a MP4 video with lsmash (no other filters, just source filter), direct vapoursynth is about 1.4-1.5x faster than vspipe to ffmpeg EDIT #2: tested other source filters too lsmash, ffms2, other file types (mpeg2, avc); pretty consistent observation - direct read with only source filter is faster, but as soon as you add any additional filter in script (not just QTGMC, it can be anything like a denoiser, or even a simple resize only) it becomes slower than vspipe method at about 50% speed Is it specific to this ffmpeg build, or do other people get different results with their own build ? Last edited by poisondeathray; 28th February 2019 at 03:10. |
![]() |
![]() |
![]() |
#48 | Link | |
Registered User
Join Date: Aug 2006
Location: Taiwan
Posts: 668
|
Quote:
Test1 Code:
from vapoursynth import core core.max_cache_size = 12 * 1024 clip = core.ffms2.Source(r'test.mp4') clip.set_output() Code:
>vspipe -y test.vpy - | ffmpeg_1 -hide_banner -benchmark -f yuv4mpegpipe -i - -f null - Input #0, yuv4mpegpipe, from 'pipe:': Duration: N/A, start: 0.000000, bitrate: N/A Stream #0:0: Video: rawvideo (I420 / 0x30323449), yuv420p(progressive), 1920x1080, 50 fps, 50 tbr, 50 tbn, 50 tbc Stream mapping: Stream #0:0 -> #0:0 (rawvideo (native) -> wrapped_avframe (native)) Output #0, null, to 'pipe:': Metadata: encoder : Lavf58.20.100 Stream #0:0: Video: wrapped_avframe, yuv420p, 1920x1080, q=2-31, 200 kb/s, 50 fps, 50 tbn, 50 tbc Metadata: encoder : Lavc58.35.100 wrapped_avframe Output 1250 frames in 7.06 seconds (177.05 fps)24.20 bitrate=N/A speed=3.68x frame= 1250 fps=181 q=-0.0 Lsize=N/A time=00:00:25.00 bitrate=N/A speed=3.62x video:654kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown bench: utime=0.109s stime=4.516s rtime=6.912s bench: maxrss=16848kB >ffmpeg_1 -hide_banner -benchmark -f vapoursynth -i test.vpy -f null - Input #0, vapoursynth, from 'test.vpy': Duration: 00:00:25.00, start: 0.000000, bitrate: 0 kb/s Stream #0:0: Video: wrapped_avframe, yuv420p, 1920x1080, 50 tbr, 50 tbn, 50 tbc Stream mapping: Stream #0:0 -> #0:0 (wrapped_avframe (native) -> wrapped_avframe (native)) Press [q] to stop, [?] for help Output #0, null, to 'pipe:': Metadata: encoder : Lavf58.20.100 Stream #0:0: Video: wrapped_avframe, yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 200 kb/s, 50 fps, 50 tbn, 50 tbc Metadata: encoder : Lavc58.35.100 wrapped_avframe frame= 1250 fps=238 q=-0.0 Lsize=N/A time=00:00:25.00 bitrate=N/A speed=4.76x video:654kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown bench: utime=27.969s stime=0.312s rtime=5.256s bench: maxrss=975760kB >ffmpeg_2 -hide_banner -benchmark -f vapoursynth -i test.vpy -f null - Input #0, vapoursynth, from 'test.vpy': Duration: 00:00:25.00, start: 0.000000, bitrate: 0 kb/s Stream #0:0: Video: rawvideo (I420 / 0x30323449), yuv420p, 1920x1080, 50 fps, 50 tbr, 50 tbn, 50 tbc Stream mapping: Stream #0:0 -> #0:0 (rawvideo (native) -> wrapped_avframe (native)) Press [q] to stop, [?] for help Output #0, null, to 'pipe:': Metadata: encoder : Lavf58.20.100 Stream #0:0: Video: wrapped_avframe, yuv420p, 1920x1080, q=2-31, 200 kb/s, 50 fps, 50 tbn, 50 tbc Metadata: encoder : Lavc58.35.100 wrapped_avframe frame= 1250 fps=201 q=-0.0 Lsize=N/A time=00:00:25.00 bitrate=N/A speed=4.02x video:654kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown bench: utime=34.578s stime=3.328s rtime=6.224s bench: maxrss=984464kB Code:
from vapoursynth import core core.max_cache_size = 12 * 1024 clip = core.ffms2.Source(r'test.mp4') clip = clip.std.BoxBlur(hradius=2, vradius=2).misc.AverageFrames(weights=[1] * 5) clip.set_output() Code:
>vspipe -y test.vpy - | ffmpeg_1 -hide_banner -benchmark -f yuv4mpegpipe -i - -f null - Input #0, yuv4mpegpipe, from 'pipe:': Duration: N/A, start: 0.000000, bitrate: N/A Stream #0:0: Video: rawvideo (I420 / 0x30323449), yuv420p(progressive), 1920x1080, 50 fps, 50 tbr, 50 tbn, 50 tbc Stream mapping: Stream #0:0 -> #0:0 (rawvideo (native) -> wrapped_avframe (native)) Output #0, null, to 'pipe:': Metadata: encoder : Lavf58.20.100 Stream #0:0: Video: wrapped_avframe, yuv420p, 1920x1080, q=2-31, 200 kb/s, 50 fps, 50 tbn, 50 tbc Metadata: encoder : Lavc58.35.100 wrapped_avframe Output 1250 frames in 19.06 seconds (65.57 fps)24.80 bitrate=N/A speed=1.34x frame= 1250 fps= 66 q=-0.0 Lsize=N/A time=00:00:25.00 bitrate=N/A speed=1.33x video:654kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown bench: utime=0.203s stime=4.469s rtime=18.845s bench: maxrss=16848kB >ffmpeg_1 -hide_banner -benchmark -f vapoursynth -i test.vpy -f null - Input #0, vapoursynth, from 'test.vpy': Duration: 00:00:25.00, start: 0.000000, bitrate: 0 kb/s Stream #0:0: Video: wrapped_avframe, yuv420p, 1920x1080, 50 tbr, 50 tbn, 50 tbc Stream mapping: Stream #0:0 -> #0:0 (wrapped_avframe (native) -> wrapped_avframe (native)) Press [q] to stop, [?] for help Output #0, null, to 'pipe:': Metadata: encoder : Lavf58.20.100 Stream #0:0: Video: wrapped_avframe, yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 200 kb/s, 50 fps, 50 tbn, 50 tbc Metadata: encoder : Lavc58.35.100 wrapped_avframe frame= 1250 fps= 24 q=-0.0 Lsize=N/A time=00:00:25.00 bitrate=N/A speed=0.478x video:654kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown bench: utime=84.891s stime=0.922s rtime=52.273s bench: maxrss=1152720kB >ffmpeg_2 -hide_banner -benchmark -f vapoursynth -i test.vpy -f null - Input #0, vapoursynth, from 'test.vpy': Duration: 00:00:25.00, start: 0.000000, bitrate: 0 kb/s Stream #0:0: Video: rawvideo (I420 / 0x30323449), yuv420p, 1920x1080, 50 fps, 50 tbr, 50 tbn, 50 tbc Stream mapping: Stream #0:0 -> #0:0 (rawvideo (native) -> wrapped_avframe (native)) Press [q] to stop, [?] for help Output #0, null, to 'pipe:': Metadata: encoder : Lavf58.20.100 Stream #0:0: Video: wrapped_avframe, yuv420p, 1920x1080, q=2-31, 200 kb/s, 50 fps, 50 tbn, 50 tbc Metadata: encoder : Lavc58.35.100 wrapped_avframe frame= 1250 fps= 68 q=-0.0 Lsize=N/A time=00:00:25.00 bitrate=N/A speed=1.37x video:654kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown bench: utime=137.797s stime=3.359s rtime=18.304s bench: maxrss=1189088kB |
|
![]() |
![]() |
![]() |
#49 | Link |
...?
Join Date: Nov 2005
Location: Florida
Posts: 1,084
|
Post #26 in this thread linked to a copy of it on pastebin.
I think I'll probably have to switch to it also, since I could never seem to get the official implementation to cross-compile right, despite following the steps provided earlier to get the Python lib encapsulated correctly. Last edited by qyot27; 8th March 2019 at 14:15. |
![]() |
![]() |
![]() |
#51 | Link |
Helenium(Easter)
Join Date: Aug 2017
Location: Hsinchu, Taiwan
Posts: 99
|
I'm sure this build uses Stephen's implementation, but I haven't done any tests.
__________________
Monochrome Anomaly |
![]() |
![]() |
![]() |
#52 | Link | |
Registered User
Join Date: Sep 2007
Posts: 3,983
|
Quote:
Why isn't Stephen implementation the official one ? Last edited by poisondeathray; 28th April 2019 at 06:12. |
|
![]() |
![]() |
![]() |
#53 | Link | |
Registered User
Join Date: Jun 2006
Posts: 436
|
Quote:
could you consider to make a new FFMS2 compile with the libaom decoder replaced by dav1d ? On relative simple scripts, the just decoding from AV1 takes a lot of CPU with libaom, while dav1d is at least 4x faster on modern CPU's. With the following videos, I can't get even real-time speed when using liboam : https://www.elecard.com/storage/vide..._13.9mbps.webm https://www.elecard.com/storage/vide..._22.7mbps.webm Last edited by Pat357; 29th April 2019 at 00:05. |
|
![]() |
![]() |
![]() |
#54 | Link | ||
Registered User
Join Date: Sep 2007
Posts: 3,983
|
Quote:
Wolfberry posted ffms2 builds with libdav1d in the other thread https://forum.doom9.org/showthread.php?t=176198 Quote:
|
||
![]() |
![]() |
![]() |
#55 | Link | |
...?
Join Date: Nov 2005
Location: Florida
Posts: 1,084
|
Quote:
|
|
![]() |
![]() |
![]() |
#56 | Link | ||
Registered User
Join Date: Oct 2009
Location: crow-land
Posts: 532
|
Quote:
Quote:
|
||
![]() |
![]() |
![]() |
#58 | Link |
Helenium(Easter)
Join Date: Aug 2017
Location: Hsinchu, Taiwan
Posts: 99
|
Do you mean the auto-detection of .vpy extension?
That's in the original implementation found at post #26 I can try revert that part to the official implementation by wm4. Or do you mean something else? If you feel unsafe then don't use it. It's simple ![]()
__________________
Monochrome Anomaly Last edited by Wolfberry; 30th April 2019 at 13:30. |
![]() |
![]() |
![]() |
Thread Tools | Search this Thread |
Display Modes | |
|
|