a Versed Generalist Transcoder
C Assembly C++ Makefile Objective-C Shell
Latest commit e8f9f88 Apr 13, 2015 @concalma updated CHANGELOG
Permalink
Failed to load latest commit information.
compat compat/avisynth/windowsPorts/windows2linux: Add () to protect macro a… Feb 18, 2015
doc merge with ffmpeg master n2.6.1 Apr 9, 2015
libavcodec eac3dec: fix scaling Mar 14, 2015
libavdevice fix spelling errors Mar 6, 2015
libavfilter avfilter/palettegen: make sure at least one frame was sent to the filter Mar 15, 2015
libavformat merge with ffmpeg master n2.6.1 Apr 9, 2015
libavresample Merge commit '12655c48049f9a52e5504bde90fe738862b0ff08' Feb 21, 2015
libavutil mips/asmdefs: use _ABI64 as defined by gcc Mar 13, 2015
libpostproc postproc: mark alloc/free context functions as av_cold Feb 27, 2015
libswresample swresample: Add prefix to soxr_resampler Feb 27, 2015
libswscale swscale: Add prefix to updateMMXDitherTables() Feb 27, 2015
presets presets: remove moldering iPod presets Jun 18, 2014
tests avutil/opt: Do not print inf in selftest Mar 5, 2015
tools tools/graph2dot: Check for av_malloc() failure Feb 22, 2015
.gitattributes Merged updates from ffmpeg release 2.5.4 Feb 28, 2015
.gitignore Merge commit '11e05533170485b593974cf90916425a0188e7bd' Feb 2, 2015
CHANGELOG updated CHANGELOG Apr 13, 2015
COPYING.GPLv2 Rename COPYING.GPL --> COPYING.GPLv2 and COPYING.LGPL --> COPYING.LGP… Jun 5, 2009
COPYING.GPLv3 Add configure option to upgrade (L)GPL to version 3. Jun 5, 2009
COPYING.LGPLv2.1 cosmetics: Delete empty lines at end of file. Feb 9, 2012
COPYING.LGPLv3 Add configure option to upgrade (L)GPL to version 3. Jun 5, 2009
CREDITS CREDITS: redirect to Git log, remove current outdated content Jan 31, 2013
Changelog Changelog: update for 2.6.1 Mar 16, 2015
INSTALL.md INSTALL: add markdown syntax May 28, 2014
LICENSE.md LICENSE.md: Formatting updates Feb 12, 2015
MAINTAINERS Add 2.6 to maintained releases Mar 6, 2015
Makefile Merged updates from ffmpeg release 2.5.4 Feb 28, 2015
README.md fixed bug that would disable interaction in non server mode. updated … Mar 12, 2015
RELEASE update for 2.6.1 Mar 16, 2015
RELEASE_NOTES RELEASE_NOTES: small grammar fixes and improvements Mar 7, 2015
VERSION fix on configure. compile fix on vgtmpe. bumped up version Apr 9, 2015
VGTMPEG_CHANGELOG added VGTMPEG CHANGELOG and fixed Makefile for hwacel compile Nov 27, 2014
ar.sh adding new types for json output Jan 20, 2015
arch.mak configure, mips: remove MIPS32R2, merging it with MIPSFPU Mar 6, 2015
cmdutils.c merge with ffmpeg master n2.6.1 Apr 9, 2015
cmdutils.h opts: add list device sources/sinks options Oct 25, 2014
cmdutils_common_opts.h opts: add list device sources/sinks options Oct 25, 2014
cmdutils_opencl.c cmdutils_opencl: Use av_malloc_array() Jul 1, 2014
common.mak Makefile: improve DBG option for asm Feb 21, 2015
configure fix on configure. compile fix on vgtmpe. bumped up version Apr 9, 2015
ffmpeg.c ffmpeg: comment mpeg4 hack Mar 3, 2015
ffmpeg.h merge with ffmpeg master n2.6.1 Apr 9, 2015
ffmpeg_dxva2.c ffmpeg_dxva2: add hevc support Jan 27, 2015
ffmpeg_filter.c ffmpeg: fix accurate seeking with -copyts Nov 24, 2014
ffmpeg_opt.c merge with ffmpeg master n2.6.1 Apr 9, 2015
ffmpeg_vda.c Merge commit '1839fafa951308237c4672ffd9a94f927b26eac7' May 12, 2014
ffmpeg_vdpau.c Merge commit '1f9237f2ac46dfbed1bfa1f4f0f1314c2a1d62ec' Dec 27, 2014
ffplay.c ffplay: Switch to show waves mode if allocation/init of RDFT fails Mar 4, 2015
ffprobe.c ffprobe: Change string_validation to int, its accessed via AVOption a… Mar 2, 2015
ffserver.c ffserver: fix wrong indentation Feb 15, 2015
ffserver_config.c ffserver_config: reflow add_codec() Dec 9, 2014
ffserver_config.h ffserver: dont leak child arguments Nov 26, 2014
library.mak x86/doc/Makefile: DBG=1 to preprocess external asm Feb 17, 2015
nldump_format.h adding new types for json output Jan 20, 2015
nlffmsg.h adding new types for json output Jan 20, 2015
nlinput.h adding new types for json output Jan 20, 2015
nljsonmsg.h adding new types for json output Jan 20, 2015
nlreport.h adding new types for json output Jan 20, 2015
version.sh fixing reporting of ffmpeg version on vgtmpeg banner Mar 13, 2015
vgtmpeg.c fix on configure. compile fix on vgtmpe. bumped up version Apr 9, 2015
vgtmpeg.h adding new types for json output Jan 20, 2015
vgtmpeg_opts.h merged vgtmpeg with ffmpeg master Dec 4, 2011
vgtmpeg_support.c fixing xml escaping Feb 21, 2015

README.md

About

vgtmpeg is a ffmpeg drop-in replacement that adds a number of additional features to the stock ffmpeg and libavformat/libavcodec libraries:

  • DVD reading capability through the addition of a new dvdurl protocol using libdvdread-vgtmpeg
  • Bluray reading capability through the use of libbluray
  • Rich metadata availability of DVD/Bluray information into transcoded streams: chapters,language info,subtitles are all passed on to the transcoded content if the output supports it
  • pipe control and reporting vgtmpeg ands a control interface to ffmpeg to start, stop, transcode as well as retrieve extra progress information. For example vgtmpeg can output thumbnails of the ongoing transcode through the pipe. This offers simple richer integration control of vgtmpeg into other applications
  • multiplatform releases Releases of vgtmpeg include precompiled binaries for major platforms Windows, OS X, Linux both in 32 and 64bit with a vast array of built-in formats and codecs Download them here

Download binaries

Precompiled binaries for multiple platforms ( Windows 32/64, MacOS and Linux ) at vgtmpeg home page

See it action

vgtmpeg is the underlying transcoding engine in all the native transcoding cloud apps available at godromo.com

Author


Compiling

vgtmpeg uses most of the standard libraries like libx264 and libx265 as ffmpeg does, so building the source tree is mostly similar to that of ffmpeg.

For DVD support though, vgtmpeg uses libdvdread-vgtmpeg and it must be installed in your build system.

DVD/Bluray 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.

License

vgtmpeg is available under the terms of the GNU General Public License, Version 2. Please note that under the GPL, there is absolutely no warranty of any kind, to the extent permitted by the law.