A
Avery Lee (VirtualDub)
virtualdub.org · Personal blog · on HN since 2009
Avery Lee is the author of VirtualDub, a video processing tool, and of the Altirra Atari emulator; the site hosts both.
What HN saysCommenters remember VirtualDub fondly, praising its direct-stream processing and use with the Deshaker plugin for video stabilization, and note its roots in the anime community.
28HN people shared it
16linked it in comments
16stories submitted
141story points
4 years agolast shared
2009people per year2026
Most-shared posts
- 1Anyone remember the video editor VirtualDub?7 people · 2 points · first shared 2011 · 1 comments on HN
- 2Optimizing for the Intel Atom CPU2 people · 35 points · first shared 2009 · 1 comments on HN
- 3On reference counting and garbage collection2 people · 2 points · first shared 2011 · discussion on HN
- 4Metro style apps and the Win32 API2 people · 2 points · first shared 2012 · discussion on HN
- 5Coding style and undoing indentation hell1 people · 76 points · first shared 2012 · 76 comments on HN
- 6The dreaded "application configuration is incorrect" error1 people · 12 points · first shared 2010 · 9 comments on HN
- 7Drawing text in a 3D program1 people · 4 points · first shared 2012 · discussion on HN
- 8Optimizing for the Intel Atom CPU, part 21 people · 2 points · first shared 2009 · discussion on HN
- 9And I thought my implementation of Deflate was bad (.NET 4.0)1 people · 1 points · first shared 2011 · discussion on HN
- 10Sleep() is not a synchronization primitive1 people · 1 points · first shared 2017 · discussion on HN
- 11VC11 will default to SSE2 code generation and more1 people · 1 points · first shared 2011 · discussion on HN
- 12Implementing win32 per-monitor DPI awareness in Windows 8.11 people · 1 points · first shared 2013 · discussion on HN
- 13Why System.Windows.Forms.ListView sucks and how to fix it1 people · 1 points · first shared 2009 · discussion on HN
- 14Bloat (2011)1 people · 1 points · first shared 2017 · discussion on HN
- 15Entry1 people · first shared 2011
What HN people wrote when they linked it
georgieporgie · 2011-03-16
You can play with image stabilization using VirtualDub and the Deshaker plugin. It's a PITA, though, so YouTube integration is great.
http://www.virtualdub.org/
http://www.guthspot.se/video/deshaker.htm
Thaxll · 2020-10-20
Wow seeing Virtualdub bring back a lot of memories!
http://www.virtualdub.org/
ehsankia · 2020-04-04
I usually do it with VirtualDub [0] + deshaker [1]
Not command line though.
[0] http://www.virtualdub.org/
[1] https://www.guthspot.se/video/deshaker.htm
Maxious · 2019-06-30
VirtualDub is another amazing tool built out of the anime community http://www.virtualdub.org/virtualdub_history.html
thenomad · 2015-01-30
VirtualDub - video manipulation software that does some things better than 99% of its competitors (including direct-stream processing, which for some reason most commercial editing suites don't). Not a replacement for Avid / FCX / Premiere / whatever by any means, but it does some stuff better than anything else.
http://www.virtualdub.org/
Also, grep.
stinos · 2013-09-26
Have a look at VirtualDUB (http://virtualdub.org/).Should do everything you want and more.
t0 · 2013-07-28
Virtualdub is a personal favorite. http://www.virtualdub.org/docs/vdscript.txt
I suppose FFMPEG could work too.
syphilis2 · 2016-06-29
These are software I love to use. I don't assume they're the best, and if you have any similar suggestions I'd love to hear them. There's a heavy Windows OS slant to this list.
SunVox - Sequencer and tracker. The user interface is a big evolution from more traditional trackers because of how visual it is. This reduces the barrier to getting started, but it also make using the program simply more enjoyable.
http://www.warmplace.ru/soft/sunvox/
VirtualDub - Video processing. This is my go-to tool for simple video editing. It remains the quickest and easiest way I know of to make animated GIFs from video.
http://www.virtualdub.org/
HxD - Hex editor. Handles GB scale files very well.
https://mh-nexus.de/en/hxd/
Foxit Reader - PDF reader. There's some conflict in the past with bundling adware installers with the software, I hope that practice is long gone. This is the most full feature Adobe Reader alternative I know of.
https://www.foxitsoftware.com/
Daemon Tools Lite - Virtual disc drive manager. Unfortunately limits to 4 drives.
https://www.daemon-tools.cc/products/dtLite
Space Sniffer - Disc space visualization. The clean look and intuitive visual interface is why I prefer this over WinDirStat.
http://www.uderzo.it/main_products/space_sniffer/index.html
Other software I use, but which I expect is already well known: 7-Zip, Audacity, Blender, GIMP, ImgBurn, Inkscape, IntelliJ IDEA, Kodi, Libre Office, Notepad++, PuTTY, Unreal Engine 4, VLC
userbinator · 2014-09-19
As someone who reverse-engineers and has seen a lot of compiler-generated code as a result, I'm even more convinced than before that the whole "compilers are better at generating code" mantra is a myth. The only thing they're good at in practice is generating lots of code quickly; there are instances when the output of a compiler manages to impress me (Intel's is particularly good at that), but they're still quite isolated instances and the rest of the code continues to have this "compiler-generated" look to it, i.e. much could be improved.
It is certainly not hard to beat a compiler on speed or size (often both), and I believe that the only ones who can't are the ones who learnt Asm the stupid way that compilers generate code and not how the machine really works. E.g. it's commonly taught that x86 has 6 general-purpose registers (reserving eBP/eSP), but in reality eBP-based stack frames and the use of the stack is nothing more than a compiler-generated artificial construct. Even eSP can be used for something else if you really need one more register[1]!
Compilers follow the rules of their source language and impose strict, often unnecessary conventions on their output. Asm follows the rules of the machine, which are far richer and more expressive than the abstracted simplicity of any HLL. That being said, they have improved significantly over the years - the days when compilers would push/pop every register on entry/exit to a function regardless of whether it was used (or…
mwcampbell · 2014-09-07
(This is a reply to this whole sub-thread, not just this comment.)
Most well-known approaches to cross-platform mobile app development have left me dissatisfied. The root problem is the required bridging overhead between the cross-platform code and the platform's native runtime (the ObjC runtime on iOS; Dalvik/ART on Android). Using C/C++ for the cross-platform code is the lowest overhead approach on iOS, but it's suboptimal on Android.
So why does this matter in practice? A few reasons:
Multiple coexisting memory management systems: In general, my understanding is that a garbage collector behaves best when all memory, or very near all of it, is under the collector's control. My fuzzy intuition is that the least optimal situation is two coexisting garbage collectors, e.g. Xamarin.Android or a JavaScript engine other than Rhino on Android. But mixing a garbage collector with reference counting or manual memory management, such as with native code on Android or RoboVM or Xamarin.iOS, also seems to be suboptimal. If a significant amount of memory is allocated outside the scope of the GC, then the GC doesn't have as much information with which to intelligently decide when and how much to collect. Also, in hybrid systems like the ones being discussed here, objects under the GC's control sometimes have to be pinned so they can be accessed by the outside code; this interferes with copying or compacting collectors.
More…
matt_d · 2023-03-25
It could be fun to compare with Action!--it's been known to compile a reasonably good 6502 assembly (considerably better than other compiled languages for that platform), https://en.wikipedia.org/wiki/Action!_(programming_language),
It has been released as open-source together with the binaries, https://atariwiki.org/wiki/Wiki.jsp?page=Action
You should be able to run these using an Atari 8-bit (XL/XE model) emulator, like Atari800, https://github.com/atari800/atari800/releases or Altirra, https://www.virtualdub.org/altirra.html
prox · 2021-11-21
I use to enjoy the blog of Virtual Dub, the author made this tiny video editor and talked frequently how things could be optimized without library dependencies. https://www.virtualdub.org/blog2/archive.html
unwiredben · 2021-08-13
Atari shipped a final Rev C basic both in the ROMs for the XE computers and on cartridges for people that requested it.
There were several derivations. The original authors of Atari Basic produced BASIC XL and BASIC XE on cartridge, each with additional language features. There's also the really cool Altirra BASIC (see https://virtualdub.org/downloads/Altirra%20BASIC%20Reference%20Manual.… which ships with the Altirra emulator as a tokenized-code compatible, but faster and more featureful, implementation. A version of that was included in the ROM for the new 576NUC+ all-in-one Atari-compatible.
tjalfi · 2020-01-25
Others have mentioned most of the pitfalls with the suggested approach.
Another potential issue is that the floating point rounding mode can be modified by shared libraries or plugins.
[0] has examples of application crashes caused by a change in the rounding mode.
[0] http://www.virtualdub.org/blog/pivot/entry.php?id=53
antonp · 2012-09-08
There are some neat tricks you can do with the 2 stereo signals. Linear combinatios of L/R channels is the easiest, but doesn't work well with modern mixes where bass/snare/voice is centered and other instruments are rarely ever hard-panned (you can get really cool results on some older albums like Rubber Soul - there's a lot of hard panning going on there)
There are of cuorse more advanced techniques for isolation of centered tracks and vocals in particular see http://virtualdub.org/blog/pivot/entry.php?id=102 and http://dsp.stackexchange.com/questions/1499/how-to-extract-vocal-part-…
edandersen · 2011-06-06
>> This is all down to the fact that RDP came before DWM. If it was the other way around we'd be throwing surfaces down the wire which would be nice.
The joke here is that on Vista to Vista RDP connections (.NET 3.0), WPF was properly remoted over the wire and rendered on the client machine instead of bitmaps being sent. This was removed in .NET 3.5. (http://www.virtualdub.org/blog/pivot/entry.php?id=216)