Audio / Video conversion
FFMPEG video / audio conversion
FFMPEG is the swiss-army knife of video and audio format conversion. It succeeds when no other program can. It is free and open source. If it not yet installed on your system as part of another package (it is used by many video/audio editors), then install it:
sudo apt-get install ffmpeg
Example: To convert a saved Flash video (.flv) to an MPEG-2 format playable on a DVD, convert:
ffmpeg -i samplevideo.flv -target ntsc-dvd samplevideo.mpg
- For PAL use -target pal-dvd. For widescreen, use -target film-dvd. For other conversion tips, see this forum. (Note: Most Flash video has very low resolution, with a screen size of 360x270, for example. You may see a slight diminishment in resolution if you wish to convert it to 720x480 (which is the NTSC standard size) or other screen size. You can keep the original screen size and resolution by omitting the -target parameter.) If your original file is 16:9 widescreen and you desire a 4:3 letterbox output for playing on an overscanned TV, you may need to pad the file so that the widescreen is not compressed (see this forum):
ffmpeg -i samplevideo.flv -target ntsc-dvd -s 648x364 -padleft 36 -padright 36 -padtop 58 -padbottom 58 samplevideo.mpg
- You can also use the WinFF GUI and add the command (as above) as a "Preset," for subsequent use. For example:
- Video converter (WinFF) -> Edit -> Presets ->
- Preset Name: Letterbox -> Preset Label: 16:9 Widescreen to 4:3 Letterbox
- Preset command: -target ntsc-dvd -s 648x364 -padleft 36 -padright 36 -padtop 58 -padbottom 58
- Ouput file extension: mpg -> Category: DVD
- -> Add/Update -> Save
- To convert to MPEG-4 (mp4) files, use
ffmpeg -i samplevideo.flv outputvideo.mp4
- FFMpeg requires that multiple restricted extra codecs be installed. This can be done in a single easy step from the command-line Terminal:
sudo apt-get install ubuntu-restricted-extras
WinFF is a free, GPL-licensed open source GUI frontend for FFMPEG. Install:
sudo apt-get install winff xterm
- Menu -> Applications -> Sound & Video -> WinFF
Join video segments
Individual video segments (MPEG-2, for example) can easily be joined:
cat samplevideo1.mpg samplevideo2.mpg samplevideo3.mpg > samplevideo123.mpg
- You can then write the resulting MPEG-2 file to a DVD and play it in most DVD players.
Split a file into segments
Any file can be split into segments using the Linux command:
split -b 1440k my_big_file
which will split my_big_file into equal segments of size 1440 kb.
Save any streaming Flash video
An easy way is to install the Video Download Helper plug-in for Firefox.
Otherwise, most Flash videos download to the /tmp directory while you watch the video, creating a randomly-named video file there (such as Flashuh4G6s). When you close the webpage, this file in the /tmp directory will be erased. After the entire video has downloaded, but before you close the webpage, copy that file (such as Flashuh4G6s) to your home directory (where it will not be erased). Of course, for this to work, you must change your Flash (or Gnash) settings to allow an unlimited buffer. While watching your Flash video, right click to bring up the Flash -> Settings window. Set the Buffer to "Unlimited."
Once you have copied the file, rename it appropriately with the .flv added to the filename. You can then watch it using VLC or Mplayer.
Here is another method that involves making a symbolic link.
Save rtmp / flv streams
flvstreamer is a command-line application to dump rtmp streams. Install:
sudo apt-get install flvstreamer
Example of usage:
flvstreamer -r "rtmp://host/dir/file.flv" -o filename.flv
If you see the following the "WARNING: Download may be incomplete, try --resume!" message, try to use the --resume option:
flvstreamer -r "rtmp://host/dir/file.flv" -o filename.flv --resume
Convert Flash video audio to mp3
Once you have downloaded flash video content (.flv) from the Internet (using the Video Download Helper plug-in for Firefox, for example), the audio component can be converted to an mp3 using this command (from the command line Terminal). (This will work for any type of video file, not just Flash.)
ffmpeg -i nameofvideoclip.flv -ab 160k -ac 2 -ar 44100 -vn nameoffile.mp3
where -i indicates the input, -ab indicates the bit rate (in this example 160kb/sec), -vn means no video ouput, -ac 2 means 2 channels, -ar 44100 indicates the sampling frequency. See FFMPEG docs for more info.
2ManDVD is a GUI utility for creating DVD videos. It is the successor of ManDVD. Choose the version for your architecture and install it from the 2ManDVD website. Click on the download link and select to open it with the GDebi Package Installer (default). (If you have previously installed ManDVD you must uninstall it first.) For a usage tutorial, read this 2ManDVD guide.
- Menu -> Applications -> Sound & Video -> 2ManDVD
DeVeDe is a program to create video DVDs and CDs suitable for home players (i.e. VCD, sVCD or CVD) from any source video file that is supported by MPlayer. Choose the version for your architecture and install it from the DeVeDe website. Click on the download link and select to open it with the GDebi Package Installer (default). For a usage tutorial, read this DeVeDe guide.
- Menu -> Applications -> Sound & Video -> DeVeDe
ManDVD is a QT-based DVD authoring tool which accepts several different file types as input. Install:
sudo apt-get install mandvd xine-ui
DVD author allows you to create menus and format your MPEG-2 videos onto a DVD disc so that you can play it in a commercial DVD player. DVD Author is a command line tool, but several GUI's exist. Install:
sudo apt-get install dvdauthor
QDVDAuthor is a Qt-based GUI for DVD Author. A package for Natty does not exist, but the Maverick package can be used.
- Enable the Maverick multiverse repository temporarily by adding it to the Synaptic Package Manager Origin of Packages ("Other" software):
- Menu -> System -> Synaptic -> Settings -> Edit Origins -> Software Sources: Other Software -> Add...
deb http://us.archive.ubuntu.com/ubuntu maverick multiverse
- From the Get and Remove Software menu (of Synaptic), install the qdvdauthor package (and the qdvdauthor-common package if it is not automatically installed as a dependency).
- Once the download/installation is complete, disable the Maverick multiverse repository (to prevent conflict with other Natty packages).
- Download and install the addons:
cd /tmp wget http://qdvdauthor.sourceforge.net/data/masks.tar.bz2 -O masks.tar.bz2 wget http://qdvdauthor.sourceforge.net/data/buttons.tar.bz2 -O buttons.tar.bz2 wget http://qdvdauthor.sourceforge.net/data/alpha_trans.tar.bz2 -O alpha_trans.tar.bz2 cd /usr/share/qdvdauthor/ sudo tar -xjf /tmp/masks.tar.bz2 sudo tar -xjf /tmp/buttons.tar.bz2 sudo tar -xjf /tmp/alpha_trans.tar.bz2
- Menu -> Multimedia -> QDVDAuthor
Follow instructions in the Quick-Start Guide:
- QDVDAuthor -> Help -> Quick-Start Guide
For a tutorial on authoring DVDs, see this guide.
ToVid is a collection of tools to create a DVD from a number of different video formats. A GUI is available. Install:
sudo apt-get install tovidgui tovid
Other DVD authoring programs
There are several other DVD authoring programs. For additional information see the Ubuntu Community pages. Packages include:
- Bombono, a GTK-based, GUI DVD authoring program. Install (requires multiverse repositories to be enabled):
sudo apt-get install bombono-dvd
- KMediaFactory is a KDE-based DVD authoring frontend for dvdauthor. (The DVD folders can then be burned to disc using K3b.) Install (requires multiverse repositories to be enabled):
sudo apt-get install kmediafactory
Ripper X CD Ripper/Encoder
Ripper X is a GTK-based (i.e. Gnome) open source utility to rip CD audio tracks to OGG, MP3, or FLAC formats. It supports CDDB lookups.
sudo apt-get install ripperx
Asunder CD Ripper/Encoder
Audex CD Ripper/Encoder
Audex is a port to KDE4 of the KAudioCreator package used in KDE 3. It can create output for LAME (MP3-compliant), OGG Vorbis (oggenc), FLAC and RIFF WAVE. Install:
sudo apt-get install audex
Gnac (GNome Audio Converter)
SOX (encodes/decodes audio)
sudo apt-get install sox
Install MP3 support for SoX
- Install the MP3 libraries (if not already installed):
sudo apt-get install libmp3lame0
- For simple conversions, I have found FFMPEG to be easier, and FFMPEG already has mp3 support. Example:
ffmpeg -i audiofile.m4a -ab 128k -ac 2 -ar 44100 audiofile.mp3
- where -ab specifies the bit rate, -ac specifies the number of channels (in this example 2-channel stereo), and -ar specifies the sampling frequency.