traGtor – GUI for ffmpeg/avconv
Convert all your Audio and Videofiles in Ubuntu, Debian or Gentoo through FFmpeg without using a terminal
Die vollständige deutsche Anleitung zur aktuellsten Version gibt’s auf ubuntuusers.de im Wiki.
traGtor is a graphical user interface (GUI) for the awesome conversion tool ffmpeg and its fork avconv for the use with Linux-OS. It is written in Python and uses the GTK-Engine (standard in GNOME desktops) for displaying it’s interface. The goal of traGtor is not to bring you all of the features ffmpeg offers, but to be a fast and user friendly choice for converting a single media file into any other format. For a full ffmpeg featuring GUI please refer to the other great projects listed below. This GUI is written for not dealing too much with command lines, options and parameters and so on, and refers mostly to the real keyboard haters.
One may edit the command line sent to ffmpeg to fit all of his needs, but for those cases the more command line oriented tools (with nice GUI’s too) could be the better choice. But if you need a tool for click oriented and flawless conversion like stripping an mp3 from a youtube movie, resizing and recoding a clip to fit your mobile’s screen or just changing the format of a movie-file to be able to play it in a flash-media-player – traGor may be Mr. Right for you.
The help below ist still stuck in version 0.4 or 0.5 – a lot of new functions have been knitted in since, like multistreaming, using multiple files, volume fader, stream-copy and so on. Please be patient till I find some time to update this one.
- The philosophy of traGtor
- Download & Installation
- The interface of traGtor
- Start traGtor
- Source file
- Version history
- Other cool projects
Linux (and UBUNTU in special) is the greatest operating system available today imho. everything is possible – even things one can’t imagine today. You will never reach an end or will be jailed in your possibillities things should work. The best tools linux can give you are the ones controlled by a CLI (Command-Line-Interface), but specially for the newbies on Linux platforms these ones are overwhelming – fitted with hundreds of options and values with nothing like a simple overview what you are doing. I wouldn’t call myself a terminal-n0ob, but studying a 7k man-page everytime just for doing a simple task once or twice a month isn’t really that effective. I love the allmighty of the command line for shure, but simple tasks have to be accessed in a simple way I think. This is inspired a bit by the actual philosophy MacOS X 10.5 is going for – (okay, for apple it’s a shame what they’re selling with this version, but…) Linux could perhaps take some inspirations from apples actual grab-in-the-cream. Just visited an Apple presentation of Air Book and Leopard in boomtown Berlin – and was disappointed. Nothing really new, nothing really cool. And with a huge lack of apple-like functions for applications while dealing with the new medias. On A-day we visited a forum for pod- and vodcaster where a friendly Apple technician explained how to produce a complete podcast including publishing on web and in iTunes store in some very VERY simple steps. I was amazed how easy it could be. But for the question of how to … (imagine anything you may would edit in this process) or to … or perhaps to … there always was the default answer: “No… but you could do it with the command line”.
Thats a really cool way for my personal needs to use a computer, and especially the GNOME-desktop follows this philosophy in perfection. Some single GUI’s for the complete usability of common or everyday tasks, but if you have to configure the disabling of a touchpad while a mouse is plugged in you have to take a terminal or texteditor. Perfect.
And that’s the exact way traGtor was designed for. Most things can be set with some simple clicks, the keyboard should not be touched to much (better: never). But even so the values should be changeable by hand and the command line should be completely editable in the confirmation dialog. Huge icons and buttons and wider paddings as normal should give unexperienced users an overview of what they are doing. And a lot of information should prevent from tapping in the dark about things one could meet with
To learn how to add my DEB repository to your package management visit the following page:
If you want to download a package directly you’ll find it in the version history there.
The dependencies (ffmpeg and id3v2) should be installed without problems if you have universe repository enabled.
If you don’t know what I mean with “universe”, “dependecies” and “repository” please refer to the Synaptics section of your local UBUNTU community
The package adds a new entry in the start menu inside the multimedia section.
Note: ffmpeg is not installed with support for MP3 by default under UBUNTU! To fix this you have to enable the MEDIBUNTU repositories, where ffmpeg is available with MP3 support enabled. Check your local UBUNTU-community for information about ffmpeg, medibuntu and stuff. The german one for example is located here:
The best way of getting the full experience is to compile FFmpeg yourself. Grab the sources from subversion:
svn checkout svn://svn.ffmpeg.org/ffmpeg/trunk ffmpeg
and have a look at the english ubuntu wiki for further information.
Blafoo came up with the information that it’s better to install FFmpeg from multimedia unstable repos under Debian. Thanks for the tipp!
Here are some packages I don’t maintain:
Adrian has offered a PKGBUILD for Arch-Linux – thanks a bunch!
Darkstar has offered a script for Slackware – thanks a lot!
Deny Dias from Brasil used Darkstars script to build ready-to-use Slackware packages for the public. Thanks a lot, mate! If the link doesn’t work it may be that Deny hasn’t had the time to build the newest package by now. So please be patient or substitute the version number with one version earlier.
Everything else is available on the repository page mentioned above.
The window of traGtor is build in six sections appearing in the order you will step through a common conversion task. All sections have some short explanation and icons about their function and are made mostly self explaining. So stepping one-after-another through the tabs on top of the window leads you comfortable through the settings until you reach the big “do it now!”-button. This one shows you problems in a readable way in case some settings are incorrect, filenames are invalid and so on. A confirmation dialog and a progress bar will make the final process more understandable.
traGtor can be fired up in different ways. The most common one is to go through applications-menu and search the multimedia section where traGtor is installed in. Another way is to make a right click in nautilus and choose “open with…” on a media file. Or you can just start it in a terminal by typing “tragtor [infile] [outfile]” in the command-line. In- and outfile are optional parameters, while outfile can only be set if infile is set, too. The GNOME way is to put a starter (simply by dragging the icon from the applications-menu) in one of your panels or the avant-window-navigator. Dragging any readable media file on this starter will open traGtor with the file preselected.
The first time traGtor is started, it creates a folder inside you home directory ~/.tragtor where all settings are stored. It doesn’t contain any media data or stuff so it won’t use more than a few kByte on your harddrive.
On it’s first start traGtor tries to guess your systemwide language settings and looks for some fitting language files. If it doesn’t find any english is the default. This setting is stored for your next sessions.
On the first page everything input related is done. With the wide button on top of the text area you are able to choose a source file for conversion. Other ways are starting traGtor with an input file as parameter or drag and drop a file from nautilus or desktop to the button on top.
The button next to the file chooser switches between “single” and “multi” mode. The first one is the standard method of converting one file into another. Everytime you select a file while you’re in this mode, the last one is removed from the list so you always have a single file to work with.
While in “multi” mode you can add as many files as you like to the list of possible sources. This mode is useful for mergin files together like adding an MP3 to a JPG in order to create a simple Youtube vid. Or imagine you have recorded/edited/translated a new audio stream that you want to add instead of the existing one to your video. Or you want to create a matroska video containing different audiofiles for example.
While you add files to traGtor, every stream contained in the files will appear in two list below the sources – one fills with video streams, the other with audio streams. Every stream will display some details about itself and provides a checkbox to select or deselect this stream for the process. If there are no audio streams or none of them is selected, all settings for audio on the settings page are disabled. The same goes for video streams.
The input files are remembered – next time you’ll open traGtor without any arguments they are preselected in this dialogue.
First of all: All entries are set to a value depending on the source file directly after you selected a valid file. So if you open a video in 240×180, the size is preset to this value. Same for bit- sampling- and frame rates.
Second: If a value has changed from default, a little icon is displayed in front of the entry. A left click on this one will reset the value to it’s default. This may happen on startup on selecting a source file in case an invalid bit rate is detected. Those bit rates are detected and auto set to the next lower and valid value.
And the last common info: If no audio stream is detected for example, all audio related settings are disabled. Same counts for video. So if you wonder about some grey entries make sure your source contains the right streams and the disable buttons in the render section are unset. Toggling those buttons will pop up a message if the selected stream isn’t available.
The window is tiled in four parts, while the first one contains all video related settings, the second one the audio section, third one displays the render settings and at the bottom you will be shown some calculated values depending on your settings.
Force Codec: The first selector may be the most confusing one. Different Containers (such as .avi for example) are able to contain different video formats. So it’s possible that an avi file contains a mpeg video and another one a Cinepack codec. Same goes for audio codecs. So use this setting only if you want to force a codec in a specific container. If you are unsure and only want a specific file format as result you should set the suffix on the target page to the desired container format and leave this field untouched.
Bitrate: The bit rate is expressed as kilobit per second and means the transfer rate. A higher bit rate increases file size and quality, lower ones do the opposite. Please refer to the results spit out at the bottom area of the window to control the file size. Lower values will result in a more “pixelated” view and less detail. They are calculated using amongst this value. The up/down buttons on the right changes the value but it may also be typed in by keyboard.
Framerate: This value changes the amount of frames (single pictures in a movie) shown during one second of the clip. The up/down-buttons on the right changes the value but it may also be typed in by keyboard.
Width / Height / Ratio / fixed ratio: Depending to the setting of “fixed ratio” these three values are auto-set while changing one of them. That means you only have to turn up the height value and width is set automatically based on the ratio value. For resizing only one of width and height, “fixed ratio” has to be unset. in this mode, ratio is changed to a proper value depending on width/height settings. If you want to change the ratio, please refer to the settings in the render section for selecting if the screen should be cropped, stretched or filled with an arbitary color.
Deinterlace: toggles the use of a simple deinterlace filter. Because TV signals are completely different from digital video signals, you can choose to deinterlace the material to get rid of possible thin stripes appearing in high-motion-scenes. This should not be enabled while converting one PC format to another. What is the main difference? TV-signals are sent as only half of the full image, tiled in really thin stripes. The second half of the image is sent as the next picture as the missing lines. This one is taken really short after the first one, so the movement in the image has gone one step in time. This was made due to anti-flickering on old TV tubes. The image got much calmer. Todays PC formats only store one full image after another, so just copying interlaced material to none-interlaced format results in “choppy” edges at fast moves, where you can see the two halves of a full screen added to one.
Force Codec: This is the same as in the video-section: different container formats may contain different audio codecs. Again the example of avi: one may contain a mp3 as audio stream, another may contain raw-pcm-audio. So choose only if you know what you’re doing: forcing the use of a different audio codec as the default one.
Bitrate: Same as in video section. The bit rate specifies the overall quality of the material, but higher values increase the filesize. You can type a custom value instead of selecting from the drop down, but it may not fit the requirements of the codec afterwards. Lower bit rates will result in less high and low frequencies and the lower the bitrate is the more artefacts are added to the signal. They are heard as a bit “birdy” noise.
Samplerate: The sample rate is the frequency at which samples are taken from the original analog signal. Higher sample rates mean higher quality but bigger file size. They are expressed in kilo Hertz which means a thousand ticks per second. 44,1 kHz is the level of CD-quality. Do not increase to get a better sounding audio file, missing information can’t be added afterwards, only use this one if you have to have a specific audio format in your file. Or decrease the value to get a lower file size. Changing from 44 kHz to 22 kHz means the file size is halved.
Audiochannels: This value sets the amount of audio channels inside the file. “1” means you get a mono audio file, “2” leads to stereo output. The file size is reduced about the half when converting a stereo- to a mono file. Switching from mono to stereo will not bring you any stereophonic experience back to your material, it will acoustically remain mono. Only use it when you need a stereo format.
Start Offset: This is the time in seconds your target file will begin in comparison to the source file. The real-time is displayed in the second line of the label as HH:MM:SS.XXX where XXX means milliseconds.
Duration: This value in seconds describes the final length of your media file. Format of the label is like start-offset HH:MM:SS.XXX where XXX means milliseconds. Duration and Offset are depending on each other, so increasing the offset will decrease the duration automatically.
Scaling: This drop-down lets you select the method for resizing your video clip if you have changed the ratio.
- Pad adds areas in the specified color to the original to fit the new ratio. So nothing is taken away from your material.
- Crop cuts overhanging pixels from your source to fit the selected ratio. So two sides of your source will get cropped depending on the ratio-change.
- Resize does no cropping or adding at all but distorts your video material to fit the new width and height.
Padding Color: here you can choose the color to fill the added ares with in case you changed the ratio an selected Pad from the drop-down above.
Disable Video: This button disables the video stream in the target file. With this option you can extract an audio file from a youtube-movie for example. If you choose ex. MP3 for output, it’s not really necessary to disable video, because ffmpeg can’t export video to MP3 anyway. But deselecting this one will show you the correct file size of your target at the bottom of the window. If video is disabled by default and can’t be enabled your input file doesn’t contain any decodeable video streams.
Disable Audio: The same as disable video goes for the audio stream: you can prevent ffmpeg from adding an audio stream to your target if you only want to have the video-part of the source. Being a less common function it may be usable to decrease file size in some cases.
2-Pass: Some codecs are able to encode your video data in two passes rather than a single encoding pass. The results are much better but the time the process takes will increase. You have to know what you’re doing using this setting. If enabled, traGtor will execute both passes without asking directly one after another, the current pass is shown in the window title. Both processes are visualized in the process window which will close and reopen between both passes. Do not trust the progress bar – especially while first pass!
Additional Options: Here you can add your own options not accessible via the GUI. The button in front of the text entry wipes out all options. The button on the right of the entry opens a window displaying the help files of FFmpeg.
This section shows the final values of length and file size. This information may differ from the real results because bit rate for example is a variable value in some cases and may differ during conversion process. If you convert ex. flv to mp3 and do not enable the “disable video” switch, the result shown is including the video size anyway. Same goes for audio here. It doesn’t take care of header-data, too – so only consider it as a rough estimate.
Here you can save and restore some personal presets of all settings on this page. Usage is kept as simple as can – select a preset from the drop down an hit “open” to load a setup. If the toggle for the container format is active, the container in the output section is set, too. The state of this toggle is restored everytime traGtor is started. To delete a preset select it from the list (or type it’s name in the textfield) and click “delete”. A confirmation rises up to prove your decision. Saving presets: make your settings, enter a (new) name in the textentry and hit the “save” button. If the name exists you’ll be asked if you want to override the specified preset.
To write the tags through ffmpeg toggle the “activate”-switch for enabling this feature. Due to the lacking implementation it is disabled by default.
What does work:
An id3v2 wrapper is implemented basically. At this time it is only able to read ID3v1-Tags from the source file at selection. Found tags are inserted in the related fields. If nothing is found, filename and program names as comment is used. The values are written through ffmpeg till now which is not satisfying.
So a complete ID3-support is planned for the next version. It will be able to read ID3v1 and ID3v2tags from source and generate the require fields. Those tags can be edited and written to the target file automatically with the tool “id3v2″ after ffmpeg has finished processing.
The goal is that one don’t has to deal with those meta tags at all if it’s not really necessary.
Here you can select the file to encode to. Note that it is set to the same as input after you changed the input file selection. This is done due to the common task traGtor is written to use for: Create a mediafile from source with the same name in the same folder with changed fileformat only.
To change the path of the targetfile simply click around in the folder selector. The selected path is show on top in front of the filename.
To change the filename you have to use the keyboard 😉 if you only want to convert to another format keeping your source name you can easily choose the desired suffix from the drop down list on the top right. Selecting any format disables the suffix in filename, so you are unable to edit the suffix, if drop down isn’t set to the first option “by filename”. If the first entry is selected, you can edit the suffix to your needs. keep in mind that a known suffix is needed for ffmpeg to work properly.
The button to start the process will act as a final check for your settings and is disabled and enabled automatically depending on some tests with your settings. Also it contains some useful information about the value that seems invalid. If a file will be overwritten it will warn you about it.
Confirmation and command line
If everything seems okay you can click the big button to get a useful confirmation dialog. This popup shows you some basic information of what will be done and has the option to view and edit the command line for running ffmpeg. Change it only if you know what you’re doing. At this point I will give you once more the hint that complicated conversions aren’t the things traGtor was build for. Please refer to the other conversion related projects for GNOME and UBUNTU listed at the bottom of the page.
If you’re happy with your selections, you can click on the proceed button located bottom right. To cancel and edit your settings you can click on the left button.
Activating the Process pops up a status bar showing the overall process and the information generated by ffmpeg while converting. You can interrupt the conversion by clicking on cancel in the status window.
While converting video material you should watch the “quantizer” value. It is a value between 1 and 32, while 1 means “best” and 32 means “failed”. The quantizer indicates whether ffmpeg could hold your chosen bitrate for the videostream, or not. If this value is always tumbling near the roof it indicates that your desired quality and filesize won’t fit your needs, because ffmpeg couldn’t pack enough data in the frames to get a good result and the size is above your desired bitrate also. Click “cancel” and have a look at your settings again.
After ffmpeg has finished traGtor will show up the results in the text area. if encoding of the material failed, this is the place to look for some errors or stuff.
Reload: If a valid file was selected for source, you can reload all settings with one click. This function is for unexperienced users who got stuck in many changes on format page. One click resets formats and meta entries to the default ones set by traGtor at source selection.
Reset: This button resets the whole application to default. If no source or target files were set as option on startup, everything is reset to application values. Ex. source and target folder /home/user etc.
Language: This selector sets all labels, drop downs and values to the selected language. Available atm: german and english. (Translation is easy! look at the lang_*.py files in /usr/share/tragtor)
This setting is remembered for all further usage of traGtor.
It’s a nice base for further experiments with this type of GUI. Some points are planned – I just need some time to build…
- Complete ID3 support (read and write ID3v1 and ID3v2 tags for automated meta information)
Configuration file to save settings like preferred source and target folders, language and stuff(realized in 0.5.0) Youtube support for grabbing and converting in one simple step(unneccessary due to hundreds of easier to use applications for grabbing youtube-vids) Preview button for source file(realized in 0.7.5) Open target folder button(cancelled due to usability and less sense)
- multipass option for better results in some formats (realized in 0.4.2)
aspect ratio selector to prevent disorted output in some formats(realized in 0.8.17)
Here you find all versions of traGtor for Download if a newer one doesn’t work for you.
- Youichi: This guy did a lot of testing with traGtor and was always a helping hand in finding misunderstandings between FFmpeg and traGtor. He inspired traGtor with some cool feature requests, too
- Martin Pavlík: contributed the czech language file
- Fabio “Regulus” Boccaletti: contributed the italian language file
- Bersil: contributed the spanish language file
- Scott “DasFox”: He reworked the english language file and fixed my bloody english tongue.
- 杜宏羽 (Dong Feng Wei Xiao): contributed the chinese language file
- VaGNaroK: contributed the brazilian language file
- Florian Bigard: contributed the french language file
It seems that GUI’s for ffmpeg have had a boom for the last weeks. At the time I needed one, nothing was available it seemed. Now after finishing my one and making another check in google, they are available like pharmacy spam..
This one is a really cool idea. It’s a GUI for editing and saving different command lines for ffmpeg and mencoder with some special (and well documented) commands. It comes with a huge amount of presets in different categories, so you can start directly with a lot of common stuff and some really freaky setups. The GUI takes a bit getting used to, specially for unexperienced users, but gives one a great tool to learn more about ffmpeg an mencoder commands. Batch processing is another cool feature, though. But installation of this thing is afaik a bit more terminal oriented. Check it out if traGtor doesn’t fit your needs.
This programm seems to be another handy thing to encode media files into other formats. Haven’t tested it, but the screenshots look good. Also capable of batch processing and other cool things.
Another cool coversion tool but it didn’t fit my needs for a click-through app.
haven’t tried it. It’s based on tcl/tk.