andy vt's tools & blog

automating lazy

This Blog


andy vt's blog

  • QSTranscode -
    - Track PTS so we can make up a good one when it is missing
    - Basic support for hard subs, use -st to specify subtitle track and -hardsub to indicate that it should be burned in. Currently hardsubing is done b/w decode and VPP (i.e. pre-DI) because ffmpeg cannot resize the pixel format so it will probably only work with progressive content. Only tested with PGS.
    - Fix issues when converting soft telecined content to higher framerates
    - Keep looking for vobs when trying to detect framerate if the first (_0) isn't found
    - Only set trellis, MBBRC & ExtBRC when encoding AVC (fixes MFX_ERR_INVALID_VIDEO_PARAM error when encoding mpeg2)
    - Fix an issue where timestamps were not set when decoding with ffmpeg
    - Fix an issue where timestamps were not adjusted when using -ss parameter
    - Known issue: converting soft telecined content to higher framerates when using DX11 does not work.

  • QSTranscode -

    - Language filtering for files that contain it
    - Copy metadata for audio tracks when not transcoding if it exists in the source stream
    - Set language for audio tracks when transcoding if it exists in the source stream
    - Support seeking to an initial start point before transcoding via ss argument
    - Add rmvol argument to control rematrix volume when changing formats
    - Add aasync argument to control SWR "async" setting
    - Fix DVD language track selection
    - Resolve ISO 639-1 to ISO 639-2 language codes
    - lang arg now only works with ISO 639-2 codes
    - Examine all the VOB in a VIDEO_TS title to make a better guess about framerate
    - Include "ffmpeg.exe" shell app to convert ffmpeg args to QSTranscode args

  • QSTranscode -
    - Support creation of IIS Smooth Streaming output. Use -o pathtoutput.ismv to signal the behavior (note this feature removes the ability to create whole .ismv files). The target folder must not exist (FFmpeg will create it) and the files will be created there. For e.g. -o f:\temp\out\something.ismv will output the IIS Smooth Streaming in f:\temp\out.
    - Set mfxBitstream DecodeTimeStamp instead of TimeStamp with generated video timestamp
    - Add live555 integration for RTP/RTSP streaming. Pass the desired URL via -o. RTP requires the destination IP and port (e.g. rtp:// Port should be even. RTSP requires IP and port (e.g. rtsp://, but only port is used because the machine's IP is automatically discovered. Path can be passed optionally (e.g. rtsp://


  • Moving Sale - US Z-Wave Kit

    Selling off my Z-Wave kit.

    List is a Missing Remote.

  • QSTranscode -
    - Add benchmark mode
    - Fix an issue where native audio stream copies would error out in some containers
    - Configure MP3 encoder to use AV_SAMPLE_FMT_FLTP instead of AV_SAMPLE_FMT_S16
    - Add QP/QPI/QPP/QPB cmdline arguments for CQP encoding. Do not use QP & QPI/QPP/QPB at the same time.
    - Fix audio transcoding targeting planer formats (MP3/AC3)

    bin & source @ SourceForge.

    Please open a ticket if an issue is found.

  • DTB & DTBAddin

    I made a breaking change with DTB and didn't rev the version numbers. This is probably what is causing the addin to not work properly.

    To address this I rev'd the dll #s and rebuilt everything.

    DTB | Addin

  • QSTranscode - Now on SourceForge

    I've been meaning to migrate QSTranscode from my local SVN to a public repository for a while. Finally got around to it today.

    Binaries will be hosted on SourceForge and here, main change is that it will be much easier to get/merge source changes.

  • QSTranscode -

    I just realized that I never released this rev. The change log is small, but there were some bigger changes to the internals to add non-MSDK supported video CODECs support.
    - Check video codec profile for HW support
    - Decode video codecs that are unsupported by MSDK with FFMPEG
    - Explicit DX11 support

  • QSTranscode -
    - If "-of 23" is specified and the reported frame rate is 29.97 soft telecine mode will be enabled (video is converted at 23.976)
    - Fix a bug where folder based sources didn't signal EOF properly


  • Security is a hassle. That's the point.

    We don't put locks on our doors because it's convenient. We do it to create inconvenience when someone wants to open them, hoping the bad guys respect that - moving on to an easier target. We use other methods like alarms, cameras, etc. to encourage the selection of other, easier, targets. None of these things is a guarantee against a determined adversary and the right tools. Using these techniques is not costless to us. It's a pain to have to carry a key, remember to carry a key, enter key codes or set the alarm. Of course we do these things because the hassle it creates for us, also affects those who would otherwise prey on our stuff. It generally works because the hassle is disproportionate.

    The same thing is true about electronic doors. We use passwords and usernames to lock down accounts on the Interwebs. Making the same exchange in hassle (i.e. remembering passwords & usernames on myriad sites) there, as we do in the physical realm, hoping to realize the same disproportionate trade-off - two factor authentication doesn't change the fundamentals it just ratchets up the inconvenience realized by us and the bad guys.

    Adding to this, we have to trust that the companies that host "our" data are investing the appropriate amount of care in building locks and safes. Are they using SSL, hashing our passwords, or building social-engineering resistant recovery mechanisms? These things aren't free, they cost money (a lot of money) and time to buy, build, and implement properly - everywhere.

    At its core security is just about creating inconvenience, hopefully uneconomically viable amounts of inconvenience, and that's a hassle. For everyone. If only it was this easy:

    Posted Apr 11 2013, 05:27 AM by babgvant with no comments
    Filed under:
  • QSTranscode -
    - Add sanity checks on FFMPEG reported frame rate
    - Don't parse AAC, FLAC, or COOK audio
    - Revert to FFMPEG 1.13
    - Drop audio frames scheduled before video stream begins
    - Use the aspect ratio to calculate unspecified width/height parameters except when the AR = 1
    - Add support for soft telecined video files (unlike DVDs they will be encoded at reported framerate)


  • QSTranscode -
    - Don't try to select non-folder sources audio tracks by language
    - Don't crash when an unsupported video codec is found
    - Update to FFMPEG 1.2
    - Add -cp argument to select an encoding profile
    - Add -cl argument to select an encoding level



  • QSTranscode -
    - Add BDMV support
    - Add -rc arg to select rate control method


  • QSTranscode -
    - Better support for files without audio
    - Add VIDEO_TS support


  • QSTranscode -
    - Better handle files where the frame rate is not detected by scanning the header
    - Better support for VC-1
    - Add -detect arg to dump the file format without processing the file
    - Add support for files without audio


More Posts Next page »
@2008 andy vt
Powered by Community Server (Non-Commercial Edition), by Telligent Systems