Transmageddon 1.2 ‘All bugs must die’

Update: I had actually managed to disable the VAAPI encoding in 1.2, so I just rolled a 1.3 release which re-enabled it. Apart from that it is identical

So I finally managed to put out a new Transmageddon release today. It is primarily a bugfix release, but considering how many critical bugs I ended up fixing for this release I am actually a bit embarassed about my earlier 1.x releases. There was for instances some stupidity in my code that triggered thread safety issues, which I know hit some of my users quite badly. But there were other things not working properly either, like dropping the video stream from a file. Anyway, I know some people think that filing bugs doesn’t help, but I think I fixed every reported Transmageddon bug with this release (although not every feature request bugzilla item). So if you have issues with Transmageddon 1.2 please let me know and I will try my best to fix them. I do try to keep a policy that it is better to have limited functionality, but what is there is solid as opposed to have a lot of features that are unreliable or outright broken.

That said I couldn’t help myself so there are a few new features in this release. First of all if you have the GStreamer VAAPI plugins installed (and be sure to have the driver too) then the VAAPI GPU encoder will be used for h264 and MPEG2.

Secondly I brought back the so called ‘xvid’ codec (even though xvid isn’t really a separate codec, but a name used to refer to MPEG4 Video codec using the advanced-simple profile.).

So as screenshot blow shows, there is not a lot of UI changes since the last version, just some smaller layout and string fixes, but stability is hopefully greatly improved.
transmageddon-1.2

I am currently looking at a range of things as the next feature for Transmageddon including:

  • Batch transcoding, allowing you to create a series of transcoding jobs upfront instead of doing the transcodes one by one
  • Advanced settings panel, allowing you to choose which encoders to use for a given format, what profiles to use, turn deinterlacing on/off and so on
  • Profile generator, create new device profiles by inspecting existing files
  • Redo the UI to switch away from deprecated widgets

If you have any preference for which I should tackle first feel free to let me know in the comments and I will try to allow
popular will decide what I do first :)

P.S. I would love to have a high contrast icon for Transmageddon (HighContrast App icon guidelines) – So if there is any graphics artists out there willing to create one for me I would be duly greatful

11 thoughts on “Transmageddon 1.2 ‘All bugs must die’

  1. Nice !

    I really want to see a new ala GNOME 3 UI, with headerbar, …

    What I miss the most is a divx home theater profile, I created a custom one which seels to work on my panasonic dvd player/recorder, I could provide a patch if you are interested.

    Thanks a lot for this new release, keep up good work !

    • Hi, yeah please provide me with that profile I will be happy to include it with the next release. Hope the new version works well for you :)

  2. What about gst-omx transcoding?

    I have a radeon GPU that can use omx transcoding (via bellagio).
    Is it automatically selected by gstreamer when encodinh H264?

    • Depends. So Transmageddon chooses which encoder to use based on a concept called ‘Rank’. Every plugin got a rank and the one with the higest rank will get picked.
      If you do a ‘gst-inspect-1.0’ on the encoder, for instance ‘gst-inspect-1.0 x264enc’ the first two lines will tell you the rank of the plugin:
      Factory Details:
      Rank primary (256)

      So if the OMX plugin has a lower rank than the x264enc one it will never be choosen, unless you de-install the x264enc plugin. However what you can also do is
      change that rank inside Transmageddon. Inside the transmageddon.py file you will for instance see this code:

      # if Vaapi encoder exists, use it
      vaapiencfactory=Gst.ElementFactory.find(“vaapiencode_h264”)
      if vaapiencfactory:
      vaapiencfactory.set_rank(300)

      These lines of code checks for the existence of the vaapi plugin and sets the rank to 300 if it exists.
      You could try to the same for OMX. If it works let me know and I can add it to Transmageddon itself.

  3. Hi, I know this use case might not be typical – and that the rotate feature is primarily for phone videos- for transmageddon, but would you consider crop/scale feature requests? Combined with batch mode, would be a great way to output web video formats in different scalses – or to crop unwanted bits out of screencasts.

    In any case, nice work on the app and bugs, and congrats for the release!

    • I been thinking about it, but my challenge is that crop and scale do take Transmageddon into video editing land, which is an area I prefer leaving to PiTiVi. The rotate feature was a bit random addition and the reason I did it is because it is just a simple plugin added to the GStreamer pipeline. Scale would be simple enough, but crop would require quite complex code.

  4. If possible it would be nice to have a QT5 front-end for Transmageddon instead of GTK3 which people are finding more of a pain to work with… I myself fine QT5 alot faster and nicer…

    • Since I am the one developing Transmageddon and I don’t experience any pain I have a hard time understanding how my users would considering they are not touching the code :)

      If someone else wants to do a Qt version of Transmageddon I wouldn’t mind, but in general I do think making new versions of existing software in another toolkit a waste of time.

  5. A suggestion: Why not include the option to specify a desidered output’s size, and let transmageddon choose the best bitrate/resolution etc in order to have an output with that size?

    It’s usefull if i have a cd/dvd and i need to fit the video on this media support, and i like to mantain the best quality, fitting it in cd/dvd :)

Comments are closed.