Help:Converting video

From Wikimedia Commons, the free media repository
Jump to: navigation, search

Shortcut: Help:CV

Video conversion help in other languages:

català | Deutsch | English | español | français | galego | italiano | 日本語 | polski | português | +/−

See also: Commons:Video
For help playing video, see Commons:Media help.

Wikimedia accepts only video files in the WebM and Ogg Theora formats. To upload videos to Commons, you'll probably have to convert the video file into the WebM or Theora format. On this page, you'll find a collection of tools and methods for doing so.

Contents

General conversion tips [edit]

  • When uploading a large video, TimedMediaHandler will convert it into different versions, so you don’t need to provide separate versions for people on slow Internet connection. It is strongly recommended to upload your video with the best quality (bit rate and frame size) possible. If your video is very long, try not to exceed the maximum file size.
  • Consider removing the audio on the video if it does not improve the video. This may also improve the video if the sound is distracting (e.g. if there's strong wind or loud background noise)
  • WebM is the preferred format, but please do not convert from Ogg Theora unnecessarily, as it is also supported.
  • Note, some of the tools listed here for converting to Theora output the converted file with a .ogg filename extension. Rename the file to have a .ogv extension, as this is now the preferred extension.[1]

Multi-platform solutions [edit]

tleft tleft tleft tleft &c.

See also List of Theora software encoders from Xiph.org

Changing format of video [edit]

Miro Video Converter [edit]

Miro: choose WebM HD for high quality.

The free Miro Video Converter is available for GNU/Linux (as source code), Windows and Mac and features a simple drag and drop interface. This is the recommended tool to convert video for users who don't want to fiddle with conversion parameters. Keep in mind to always choose WebM HD for high quality files. (The Video will get downscaled to 720 Pixel if the height is greater than 720 Pixel but will not get upscaled to 720 Pixel HD resolution though!)

Firefogg [edit]

Firefogg is a cross platform browser extension for Firefox which is supported by UploadWizard to automatically convert and upload almost any video file. Just download and install firefogg and use the UploadWizard as normal.

ffmpeg2theora [edit]

ffmpeg2theora command-line tool converting a video file

ffmpeg2theora is the most popular converter and is recommended at the Theora project page. It is a cross-platform command-line tool. The latest version is 0.29, released in July 2012.

In most cases you will only need a simple command indicating the name of the file to convert. (Video and audio quality is set to max.)

ffmpeg2theora file.avi -v 10 -a 10

To convert without audio, input

ffmpeg2theora file.avi --noaudio -v 10
Additional suggestions for ffmpeg2theora [edit]

If version 0.29 is unable to convert your video correctly, try either an older version or the preview release. If all versions of ffmpeg2theora fail to correctly handle the framerate as commanded, then use Avidemux to first losslessly re-mux the source video to the desired framerate. See Help talk:Converting video#Changing frame rate with Avidemux for a walkthrough.

Use the list of ffmpeg2theora parameters to change video parameters, such as cropping.

Some additional documentation, such as removing audio and clipping sections, is available at the official website and TheoraCookbook

A graphic user interface is available here : http://opensource.grisambre.net/wtheora/

Youtube [edit]

Videos can be uploaded to Youtube under a number of formats including proprietary formats used by some video cameras that can be tricky to convert other ways, videos can then downloaded from Youtube in a .webm format for uploading to Wikimedia Commons or in other formats for editing (Youtube also has some inbuilt editing functions). Downloading Youtube videos is covered on the page Commons:YouTube files.

VLC media player [edit]

VLC is a GUI version media player with conversion capabilities. A helpful tutorial can be found at TheoraCookbook. Encoding using the GUI requires a targeted bitrate which yields inferior quality than encoding for a specified video quality.

XiphQT [edit]

Xiph's QuickTime Components can be used to add OGG support to QuickTime Pro, under both OSX (version 10.3.9 or later) and Windows. Download and install the component, and it will add a "Movie to OGG" option to the File->Export dialog.

Common editing [edit]

Ogg Video Tools [edit]

The Xiph oggz tool is able to 'chop' or split a theora file between given start and end times and 'merge' or join two Theora-encoded videos.

Ogg Video Tools is a collection of command-line tools that help with OGG video editing, including resizing, splitting and joining, creating slideshows from png files, and joining or separating audio and video streams from a .ogv file.

WebM with mkvtoolnix [edit]

Using mkvmerge to cut a video

WebM files are just MKV (Matroska) files which use a subset of the features for this format.

With mkvtoolnix (GPLv2 for all platforms) it's very easy to manipulate them.

For instance, to cut a WebM video (for instance from YouTube), just open mkvmerge, add the video to "input files", select "Global" tab, enter the time interval in "by parts" ("Splitting" section, "Enable splitting"), then select a filename to save to and click "Start muxing".

Tools for Windows [edit]

Windows logo - 2012.svg


Xmedia Recode [edit]

XMedia Recode - Conversion to OGV

Download and install xmedia-recode.de. (Portable version also available)

  • Drag and drop the video files into Xmedia Recode
  • Select all video files (they turn blue)
  • Choose the following settings: (Profile: Custom - Format:OGV - Extension:ogv)
  • Optional: Goto the tab "Video" and set the "Bitrate" to 10000 for higher quality and larger file size
  • Click in the top on "Add job"
  • Click on "Encode"

ffmpeg2theora [edit]

Here's the super-executive summary of how to use ff2mpeg for Windows XP:

  1. Save ffmpeg2theora to your desktop
  2. Go to start -> run
  3. Type "cmd" and hit enter. A black screen will pop up. This is the command prompt
  4. Drag the ffmpeg2theora icon (the one on your desktop) into the window. The ffmpeg2theora's location will be copied into the command prompt window, unless you are using Windows Vista or newer.[2]
  5. Click the window and hit the space bar once (to put a space a after the address)
  6. Drag the file you want decoded (let's call it xyz.mpg) into the command prompt window
  7. Click the command prompt window and hit enter
  8. Assuming you did everything correct, ffmpeg2theora will convert the file. The new location will be xyz.ogv.


Video to Theora [edit]

Video to Theora is a GUI wrapper for ffmpeg2theora created by a member of the team creating a remake in 3D to Sierra's King's Quest IV (Used for the game then he released it as a freeware).

This application is a GUI wrapper for ffmpeg2Theora which removes all complexity from the GUI and leaves only the conversion power of the commandline tool removing the editing options (so no cropping or resizing the video)

This means that anyone can use this tool which has all of the power of the command line, but super users which want to fiddle with all of the parameters like cropping / resizing etc should use the original command line application.


You can download the tool from the author's site: Video to Theora.

AutoFFmpegTheora [edit]

AutoFFmpegTheora is a GUI wrapper for ffmpeg2theora created by a member of the doom9.org forums. Most, if not all, ffmpeg2theora parameters are featured in this application.

Download from this website.

FFCoder [edit]

FFCoder is a (portable) Windows program that uses ffmpeg and ffmpeg2theora for converting to Theora. Can be used for batch encoding. FFCoder 0.95 uses ffmpeg2theora 0.24. The default encoder is ffmpeg. If this does not work, try using ffmpeg2theora by changing it in the encoder menu.

  1. Add the files
  2. In the General field, select OGG. Change file extension to .ogv
  3. In Audio, choose Vorbis (libvorbis)
  4. In Video, choose Theora. Configure as needed.
  5. Set the output folder. Start the encoding.

MediaCoder [edit]

MediaCoder is a free gui-based tool for Windows with which one can convert between various encodings. MediaCoder is also capable of batch transcoding.

SUPER encoder [edit]

SUPER (an acronym for Simplified Universal Player Encoder & Renderer) by eRightSoft is a multi-purpose encoder that can convert in one step but it has fewer configuration options than the ffmpeg2theora command line. (Illustrated walkthrough in German here by chip.de; wikipedia articles in various languages: Deutsch, English, Español, Français, Italiano, 日本語, 한국어.) Super 2009 build 36 uses ffmpeg2theora 0.24 as its backend. As of 2010 January 1 the latest version is v2010.Build.37 (Jan 2, 2010).

On Windows,

  1. drag the movie file into the SUPER window
  2. select output container ogg
  3. select video codec theora
  4. click Encode.

The result file will have extension ".OGG". Change this to .ogv before uploading to Commons.

Tools for Macs [edit]

Icon-Mac.svg


Simple Theora Encoder [edit]

Simple Theora Encoder is an easy to use program.

Instructions [edit]

  1. Open "Simple Theora Encoder"
  2. Click the "Add…" button.
  3. Select the file you wish to convert. Note: Simple Theora Encoder does not accept files without extensions (e.g. ".mov" ".mpg" ".avi" ".wmv") If the file you wish to convert does not have an extension, please add the appropriate extension before attempting to select it with Simple Theora Encoder. Additional note: Although Simple Theora Encoder will accept many video files, they will appear to be low-quality unless they have been encoded with an MPEG codec. For optimal video quality, please save your video with an MPEG codec such as MPEG-4.
  4. Add any additional files that you wish to be included in the Ogg. Simple Theora Encoder will concatenate them together for you.
  5. Click the "Encode…" button to convert your file(s) into an Ogg Theora file. Note: Files that you are going to encode will have a status that reads "waiting…." You do not have to wait for them. The "waiting…" status means that the program is waiting for you.

Simple Theora Encoder problems and solutions [edit]

  • Problem: Simple Theora Encoder creates poor-quality video files
    • Solution: Your source file is probably not compressed with an MPEG codec. Simple Theora Encoder works much much better with video files encoded in an MPEG codec. Try converting your source file into a file using an MPEG codec, such as a QuickTime video with the MPEG-4 video codec that is available in programs such as iMovie, GraphicConverter, and QuickTime Pro.
  • Problem: Simple Theora Encoder won't open my file.
    • Solution: Make sure your file has a file extension such as ".mov" ".mpg" ".avi" and ".wmv." If it still won't open it them it must not like your file format.
  • Problem: Simple Theora Encoder is stuck. It says "waiting…" and is not doing anything.
    • Solution: Simple Theora Encoder says, "waiting…" when the file has been successfully been added to the conversion queue. The program is not frozen. Press "Encode…" to save the file as an Ogg, or press "Add…" to add more files to convert.
  • Problem: Simple Theora Encoder is stuck. It says "encoding…" and is not doing anything.
    • Solution: You probably tried to convert a QuickTime movie with audio. Simple Theora Encoder can't convert QuickTime movies with audio tracks.

Comparison with ffmpeg2theora [edit]

Simple Theora Encoder is a much much easier option for Mac users than the ffmpeg2theora command-line program. Simple Theora Encoder is possibly a graphical shell for ffmpeg2theora as they are both subject to the same bug (both programs stretch the video vertically), however, Simple Theora Encoder seems to be compatible with more files than ffmpeg2theora. Perhaps it has an additional program to convert files into MPEG before converting then to Ogg. One disadvantage of Simple Theora Encoder is its lack of options. There are no options at all, unless you count its capability of concatenating several files together into one Ogg file. The ffmpeg2theora program includes video and audio compression options as well as many other options.

ffmpeg2theora [edit]

Manual installation [edit]

Manual installation instruction for those that the installer failed and for those that do not wish to wait on the installer program.

Note:This was written for version 0.19 of ffmpeg2theora; it may not work with other versions.

  1. Download the Mac version of ffmpeg2theora.
  2. Decompress the downloaded file if it has not already been so. (Decompress it by double-clicking it - open it.) A package file will appear.
  3. Double click on the pkg file.
  4. Follow the instructions
  5. The ffmpeg2theora program has been installed. Congratulations!

Operational instructions [edit]

These are instructions on using ffmpeg2theora. ffmpeg2theora must be installed for this to work.

  1. Open the Terminal. It is located within the Utilities folder of your Applications folder.
  2. Within the terminal, type "ffmpeg2theora " including the space and without the quotes, of course.
  3. To adjust the video quality, type "-v " including the space and then enter a number from 0 through 10. 10 is maximum quality and 0 is minimal quality. Note: This is case sensitive.
  4. To adjust the audio quality, type "-a " including the space and then enter a number from 0 through 10. 10 is maximum quality and 0 is minimal quality. Note: This is case sensitive.
  5. Additional commands can be found at the [3] it's website.
  6. Drag the file you wish to convert into the terminal.
  7. Hit return.
  8. File should now be saved to the location of the original file with the ".ogv" extension.

Online solutions [edit]

This solution allows you to upload the video file. The website will convert the video for you and present you with a link to download the converted file. The process may take several minutes depending on the size and quality of the video.


Editing tasks [edit]

See also: Commons:Software#Editing_video

Here are some ways to manipulate .ogv Theora and other videos:

Cut or split sections of a video
  • use oggCut
  • or use oggz-chop to losslessly extract a section, for example to extract a 5 second section starting at 10 seconds:
  • oggz-chop.exe --start 10 --end 15 --no-skeleton input.ogv -o section.ogv
Join multiple videos
Split the audio from the video
  • to extract any stream without losing information use oggz-rip from oggz-tools:
    • oggz-rip.exe -c vorbis input.ogv -o theora_audio_only.ogg
  • using ffmpeg2theora may degrade the audio: ffmpeg2theora --novideo -o outputAudio.ogg
  • or use oggSplit
Join video and audio
  • use oggjoin
  • or use oggz-merge.exe video.ogv audio.ogg --output videowithaudio.ogv
Silence the audio in a video
  • to extract any stream without losing information use oggz-rip from oggz-tools:
    • oggz-rip.exe -c theora input.ogv -o theora_video_only.ogv
  • using ffmpeg2theora will degrade the video: ffmpeg2theora --noaudio -o outPutVideo.ogv
Create video slideshow from images (jpeg or png)
Create an image snapshot from a video frame
Add metadata, such as date, license, artist, etc
  • use ffmpeg2theora --artist, --date, --license
Retrieve information about the source
  • use ffmpeg2theora --info MyVideo.ogv to view details such as framerate, bitrate, pixel aspect ratio
  • use oggz-info.exe to list details of each component stream
  • use oggz-comment.exe to list or edits comments in a Theora OGG file
  • use oggz-scan.exe to list all keyframe times
Convert video to a selected sequence of images
  • use SUPER by eRightSoft (see SUPER encoder below) by choosing Sequence Of Images in the field labeled Select the Output Container and click the Encode button; you can choose from JPG, PNG, PPM/PNM or PGM (Gray Mode).
  • or use MPlayer's "-vo" option to extract frames as PNG files as in: mplayer video.ogv -vo png:z=9
  • or, to select only specific frames from most video types, use Avidemux to save a short section of a long video and then use mplayer short_video -vo png:z=9
  • or, if IrfanView can play the video then try "Options/Extract all frames..."; to save disk space you may want to later losslessly convert the large BMPs to compact PNG files, using IrfanView's "File/Batch conversion/Rename..." menu command
convert video to a GIF
  • first convert video to a selected sequence of images, convert each image to a GIF and then use gifsicle --merge. This is not a lossless operation. You may need to reduce the original colour depth. You need to use --delay with the number of hundredths of a second that most closely matches the original frame rate. Example: gifsicle.exe --delay 20 --colors 256 --merge p*.gif --output merged5framespersecond.gif Use IrfanView for any conversions or colour depth reductions.
Extract snapshots from a video
  • use VLC's menu command "Video/Snapshot". Before using for the first time: click Tools/Preferences/Video; select a destination directory for Video snapshots, a prefix and either png or jpg format; then close and relaunch VLC
  • on Windows use fraps screenshot hotkey to take regular timed snapshots as BMP files which you then convert to PNG (shortest interval is one second)

Limitations [edit]

Although Theora and its tools are maturing, there may still be some problems when converting to this format. ffmpeg2theora uses ffmpeg. If ffmpeg is not able to decode the video, then ffmpeg2theora is unlikely to be able to convert it into a Theora video. Here is a list of codecs decodable by ffmpeg. You may find the codec being used in your video by using MediaInfo. Most popular formats and codecs are supported.

ffmpeg2theora 0.25 has problems converting .mov (using motion jpeg codec) files with small video framerates. It's suggested you use a later version of ffmpeg2theora.

Audio sync issues [edit]

Converting certain video files, especially wmv video, may sometimes result in audio that is out of sync. In these cases, there is the ffmpeg2theora version 0.25 parameter "--sync", or the parameter of ffmpeg2theora version 0.26 or later "--nosync", which might fix the issue.

So, for ffmpeg2theora version 0.25 try this command:

ffmpeg2theora --sync MyVideo.wmv

And, for ffmpeg2theora version 0.26 and later try this command:

ffmpeg2theora --nosync MyVideo.wmv

If this does not work, split the source video into audio and video streams and convert them separately into Theora and Ogg Vorbis files. Then join both streams using oggJoin.

Still need help? [edit]

Start a new discussion topic on the talk page.

See also [edit]

External links [edit]