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 > Avisynth Usage

Reply
 
Thread Tools Search this Thread Display Modes
Old 26th June 2016, 17:02   #1  |  Link
kagetoki
Author of AVSEdit Plus
 
kagetoki's Avatar
 
Join Date: Jun 2016
Posts: 8
AVSEdit Plus - official thread

AVSEdit Plus
https://sourceforge.net/projects/avseditplus/

I introduce a new AviSynth editing environment - AVSEdit Plus. The interface and the functionality is strongly inspired by the original AVSEdit. I have focused on creating a useful and efficient video preview feature that many of You may find interesting e.g. buffering frames into memory or side-by-side video preview. I encourage You to give it a try and I hope You will enjoy using AVSEdit Plus. You will find the latest build, source code and more details in the link above - at the official repository.

This is the official thread for AVSEdit Plus. Feel free to post here any suggestions, state issues and ask for improvements or bug fixes.

AVSEdit Plus is an AviSynth script editor with side by side preview and video encoding GUI for command line encoders:
- edit AviSynth scripts,
- preview script video results,
- buffer slow scripts and preview them in real time,
- enable side-by-side preview for two script video results,
- work with command line encoders using an encoding GUI,
- create an encoding queue.

Video tutorial on Vimeo (higher bitrate, recommended):


Video tutorial on YouTube:
https://www.youtube.com/watch?v=VWxd6YBTZZU

Changelog
Code:
1.25.0.0 / stable / 2016.08.26

[Script editor]
- Find feature with optional regular expressions included
(Menu > Edit> Find).

[Other]
- Translation bugs handled: English

1.24.0.0 / stable / 2016.06.29

[Other]
- Fixed a mistake in handling "AvisynthWrapper.dll was not found" 
exception.

1.23.0.0 / stable / 2016.06.28

[Other]
- Improvements made to the installer. Program used to install the 
database files to the install location. The database files are 
installed to the user's profile now (User/AppData/Roaming) and are not 
removed when the program is being uninstalled. When UAC enabled, in 
versions below 1.23 the database files might have been redirected from 
the install location to (User/AppData/Local/VirtualStore). You might 
want to recover your previous database by copying it to 
(User/AppData/Roaming).
- The installer remembers the custom install location for future 
upgrades.
- Fixed an exception thrown when the database files/directory was not 
found or deleted.
- Fixed an exception thrown when AvisynthWrapper.dll was not found or 
deleted.

1.22.0.0 / stable / 2016.06.18

First version of AVSEdit Plus ever released. The following is a list of 
initial features:

[Script editor]
- AviSynth script editor with line numbering, tabs, undo/redo function 
and block commenting capability.
- Sortable list of standard read-only AviSynth functions. Add function 
to the editor with double click.
- Sortable list of editable functions. Add useful script parts or 
functions with customized argument lists. Edit, rename, delete, add to 
the editor with double click.

[Video preview]
- Video preview of script video result. Many preview windows at the 
same time. Right click to open settings and study the list of shortcuts 
to all video preview features.
- Seek bar, frame seeking with keys or mouse. Video playback at 
original frame rate. Go to a specified frame, copy the selected frame 
to clipboard. Remove borders in the preview.
- Frame buffering is turned on by default. No more encoding of 
extremely slow scripts to see the results, just let a part of the clip 
to buffer into memory and play it at original frame rate.
- Side by side preview mode (dual preview). Set second script video 
result in the same video preview to watch before/after changes. Move 
the splitter with mouse, change the splitter orientation.
- Zoom in/out the whole frame. Crop preview to a specified range.
- Clip properties shown, values may be copied: current frame and time, 
clip frame length and time duration, zoom, video resolution, current 
crop values, clip frame rate, video aspect ratio, system memory 
information, buffer statistics for each clip in dual preview mode.
- Trim editor. All clip selections made in the preview are stored here 
and may be copied to clipboard in AviSynth format. Paste it into your 
script.

[Encoding GUI]
- GUI editor for command line encoders. Create and save your custom 
commands for CLI encoders with the help of prepared forms. Choose 
encoder, opened script (input), destination path (output) and add the 
command to the batch queue.
- Sortable list of your encoder commands. Edit, rename, delete, add to 
the command editor.
- Batch queue. Change job status with double click, edit or delete 
commands with right click. Start or stop queue processing, each job 
opens in a separate command line window.

[Other]
- Program global preferences. Any modifications made here become 
default in the future unlike most ones made locally.
- language localization: English, Polish.
Known issues
Code:
- 2GB memory limitation per x86 .NET process. This limits a video 
buffer capacity although there is still more physical memory left on 
the system.
- No syntax highlighting developed yet.
- No code complete feature developed yet.
- Firing [AvisynthWrapper.dll].dimzon_avs_init while being very low on 
memory may lead the application to freeze instead of throwing an 
emergency shutdown of the video preview.
- Cannot drag & drop .avs files directly onto the script editor to open 
them.
- Troubles with selecting text by mouse in the script editor moving to 
the left edge when the line's length exceeds the visible width.
- No x64 AviSynth support yet. Using Dimzon's AvisynthWrapper which is 
x86 only.

Last edited by kagetoki; 26th August 2016 at 22:37.
kagetoki is offline   Reply With Quote
Old 26th June 2016, 17:06   #2  |  Link
kagetoki
Author of AVSEdit Plus
 
kagetoki's Avatar
 
Join Date: Jun 2016
Posts: 8
Reserved
kagetoki is offline   Reply With Quote
Old 26th June 2016, 17:33   #3  |  Link
luigizaninoni
Registered User
 
Join Date: Apr 2015
Posts: 163
Looks interesting. No AVS+ 64-bit ?
luigizaninoni is offline   Reply With Quote
Old 26th June 2016, 18:39   #4  |  Link
kagetoki
Author of AVSEdit Plus
 
kagetoki's Avatar
 
Join Date: Jun 2016
Posts: 8
There are going to be lots of bugs at first as it's the first release and I have been the only tester so far. Forgive me and be patient while I try to fix it.

Quote:
Originally Posted by MysteryX View Post

You can't have your settings file under Program Files as your application can't write to that folder. You must move your settings file somewhere else.
I know I had been quite aware of the potential problem before the 1.22 release but I tested it on an admin account with Windows UAC enabled and it worked fine moving the database files to Virtual Store automatically. Will fix it. Until then, use the portable .zip version, please.

Quote:
Originally Posted by luigizaninoni View Post
Looks interesting. No AVS+ 64-bit ?
Unfortunately I use dimzon's x86 AvisynthWrapper that won't cooperate wit x64 AviSynth, I guess. But I may be mistaken. Will check it if sth can be done.

Last edited by kagetoki; 26th June 2016 at 18:44.
kagetoki is offline   Reply With Quote
Old 29th June 2016, 05:37   #5  |  Link
real.finder
Registered User
 
Join Date: Jan 2012
Location: Mesopotamia
Posts: 2,532
thank you for develop AVSEdit

Quote:
Originally Posted by kagetoki View Post
Unfortunately I use dimzon's x86 AvisynthWrapper that won't cooperate wit x64 AviSynth, I guess. But I may be mistaken. Will check it if sth can be done.
I think if every script run in it's own process then you can even make side-by-side preview for two different AviSynth (x64 and x86) by an option to change that for every script, Regarding AvisynthWrapper, I think you can dispense it by make a tool in .exe that load AviSynth .dll directly just like avsmeter or mp_pipeline
__________________
See My Avisynth Stuff

Last edited by real.finder; 29th June 2016 at 05:41.
real.finder is offline   Reply With Quote
Old 26th June 2016, 17:33   #6  |  Link
MysteryX
Soul Architect
 
MysteryX's Avatar
 
Join Date: Apr 2014
Posts: 2,554
WOW! Downloaded.

Will install tomorrow.

Edit: couldn't wait to try it.

Code:
System.UnauthorizedAccessException: Access to the path 'C:\Program Files (x86)\AVSEdit Plus\data\settings.xml' is denied.
You can't have your settings file under Program Files as your application can't write to that folder. You must move your settings file somewhere else.

I've done that same mistake before in some other app.

Last edited by MysteryX; 26th June 2016 at 17:37.
MysteryX is offline   Reply With Quote
Old 26th June 2016, 18:43   #7  |  Link
wonkey_monkey
Formerly davidh*****
 
wonkey_monkey's Avatar
 
Join Date: Jan 2004
Posts: 2,373
Best first post ever!

I started work on something similar years ago, but never had the time to finish it up. I planned to have the same split-bar comparison thing, though I was going to do it so that you would prepare your script with a stackhorizontal or stackvertical, and the program would let you swipe between the two halves of the output.

Something else I planned was to have control over conversion to RGB and also bobbing, external to the AviSynth script being edited. So for example, if you were working on interlaced video, you could view a bobbed preview without having to add bob() to your script (frame numbers could count as 0T, 0B, 1T, 1B etc). You could also select which colour matrix you wanted to use to convert to RGB for display. This was all going to be done using env->invoke.

The buffering for previews looks great, too. I had all kinds of ideas, such as: if someone starts seeking backwards (left arrow) don't just get the previous frame; go back a few frames more and work forward. If they keep seeking backwards, jump even further backwards. I hoped that - at least on simple formats like MPEG2 - it would allow smooth reverse seeking, which you just can't do with Virtualdub. I also thought about caching many frames as low quality JPEGs to allow fast scrubbing, or allowing the user to somehow specify a "low quality" version of their output. For example, they could set a special line of AviSynth code (lo_quality_clip_=source.bob) which would allow fast scrubbing, with the full quality frame (generated, for example, using QTGMC) only being displayed once scrubbing stopped.

Other ideas: a tooltip to give information about individual pixels, such as RGB value or YUV value, or if you zoom in far enough, to have these numbers printed on the pixels themselves.

A timeline below the video, on which you could set markers for interesting places in the video, or scene changes.

Copying and pasting:

The ability to copy a frame onto the clipboard, edit it in (for example) Photoshop, and paste it back on to the video. This would then generate a "diff" file which you could apply to your AviSynth script with a plugin.

Syncing:

Two or more instances of the program could be set to "sync" which would mean moving to another frame would also make any other "sync"ed instance move to the same frame.

I hope some of this might be useful to you.
__________________
My AviSynth filters / I'm the Doctor

Last edited by wonkey_monkey; 26th June 2016 at 18:46.
wonkey_monkey is offline   Reply With Quote
Old 26th June 2016, 20:01   #8  |  Link
geometer
Registered User
 
Join Date: Dec 2015
Posts: 59
Really great idea!
So far I use AviDemux (connected to frameserver) for the simpler adjustments, as it has sliders and [x] check boxes for the parameters and many filters have an instant preview. Also, it can freely skip forwards and backwards one or many frames, though not entirely stable.

Suggestion:
Parameter sliders and checkboxes with fast preview cycle.
- for this we preselect one frame or a very short sequence in the video.
- we define the parameter(s) either in a template script with the syntax: myfunction(&val1&,&val2&,&val3&) ## &def val1:integerslider; &def val2:floatslider; &def val3:checkbox
-- so the actual script will be rewritten from that template,
- or we create reserved variable names and the function uses the variables as usual, and the script mechanism sets the variables with inserted/replaced assignment statements.
-- val1 = 100 ## &integerslider # 100 is the initial value to start that experiment from
- the sliders might appear in a pop-up window with the variable names written below
- a move of a slider triggers the redisplay mechanism, this can be switched off.
geometer is offline   Reply With Quote
Old 26th June 2016, 21:56   #9  |  Link
GMJCZP
Registered User
 
GMJCZP's Avatar
 
Join Date: Apr 2010
Location: I have a statue in Hakodate, Japan
Posts: 738
Welcome to the forum, kagetoki.
I've always used VDubMod for these tasks but keep an open mind to new ideas. Thanks.
__________________
By law and justice!

GMJCZP's Arsenal
GMJCZP is offline   Reply With Quote
Old 27th June 2016, 03:40   #10  |  Link
MysteryX
Soul Architect
 
MysteryX's Avatar
 
Join Date: Apr 2014
Posts: 2,554
Toolbar buttons need tooltips to say what they do. It's really obvious for most buttons anyway except the 2 '#' buttons. This change is very easy to add.

Clicking the '#' makes it easy to see what they do. Still, just out of respecting coding standards

Last edited by MysteryX; 27th June 2016 at 03:45.
MysteryX is offline   Reply With Quote
Old 28th June 2016, 22:45   #11  |  Link
kagetoki
Author of AVSEdit Plus
 
kagetoki's Avatar
 
Join Date: Jun 2016
Posts: 8
AVSEdit Plus 1.23

New version has been released. See the Changelog section in the first post for the complete list of changes.

Last edited by kagetoki; 6th September 2016 at 12:17.
kagetoki is offline   Reply With Quote
Old 29th June 2016, 00:44   #12  |  Link
StainlessS
HeartlessS Usurer
 
StainlessS's Avatar
 
Join Date: Dec 2009
Location: Over the rainbow
Posts: 10,228
Thank you kind sir.
Nice to see source available and also not Pascal (or Delphi maybe) as the original. [EDIT: Seems much C#]
__________________
I sometimes post sober.
StainlessS@MediaFire ::: AND/OR ::: StainlessS@SendSpace

"Some infinities are bigger than other infinities", but how many of them are infinitely bigger ???
StainlessS is offline   Reply With Quote
Old 29th June 2016, 03:14   #13  |  Link
MysteryX
Soul Architect
 
MysteryX's Avatar
 
Join Date: Apr 2014
Posts: 2,554
Now when I try to run the script, it says:
Code:
File was not found:
F:\AVSMeter\TestImage\tools\AvisynthWrapper\AvisynthWrapper.dll
Ctrl+F to Find would be an important feature to add
MysteryX is offline   Reply With Quote
Old 29th June 2016, 06:36   #14  |  Link
MysteryX
Soul Architect
 
MysteryX's Avatar
 
Join Date: Apr 2014
Posts: 2,554
+1 for running scripts in different processes. It would also greatly add to the stability as AVSEdit wouldn't crash if the script crashes.
MysteryX is offline   Reply With Quote
Old 29th June 2016, 10:51   #15  |  Link
kagetoki
Author of AVSEdit Plus
 
kagetoki's Avatar
 
Join Date: Jun 2016
Posts: 8
AVSEdit Plus 1.24

New version has been released. See the Changelog section in the first post for the complete list of changes.

Last edited by kagetoki; 6th September 2016 at 12:18.
kagetoki is offline   Reply With Quote
Old 29th June 2016, 11:25   #16  |  Link
Groucho2004
 
Join Date: Mar 2006
Location: Barcelona
Posts: 5,034
One little cosmetic thing I noticed:



The file type combo contains Polish text (on English Windows).

Otherwise - nice program!
__________________
Groucho's Avisynth Stuff

Last edited by Groucho2004; 29th June 2016 at 11:35. Reason: Removed nonsense
Groucho2004 is offline   Reply With Quote
Old 29th June 2016, 13:51   #17  |  Link
kagetoki
Author of AVSEdit Plus
 
kagetoki's Avatar
 
Join Date: Jun 2016
Posts: 8
Thank You all for the warm welcome of AVSEdit Plus, I appreciate Your fast feedback

Quote:
Originally Posted by davidhorman View Post
Best first post ever!
Thanks. You give many great ideas which some of them I hope to use in the future. I've already been thinking about low quality JPEG buffering to extend buffered frames count.

Quote:
Originally Posted by geometer View Post
Suggestions
Thank You for your suggestions. Instant-preview sliders may appear somewhen, that'd be some new quality.

Quote:
Originally Posted by MysteryX View Post
Toolbar buttons need tooltips
I hate tooltips popping up when the button images are obvious enough especially when there are only a few custom buttons. I had disabled tooltips on purpose. Yet, I reactivated them for the custom buttons.

Quote:
Originally Posted by MysteryX View Post
Now when I try to run the script, it says:
Code:
File was not found:
F:\AVSMeter\TestImage\tools\AvisynthWrapper\AvisynthWrapper.dll
Ctrl+F to Find would be an important feature to add
Thanks MysteryX for the quick response to the error. I didn't do enough testing, and made a mistake. Gonna think about Ctrl+F too.

Quote:
Originally Posted by real.finder View Post
I think if every script run in it's own process then you can even make side-by-side preview for two different AviSynth (x64 and x86) by an option to change that for every script, Regarding AvisynthWrapper, I think you can dispense it by make a tool in .exe that load AviSynth .dll directly just like avsmeter or mp_pipeline
Quote:
Originally Posted by MysteryX View Post
+1 for running scripts in different processes. It would also greatly add to the stability as AVSEdit wouldn't crash if the script crashes.
I admit to have been thinking about it since the beginning, however I hadn't felt strong about multi-process coding back then. Will rethink the approach to this matter.

Quote:
Originally Posted by Groucho2004 View Post
The file type combo contains Polish text (on English Windows).
Nice catch! Will be fixed in the next release. Why translating using resources? When I was choosing the method, I simply found it'd be faster to click through designers at first, knowing what is what.

Last edited by kagetoki; 29th June 2016 at 13:54.
kagetoki is offline   Reply With Quote
Old 29th June 2016, 14:45   #18  |  Link
MysteryX
Soul Architect
 
MysteryX's Avatar
 
Join Date: Apr 2014
Posts: 2,554
If you could run the script in one thread and store the cache in the main thread, that would solve a lot of memory issues.

In C#, there are several ways to share data between processes and Named Pipes may do what you need.
MysteryX is offline   Reply With Quote
Old 29th June 2016, 14:58   #19  |  Link
Groucho2004
 
Join Date: Mar 2006
Location: Barcelona
Posts: 5,034
Quote:
Originally Posted by MysteryX View Post
If you could run the script in one thread and store the cache in the main thread, that would solve a lot of memory issues.
What cache?
__________________
Groucho's Avisynth Stuff
Groucho2004 is offline   Reply With Quote
Old 29th June 2016, 15:02   #20  |  Link
MysteryX
Soul Architect
 
MysteryX's Avatar
 
Join Date: Apr 2014
Posts: 2,554
Didn't he say he's buffering the video to facilitate playback and that caused memory to run out?
MysteryX is offline   Reply With Quote
Reply

Tags
avisynth editor, avisynth script editor, avsedit plus, encoder gui, side by side

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 12:20.


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