andy vt's tools & blog

automating lazy

This Blog


andy vt's blog

March 2013 - Posts

  • QSTranscode


    Command line utility that can be used to transcode video files using Intel QuickSync for
    decoding/encoding and FFMPEG for container and audio support. Edit files are supported in
    EDL and XML format for editing while transcoding.

    Special thanks to Hendrik Leppkes & Eric Gur for their efforts on LAV Filters and the
    Intel QuickSync Decoder and for opening the code for these projects. They demonstrated
    many of the concepts leveraged here as well as providing source code.

    Usage: qstranscode.exe -i "InputFile" -o "OutputFile" -w width -h height [options]
    Where [options] can be:
        [-h264|-mpeg2|-jpeg] - output video codec
        [-aac|-ac3|-mp3] - output audio codec, if missing audio will be copied without transcoding
        [-f frameRate] - output video frame rate
        [-b bitRate] - encoded video bit rate (Kbits per second), valid for H.264, MPEG2 and MVC encoders
        [-u 1|4|7] - target usage: quality (1), balanced (4) or speed (7); valid for H.264, MPEG2 and MVC encoders. Default is balanced
        [-q quality] - quality parameter for JPEG encoder; in range [1,100], 100 is the best quality
        [-l numSlices] - number of slices for encoder; default value 0
        [-w] - destination picture width, if both width & height are unspecified detected intput size will be used, can be used with height or by itself where output height will be calculated
        [-h] - destination picture height, if both width & height are unspecified detected intput size will be used, can be used with width or by itself where output width will be calculated
        [-async] - depth of asynchronous pipeline. Default value 25.
        [-sw|-hw|-hw_d3d11] - SDK implementation to use: t-hw - platform-specific on default display adapter (default),t-hw_d3d11 - platform-specific via d3d11t-sw - software.
        [-join] - join session with other session(s), by default sessions are not joined
        [-priority] - use priority for join sessions. 0 - Low, 1 - Normal, 2 - High. Normal by default
        [-n ] - Number of frames to limit transcoding
        [-angle 180] - enables 180 degrees picture rotation user module before encoding
        [-opencl] - uses implementation of rotation plugin (enabled with -angle option) through Intel(R) OpenCL
        [-deinterlace] - forces VPP to deinterlace input stream, if unset interlaced video will be deinterlaced if detected
        [-ab bitRate] - encoded audio bit rate (Kbits per second), defaults to 64000
        [-ac channels] - number of audio channels to mix to, defaults to 2 use 0 to specify "auto"
        [-at tracknumber] - audio track to transcode, when unset the "best" audio track is used
        [-e EditsFile] - path to EDL or XML file with cut points
    - Initial release


  • SageDCT - 2.7.2

    Getting closer...

    - Add FfmpegProbeMultiplier setting. Multiplies default ffmpeg probesize by this number. Default is 1.
    - Add FfmpegAnalyzeMultiplier setting. Multiplies default ffmpeg max_analyze_duration by this number. Default is 1.
    - Use av_find_best_stream to select video and audio tracks to be placed in position 0 & 1 in output file.


  • FfmpegTest

    A few weeks ago I was having a realy hard time trying to figure out how to transcode audio with ffmpeg. It turned out to pretty straight forward, but I ended up crawling through ffmpeg.c to find out how to do it.

    As I want to figure out other concepts with ffmpeg I will add them to this project. Because it's not terribly useful (mostly POC) just source is available in SVN.

    Hopefully this will save others time and trouble.

@2008 andy vt
Powered by Community Server (Non-Commercial Edition), by Telligent Systems