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 | |
ангел смерти
![]() Join Date: Nov 2004
Location: Lost
Posts: 9,554
|
Quote:
|
|
![]() |
![]() |
![]() |
#42 | Link |
Registered User
Join Date: Dec 2005
Location: Germany
Posts: 1,408
|
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 |
![]() |
![]() |
![]() |
#43 | Link |
Soul Architect
Join Date: Apr 2014
Posts: 2,189
|
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. |
![]() |
![]() |
![]() |
#44 | Link |
Registered User
Join Date: Sep 2007
Posts: 4,448
|
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. |
![]() |
![]() |
![]() |
#45 | Link | |
Registered User
Join Date: Aug 2006
Location: Taiwan
Posts: 754
|
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 |
|
![]() |
![]() |
![]() |
#46 | Link |
...?
Join Date: Nov 2005
Location: Florida
Posts: 1,248
|
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. |
![]() |
![]() |
![]() |
#48 | 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 |
![]() |
![]() |
![]() |
#49 | Link | |
Registered User
Join Date: Sep 2007
Posts: 4,448
|
Quote:
Why isn't Stephen implementation the official one ? Last edited by poisondeathray; 28th April 2019 at 05:12. |
|
![]() |
![]() |
![]() |
#50 | Link | |
Registered User
Join Date: Jun 2006
Posts: 452
|
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; 28th April 2019 at 23:05. |
|
![]() |
![]() |
![]() |
#51 | Link | ||
Registered User
Join Date: Sep 2007
Posts: 4,448
|
Quote:
Wolfberry posted ffms2 builds with libdav1d in the other thread https://forum.doom9.org/showthread.php?t=176198 Quote:
|
||
![]() |
![]() |
![]() |
#52 | Link | |
...?
Join Date: Nov 2005
Location: Florida
Posts: 1,248
|
Quote:
|
|
![]() |
![]() |
![]() |
#53 | Link | ||
Registered User
Join Date: Oct 2009
Location: crow-land
Posts: 540
|
Quote:
Quote:
|
||
![]() |
![]() |
![]() |
#55 | 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 12:30. |
![]() |
![]() |
![]() |
#59 | Link |
Registered User
Join Date: Jun 2006
Posts: 452
|
@Wolfberry
Your latest FFmpeg build N-93755-ga5387f983d (20190504) seems to be broken for me. If I do "ffplay -i "d:\path.to\a.mkv", I get the normal text output on screen, but the window that should show the video is white with the typical "windows wait" icon that stays there for about 5 seconds after the window closes. The 5 seconds seems to be interdependent from the video-length: same for a 20s fragment or a full film (90-210min). Also Avisynth scripts or VS scripts produce the same scenario, even when I specify "ffplay -f vapoursynth -i a.vpy" Your previous version N-93696-g45048ece81 posted from 2019-04-30 is working perfect. I have VS R45 installed on my system (not port.) From my Windows log I have : Code:
Foutbucket 1498974882443012356, type 4 Naam van gebeurtenis: APPCRASH Antwoord: Niet beschikbaar Id van CAB-bestand: 0 Handtekening van probleem: P1: ffplay.exe P2: 0.0.0.0 P3: 00000000 P4: msvcrt.dll P5: 7.0.17134.1 P6: 5cbba6fd P7: c0000005 P8: 000000000005cc53 P9: P10: Last edited by Pat357; 4th May 2019 at 23:48. Reason: attached windows-log info : appcrash |
![]() |
![]() |
![]() |
#60 | Link |
Helenium(Easter)
Join Date: Aug 2017
Location: Hsinchu, Taiwan
Posts: 99
|
After some investigation, the culprit was LTO.
I saw there are some improvements in LTO optimizations in GCC 9, so I decided to give it a try. It turns out that LTO was still more or less broken for ffmpeg, at least in MinGW.
__________________
Monochrome Anomaly Last edited by Wolfberry; 12th May 2019 at 15:30. |
![]() |
![]() |
![]() |
Thread Tools | Search this Thread |
Display Modes | |
|
|