- 1 News
- 2 What is vgtmpeg?
- 3 Try online
- 4 Using
- 5 Supported formats
- 6 vgtmpeg vs ffmpeg
- 7 Download
- 8 Changelog
- 9 DVD/Bluray support
- 10 Obtaining source
- 11 Filing bugs
I was playing today with our beloved VirtualDub when I realized that after all these years it still mainly supports mostly just AVI’s for input. This is probably a design decision from Avery Lee to keep things simple.
For a video editor like VirtualDub where precise frame access is crucial, all file formats that use inter frame compression (most of them these days) are sort of a pain point. The editor has to gain precise access to random frames in the file, whose intra/IDR/GOP frame structure is not known a priori. The input file plugin has to go through a bunch of hoops to provide this functionality many times with unexpected or undesirable results.
For this reason sometimes is not a bad idea to simply convert your media assets to some sort of uncompressed intra frame compressed media file, like an AVI file with uncompressed YUV/RGB video and uncompressed audio. Fear not, I just tinkered the AVI Converter by adding a new preset that does just that. It will take any media input including DVD and BluRay folders and output a big fat uncompressed AVI file. Beware the files will be huge specially if you are dealing with HD video. To use it just select the ‘to AVI Uncompressed ‘ preset. Also because gMT is running at native speeds is wicked fast and a great way to give your new SSD drive a great workout.
Here is screenshot of Windows 8.1 task manager running on a Samsung SSD 840, 317MB/s, not too shabby for a web app.
Use the AVI Converter/Decompressor here
Download VirtualDub here
What is vgtmpeg?
vgtmpeg is a ffmpeg/avconv clone that adds a number of additional features to the stock ffmpeg and libavformat/libavcodec libraries augmenting its functionality. One of the most important ones being support for Bluray and DVD input support.
You don’t have to download vgtmpeg to use it. You can try and use vgtmpeg from your web browser using goDromo Media Transcoder, a native cloud app that uses vgtmpeg as its backend. Try some ready-to-use gMT profiles right here.
Although gMT is the easiest way to use vgtmpeg, if you are comfortable with using programs through the command line you can just download vgtmpeg separately. vgtmpeg is a superset of ffmpeg/avconv, therefore if you are used to them you’ll feel at home because the full command line API available with ffmpeg is also available with vgtmpeg. You can also use the standalone vgtmpeg version to be integrated with other projects.
vgtmpeg comes precompiled with a big variety of mux formats and audio and video codecs. For an exhaustive list of what formats are supported visit the gMT format page
vgtmpeg vs ffmpeg
We love ffmpeg for its versatility and wealth of contributor support. vgtmpeg doesn’t try to be a substitute to ffmpeg. Rather, we try to have vgtmpeg to be a superset ffmpeg distribution with added features. Hopefully some of the features that vgtmpeg introduces will make into the master ffmpeg repository.
We offer precompiled binaries of vgtmpeg for an assortment of different platforms. We have spent extra care building the following binaries to make sure that all assembly optimizations and multi-threaded processing are enabled where available. 64bit versions are usually faster than 32bit builds, so we recommend you use those if you are running a 64 bit system.
- fixes a bug that would end the transcode quickly if not using server mode (i.e. using command line)
- fixed report duration from DVD parsing. some DVDs were reporting wrong length
- libdvdread messages are now only seen when set logging to verbose
- fix important issue with some DVDs where a whole cell would be skipped
- DVD urls are not reported with / slashes
- speed improvements when opening DVDs with lots of titles (30+)
- libvpx bumped up to 1.0.0
- bluray now much richer with chapters, language on audio tracks
- Synchronized with ffmpeg/libavformat 0.10. All new filters and formats are supported
- Updated libvpx to version 1.0. This seems to be the initial release of libvpx supporting faster encoding for vp8.
- Added experimental bluray support. Bluray support can be used through the bluray url protocol. bd://
- Added xvid 1.3.2 encoder as a supported format. Xvid is supported in multithread mode in all platforms and architectures.
- Fixed character encoding issue between DVD audio languages and ffmpeg metadata. Now when converting to mp4 or other output muxes supporting language metadata, the language metadata is fully preserved from the DVD source.
- Fixed bug that was reporting incorrent duration of streams and DVD titles
- Initial public release with DVD support
vgtmpeg adds support for DVDs and BD in its version of libavformat. DVD/BD support is implemented by adding a new ‘dvdurl’ protocol that can parse DVD folders, DVD ISO files, DVD devices and more. The ‘bdurl’ protocol can parse bluray folders. All the regular features available in vgtmpeg/ffmpeg are still available when a dvd url or a bd url is used. From direct stream copy to all sorts of filtering and transcoding possibilities.
Using DVDs with vgtmpeg
Strictly one can open a DVD folder, ISO file.. by using a DVD url like this:
> vgtmpeg -i dvd://path_to_dvd outfile
When using the above format vgtmpeg will inspect the ‘path_to_dvd’ location looking for a DVD image in the form of a ISO file, or a DVD folder. ‘path_to_dvd’ can also be any of the individual files inside the VIDEO_TS folder, ‘vgtmpeg’ will figure out the rest.
By default, the title with the longest duration is opened when using the above syntax. If you want to rely on this behavior, the use of the dvd:// is not required and just specifying the path will suffice. One can however, ask for specific titles to be used as the input using a url query var:
> vgtmpeg -i dvd://path_to_dvd?title=5 outfile
This will open the title 5 (if available) of the DVD. If you want to know what is available on a DVD simply type:
> vgtmpeg -i dvd://path_to_dvd
Using Bluray folders with vgtmpeg
Strictly one can open a Bluray folder,by using a BD url like this:
> vgtmpeg -i bd://path_to_bd outfile
When using the above format vgtmpeg will inspect the ‘path_to_bd’ location looking for a Bluray folder image. The folder will be inspected for a bluray like structure and analyzed looking for titles and video and audio streams.
By default, the title with the longest duration is opened when using the above syntax. If you want to rely on this behavior, the use of the bd:// is not required and just specifying the path will suffice. One can however, ask for specific titles to be used as the input using a url query var:
> vgtmpeg -i bd://path_to_bd?title=5 outfile
This will open the title 5 (if available) of the BD. If you want to know what is available on a BD simply type:
> vgtmpeg -i bd://path_to_bd
DVD and Bluray paths
The path to use for the -i option is flexible. You can point to an IFO file, a VIDEO_TS folder, the root of a VIDEO_TS folder or an ISO file containing a VIDEO_TS folder. In any of the cases, vgtmpeg will try to figure out the root file of the DVD from this information and if successful will open the DVD and load the information in the IFO files.
At the moment only Bluray folders are supported and you should point to the root of the Bluray folder.
DVD/BD titles and vgtmpeg
The way vgtmpeg handles DVD/BD titles is by mapping every DVD/BD title as if it were a separate input file. You can image it as configuring the command line with an input switch ‘-i’ for every tittle available on the DVD/BD image. All DVD/BD tittles are opened simultaneously and available for reading and conversion. This makes it possible for you to use all the features available on vgtmpeg/ffmpeg like stream mapping and the like. For example, you could conceivably mix streams from different titles using vgtmpeg’s stream mapping.
If you find issues with vgtmpeg please go ahead a file a bug in our GitHub issue tracker.