Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
ffmpeg [2015/05/29 03:45]
slackermedia
ffmpeg [2021/06/03 19:48] (current)
Line 1: Line 1:
-[[{arrowp.png|border:​0;​background:​none;​width:​0;​display:​inline-block;​position:​absolute;​top:​0;​left:​0;​}digikam|]] 
- 
-[[{arrown.png|border:​0;​background:​none;​width:​0;​display:​inline-block;​position:​absolute;​top:​0;​margin-left:​2.5em;​}ffmpeg2theora|]] 
- 
 ====== Ffmpeg HOWTO ====== ====== Ffmpeg HOWTO ======
  
Line 193: Line 189:
 The term "​frames"​ in video is misleading, even when speaking of Progressive (1080p, 720p) video. On celluloid film there are //literal// frames; one new image per 1/24th or 1/25th of a second. The human eye can see each frame, and on a traditional film editing bench they do in fact look at each frame as they decide where to make a splice. Those are frames. The term "​frames"​ in video is misleading, even when speaking of Progressive (1080p, 720p) video. On celluloid film there are //literal// frames; one new image per 1/24th or 1/25th of a second. The human eye can see each frame, and on a traditional film editing bench they do in fact look at each frame as they decide where to make a splice. Those are frames.
  
-[{{ 35mm_film_strip_stock_by_mannyisdead-d7az4zy.jpg | Photo by [[mannyisdead|http://​mannyisdead.deviantart.com/​art/​35mm-film-strip-stock-441698830]] }}]+[{{ 35mm_film_strip_stock_by_mannyisdead-d7az4zy.jpg | Photo by [[http://​mannyisdead.deviantart.com/​art/​35mm-film-strip-stock-441698830|mannyisdead]] }}]
  
 With video, data-complete frames (ie, a complete coherent picture) don't need to happen every 1/24th of a second, since a computer can retain pixels that don't change from previous frames. Imagine a video of a university professor standing in front of a whiteboard giving a lecture, in which half the whiteboard never changes and nothing ever crosses in front of it; the encoder With video, data-complete frames (ie, a complete coherent picture) don't need to happen every 1/24th of a second, since a computer can retain pixels that don't change from previous frames. Imagine a video of a university professor standing in front of a whiteboard giving a lecture, in which half the whiteboard never changes and nothing ever crosses in front of it; the encoder
Line 215: Line 211:
 <​code>​ <​code>​
 $ ffmpeg -i chase_12_LS_2.mkv -s hd720 -g 60 -v:b 21000k chase_ref_g60.mkv $ ffmpeg -i chase_12_LS_2.mkv -s hd720 -g 60 -v:b 21000k chase_ref_g60.mkv
 +</​code>​
  
-A GOP size of 60 at a frame rate of 29.97 would instatiate ​an I-Frame every 2 seconds (60 divided by 29.97). This may be too frequent, or possibly not often enough; it depends on the content of the shot, the size of the frame, and the bit rate.+A GOP size of 60 at a frame rate of 29.97 would instantiate ​an I-Frame every 2 seconds (60 divided by 29.97). This may be too frequent, or possibly not often enough; it depends on the content of the shot, the size of the frame, and the bit rate.
  
 If that doesn'​t work for you, then increase or decrease the GOP size by the frame rate, and then work with smaller increments until you reach a quality and file size that makes you happy. If that doesn'​t work for you, then increase or decrease the GOP size by the frame rate, and then work with smaller increments until you reach a quality and file size that makes you happy.
Line 227: Line 224:
 the complexity of some set of frames. In an action film, for example, the bit rate would be kept low during an expository conversation in a quiet restaurant wherein groups of pixels can be re-used for seconds at a time, but it would be boosted once the conversation inevitably turns into an explosive action scene. the complexity of some set of frames. In an action film, for example, the bit rate would be kept low during an expository conversation in a quiet restaurant wherein groups of pixels can be re-used for seconds at a time, but it would be boosted once the conversation inevitably turns into an explosive action scene.
  
-Set to 1, -qscale tells the encoder to maintain excellent overall quality, +Set to 1, ''​-qscale'' ​tells the encoder to maintain excellent overall quality, whatever bit rate it takes. Conversely, setting ​''​-qscale'' ​to 31 tells the encoder to allow quality to suffer. Depending on what you choose between these two extremes, the file size savings may not be enough for your purposes. In that case, you might need to hard-code the bit rate, which turns out to be more of an art than a science.
-whatever bit rate it takes. Conversely, setting -qscale to 31 tells the encoder +
-to allow quality to suffer. Depending on what you choose between these two +
-extremes, the file size savings may not be enough for your purposes. In that +
-case, you might need to hard-code the bit rate, which turns out to be more of +
-an art than a science.+
  
-While overall quality does have a relationship between frame size and bit rate +While overall quality does have a relationship between frame size and bit rate (the larger the frame size, the greater the bit rate "​wants"​ to be), there is no algorithm for the process because bit rate is also bound to pixel activity within the frame.
-(the larger the frame size, the greater the bit rate "​wants"​ to be), there is +
-no algorithm for the process because bit rate is also bound to pixel activity +
-within the frame.+
  
-A three-hour college lecture will look fine at a lower bit rate while a +A three-hour college lecture will look fine at a lower bit rate while a 90-minute action film would suffer under the same rate. This isn't only because of the difference in pixel activity; there'​s an artistic quality to defining "​quality"​. Your eye is more discerning of the action film; most people are a lot less forgiving of digital artifacts in their entertainment than in a boring lecture video.
-90-minute action film would suffer under the same rate. This isn't only because +
-of the difference in pixel activity; there'​s an artistic quality to defining +
-"​quality"​. Your eye is more discerning of the action film; most people are a +
-lot less forgiving of digital artifacts in their entertainment than in a boring +
-lecture video.+
  
-So it comes back to knowing your video. Skim through your video and make some +So it comes back to knowing your video. Skim through your video and make some general classifications;​ is it fast-paced action video, or an educational lecture, or a travel video, a student film or a million-dollar blockbuster,​ or a family vacation? Let this guide you toward what range of bit rates to consider. It helps to think in familiar terms like below-DVD-quality,​ 
-general classifications;​ is it fast-paced action video, or an educational +DVD-quality,​ or Blu-ray Quality. For below-DVD-quality,​ start in the high-hundreds for standard definition video or the low thousands for high definition video. For DVD-quality,​ start at 7000kbps or 8000kbps for standard definition and 12000kbps to 15000kbps for HD. For Blu-ray quality, look at 25000kbps to 35000kbps.
-lecture, or a travel video, a student film or a million-dollar blockbuster,​ or +
-a family vacation? Let this guide you toward what range of bit rates to +
-consider. It helps to think in familiar terms like below-DVD-quality,​ +
-DVD-quality,​ or Blu-ray Quality. For below-DVD-quality,​ start in the +
-high-hundreds for standard definition video or the low thousands for high +
-definition video. For DVD-quality,​ start at 7000kbps or 8000kbps for standard +
-definition and 12000kbps to 15000kbps for HD. For Blu-ray quality, look at +
-25000kbps to 35000kbps.+
  
 A command providing a high quality VBR encode with reduced file size: A command providing a high quality VBR encode with reduced file size:
  
-  ​$ ffmpeg -i sintel_1080p.avi -s hd720 +<​code>​ 
--aspect 16:9 -qscale 1 sintel.mkv+$ ffmpeg -i DSC0032.MOV -s hd720 -aspect 16:9 
 +-qscale 1 -vcodec libxvid -acodec libvorbis 32_review.mkv 
 +</​code>​
  
 Or in the case that you require more control over bit rate, you might specify a Or in the case that you require more control over bit rate, you might specify a
 constant bit rate: constant bit rate:
  
- $ ffmpeg -i sintel_1080p.avi -s hd720 +<​code>​ 
--aspect 16:9 -v:b 15000 sintel.mkv+$ ffmpeg -i DSC0032.MOV -s hd720 -aspect 16:9 
 +-v:b 15000k -vcodec libxvid -acodec libvorbis 32_review.mkv 
 +</​code>​
  
-Notice that in both examples the size is reduced from the original 1080p to +Notice that in both examples the size is reduced from the original 1080p to 720p. This, combined with lowering the bit rates from the original video, compresses the file to a more reasonable file size.
-720p. This, combined with lowering the bitrates ​from the original video, +
-compresses the file to a more reasonable file size.+
  
 If you were only transcoding and were trying to achieve zero loss of quality, If you were only transcoding and were trying to achieve zero loss of quality,
 then a simpler and less specific command would do; then a simpler and less specific command would do;
  
 +<​code>​
 +$ ffmpeg -i DSC0032.MOV -qscale 1 32_review.mkv
 +</​code>​
  
-  $ ffmpeg ​-i sintel_1080p.avi -qscale 1 sintel.mkv+===2-pass Encoding===
  
-2-pass Encoding +One way to help the encoder achieve the best possible quality at the best possible file size is to use **2-pass encoding**. The first pass analyses your video and creates a log file which ffmpeg can then use during the second pass to do the actual encoding of video and audio. A 2-pass encode doesn'​t mean your file will be any smaller, necessarily,​ but it almost always ensures ​that the encoding will be of a higher quality for the file size you end up with. In short, you get "more bang for your buck".
- +
-One way to help the encoder achieve the best possible quality at the best +
-possible file size is to use 2-pass encoding. The first pass analyses your +
-video and creates a log file which ffmpeg can use during the second pass when +
-it actually encodes ​video and audio. A 2-pass encode doesn'​t mean your file +
-will be any smaller, necessarily,​ but it does mean that the encoding will be +
-better and possibly more efficient ​with budgeting bits.+
  
 To perform a 2-pass encode, the first pass must be exclusively analytical: To perform a 2-pass encode, the first pass must be exclusively analytical:
  
-  $ ffmpeg -i sintel.mkv -vcodec libxvid -an 
-  -pass 1 -f rawvideo -y /dev/null 
  
-This causes ​ffmpeg ​to write the new video to /​dev/​null ​(in other words, it +<​code>​ 
-throws the results out) while writing data about the frames to a file called +ffmpeg ​-i well_3_MLS_1.mkv -vcodec libxvid -an \ 
-ffmpeg2pass,​ saved in the current directory. Since audio is not accounted for +-pass 1 -f rawvideo -y /dev/null 
-during this process, you can use the -an flag to ignore the audio stream.+</​code>​
  
-The second pass is performed like your usual ffmpeg ​commandwith the addition +This causes ​ffmpeg ​to write the new video to ''/​dev/​null''​ (in other wordsit 
-of the -pass 2 flag and the name of the log file to which ffmpeg should refer +throws ​the results out) while writing data //about// the frames to a file called 
--passlogfile ffmpeg2pass.+''​ffmpeg2pass'',​ saved in the current directory. Since audio is not accounted for 
 +during this process, you can use the ''​-an'' ​flag to ignore the audio stream (think "audionull" or just "​audio?​ no!").
  
-  $ ffmpeg ​-i sintel.mkv -vcodec libxvid -acodec +The second pass is performed like your usual ffmpeg ​command, with the addition of the ''​-pass 2''​ flag and the name of the log file to which ffmpeg should refer, such as ''​-passlogfile ffmpeg2pass''​.
-  libvorbis -r 18 -ar 44100 -b:a 80k -qscale 10 -s vga -pass 2 +
-  ​-passlogfile ffmpeg2pass ​sintel_small.mkv+
  
-Frame Rate+<​code>​ 
 +$ ffmpeg -i well_3_MLS_1.mkv -vcodec libxvid -acodec libvorbis \ 
 +-r 25 -ar 44100 -b:a 128k -qscale 5 -s hd720 -pass 2 \ 
 +-passlogfile ffmpeg2pass well_ref.mkv 
 +</​code>​
  
-Any video has a natural frame rate, depending on how it was recorded. As with +====Frame Rate====
-everything else, you can find out a video'​s native frame rate with ffmpeg -i or +
-a tool like mediainfo or vlc. Common values are 29.97 for standard definition +
-videos, 23.98 for DVD, and 24, 48, and 60 for high definition. As you might +
-expect, reducing the frame rate will reduce the resulting file size and +
-increase the streamability of your video.+
  
-The pay-off with a reduced frame rate is mostly aesthetic; the motion is not as +Any video has a natural frame rate, depending on how it was recorded. As with everything else, you can find out a video'​s native frame rate with ''​ffmpeg -i''​ or a tool like ''​mediainfo''​ or ''​video-meta''​ or even a good player like ''​vlc''​. Common values are ''​29.97''​ for standard definition videos, ''​23.98''​ for DVD, and ''​24''​ and ''​25''​ from the tradition of film, ''​48''​ and ''​60''​ for higher frame rate video (often used to reduce strobing). As you might expect, reducing the frame rate reduces the resulting file size and increases the streamability of your video, although its primary benefit is in streaming. 
-smooth as with a video'​s native frame rate. The more you reduce the frame rate + 
-the more drastic and noticeable this becomes. Exactly when you or your audience +The pay-off with a reduced frame rate is mostly aesthetic; the motion is not as smooth as with a video'​s native frame rate. The more you reduce the frame ratethe more drastic and noticeable this becomes. Exactly when you or your audience actually start to notice ​it is an entirely different matter and depends on how much movement there is in the frame in the first place, and whether or not the viewer tends to notice things like that. Experiment with different frame rates
-actually start to notice is an entirely different matter and depends on how +
-much movement there is in the frame in the first place, and whether or not the +
-viewer tends to notice things like that. Experiment with different frame rates+
 to witness the practical difference between them. to witness the practical difference between them.
  
-In practise, lowering the frame rate does not reduce the file size as much as +In practise, lowering the frame rate does not reduce the file size as much as you might think (taking a 60 fps video down to 30 with no other change, for instance, does not reduce the file size by half as you might expect). It's usually safe to leave the frame rate at its native value, or at 24 or so in the cases of high frame rate source files, unless your destination device or
-you might think (taking a 60 fps video down to 30 with no other change, for +
-instance, does not reduce the file size by half as you might expet). It's +
-usually safe to leave the frame rate at its native value, or at 24 or so in the +
-cases of high frame rate source files, unless your destination device or+
 application demands a change. application demands a change.
  
-Frame rate is controlled in ffmpeg with the -r flag:+Frame rate is controlled in ffmpeg with the ''​-r'' ​flag:
  
- $ ffmpeg -i foo.mkv -r 18 +<​code>​ 
-foo_18fps.mkv+$ ffmpeg -i desk_b-roll.mkv -r 18 desk_18fps.mkv 
 +</​code>​
  
-Audio+====Audio====
  
 Since most videos have sound, at least some portion of your overall file size Since most videos have sound, at least some portion of your overall file size
-is determined by how its audio has been encoded. The same principles apply to +is determined by how its audio has been encoded. The same general ​principles ​that apply to video also apply to audio, with a few variations.
-audio, with a few variations ​in terminology.+
  
-Audio has a bit rate, assigned with the -b:a flag, which determines how much +Audio has a bit rate, assigned with the ''​-b:a'' ​flag, which determines how much data is used to recreate the audio waves. You're probably already familiar with this idea since online music stores usually ​advertise ​their song quality as either ​**128kbps** or the higher quality ​**192kbps** or **256kbps** versions. The higher bit rates usually provide better subtleties, with the more modest ranges (128kbps is a good middle-of-the-road number) ​providing ​a "good enough"​ quality, while the lower ranges start to blatantly ​sacrifice quality. Once again, how much this 
-data is used to recreate the audio waves. You're probably already familiar with +matters to you depends on //you//, and the content of the media itself. A lecture video, for instance, ​can tolerate 80kbps encoding while a lush musical ​soundtrack would suffer ​arguably even at 192kbps.
-this idea since online music stores usually ​advertises ​their song quality as +
-either 128kbps or the higher quality 192kbps or 256kbps versions. The higher +
-bit rates usually provide better subtleties, with more modest ranges (128kbps +
-is a good middle-of-the-road number) ​provide ​a "good enough"​ quality, while the +
-lower ranges start to noticeably ​sacrifice quality. Once again, how much this +
-matters to you depends on you, and the content of the video itself. A lecture +
-video can tolerate 80kbps encoding while a video with a lush soundtrack would +
-suffer.+
  
-Audio also has channels. As you might expect, the more channels you have, the +Audio also has **channels**. As you might expect, the more channels you have, the larger the file will be. It's common practise to reduce any surround sound soundtrack to stereo, and in some cases to simply use one mono channel. ffmpeg uses the ''​-ac'' ​flag to define how many channels you want, with 2 being stereo and
-larger the file will be. It's common practise to reduce any surround sound +
-soundtrack to stereo, and in some cases to simply use one mono channel. ffmpeg +
-uses the -flag to define how many channels you want, with 2 being stereo and+
 1 being mono. 1 being mono.
  
-The sample rate of audio defines how many samples of a soundwave is used per +The sample rate of audio defines how many samples of a soundwave is used per second, and is measured in thousands of samples per second. DVD quality is considered 48000hz ​(48khz) ​while CD quality is 44100hz ​(44.1khz). Anything lower (32000hz, 22050hz, 16000hz) suffers noticeably in quality although they do have remarkable results on file size savings. However, when transcoding,​ changing the sample rate of the audio drastically could throw the audio track out of sync with your video, so use this ability carefully. ​Ffmpeg ​uses the ''​-ar'' ​flag
-second, and is measured in thousands of samples per second. DVD quality is +
-considered 48000hz while CD quality is 44100hz. Anything lower (32000hz, +
-22050hz, 16000hz) suffers noticeably in quality although they do have +
-remarkable results on file size savings. However, when transcoding,​ changing +
-the sample rate of the audio drastically could throw the audio track out of +
-sync with your video, so use this ability carefully. ​ffmpeg ​uses the -ar flag+
 to define sample rate. to define sample rate.
  
Line 369: Line 315:
 compression:​ compression:​
  
- $ ffmpeg -i sintel_1080p.avi -s hd720 +<​code>​ 
--b:v 8000 -b:a 128k -ar 44100 -c 1 sintel.mkv+$ ffmpeg -i hackmovie_goldmaster.mkv -s hd720 
 +-b:v 18000k ​-b:a 128k -ar 44100 -ac 2 hackmovie_online.mkv 
 +</​code>​
  
-Threads+====Threads====
  
-If you're using a computer with multiple CPU cores, ​you can take advantage of +If you're using a computer with multiple CPU cores, take advantage of the ''​-threads'' ​flag. It's simple:
-the -threads flag. It's simple:+
  
-  ​$ ffmpeg -i sintel.mkv -threads 8 sintel.mov+<​code>​ 
 +$ ffmpeg -i hackmovie_goldmaster.mkv -threads 8 hackmovie.webm 
 +</​code>​
  
-How to Test Before Encoding+The rule of thumb for calculating the number of threads your computer can handle is to take the number of CPU cores and either: 
 + 
 +  *To encode and still be able to use your computer: //Number of cores = threads// 
 +  *To encode overnight: //(Number of cores) * 2 = threads// 
 + 
 +To find out how many cores your CPU has, look into ''/​proc'':​ 
 + 
 +<​code>​ 
 +$ grep proc /​proc/​cpuinfo 
 +processor: ​   : 1 
 +processor: ​   : 2 
 +processor: ​   : 3 
 +processor: ​   : 4 
 +processor: ​   : 5 
 +processor: ​   : 6 
 +processor: ​   : 7 
 +processor: ​   : 8 
 +</​code>​ 
 + 
 +Adjust as needed, depending on the actual performance of your computer and what you need to work on while it encodes. 
 + 
 + 
 +=====How to Test Before Encoding=====
  
 Because a computer is doing the work, many people view video encoding as a Because a computer is doing the work, many people view video encoding as a
Line 392: Line 363:
 action is happening within the frames and what qualities are important. Use action is happening within the frames and what qualities are important. Use
 these artistic impressions to guide you in the choices you make about frame these artistic impressions to guide you in the choices you make about frame
-size, bitrate, and frame rate. Encode with two passes, and encode multiple+size, bit rate, and frame rate. Encode with two passes, and encode multiple
 versions of the same video. Compare the results. In no time, you'll get a good versions of the same video. Compare the results. In no time, you'll get a good
 feeling for what different codecs have to offer, what kinds of videos can feeling for what different codecs have to offer, what kinds of videos can
Line 401: Line 372:
 you to encode small sections of a video. you to encode small sections of a video.
  
-The -ss option dictates what time to start encoding, and the -t dictates how +The ''​-ss'' ​option dictates what time to start encoding, and the ''​-t'' ​dictates how long to encode for (not the timecode at which to stop, as a video editor would expect; the values are start time and duration, not in and out). For example, to start encoding at 3 minutes and 30 seconds into a video, and to encode for 1 minute:
-long to encode for (not the timecode at which to stop, as a video editor would +
-expect; the values are start time and duration, not in and out). For example, +
-to start encoding at 3 minutes and 30 seconds into a video, and to encode for 1 +
-minute:+
  
-  ​$ ffmpeg -i sintel.mov -ss 00:03:30:00 -t 00:01:00:00 -threads 8 sintel.mkv+<​code>​ 
 +$ ffmpeg -i hackmovie_snippet.mkv -ss 03:30:00 -t 01:​00:​00 ​
 +-s hd720 -threads 8 compression-test.webm 
 +</​code>​ 
 + 
 +Run a few hundred encoding tests overnight, study the results, and you'll be an expert in no time. 
 + 
 +=====Performance Boost===== 
 + 
 +Linux video and audio editors generally support every possible codec they can, and that's quite a lot. This affords you great freedom, but should you experience performance issues while working with a compressed file format (such as MP3, Vorbis, Theora, Dirac, and so on), consider extracting the video and audio streams from their compressed containers and working with them as native or [nearly] uncompressed files. 
 + 
 +If you do find that you need to convert media, you obviously want to avoid losing quality, so ensure that you are using a //less// compressed container, and that you are retaining the exact same settings as the source video. 
 + 
 +If ''​mediainfo''​ or ''​video-meta''​ reports a bit rate of 67M at 29.97 fps, then when you convert, use at least 67M for the bit rate and 29.97 for the frame rate. 
 + 
 +Here are some example commands for the various native and [mostly] uncompressed formats: 
 + 
 +<WRAP indent>​ 
 +**WAV** 
 + 
 +//​Uncompressed PCM audio.// 
 + 
 +<​code>​ 
 +ffmpeg -i foo.bar -vn -ar 48000 foo.wav 
 +</​code>​ 
 + 
 +**AIFF** 
 + 
 +//​Uncompressed PCM audio.// 
 + 
 +<​code>​ 
 +ffmpeg -i foo.bar -vn -ar 48000 foo.aiff 
 +</​code>​ 
 + 
 +**AU** 
 + 
 +//Sun Microsystems uncompressed PCM data.// 
 + 
 +<​code>​ 
 +ffmpeg -i foo.bar -vn -ar 48000 foo.au 
 +</​code>​ 
 +</​WRAP>​ 
 + 
 +Native and [mostly] uncompressed video formats: 
 + 
 +<WRAP indent>​ 
 +**FFV1** 
 + 
 +//Native ffmpeg video format.// 
 + 
 +<​code>​ 
 +ffmpeg -i foo.bar -an -vcodec FFV1 -b:v 80M -threads 8 foo.mkv 
 +</​code>​ 
 + 
 +**Huff YUV** 
 + 
 +//Lossless video format.// 
 + 
 +<​code>​ 
 +ffmpeg -i foo.bar -an -vcodec huffyuv ​ -b:v 80M -threads 8 foo.mkv 
 +</​code>​ 
 + 
 +**MOV** 
 + 
 +//Quicktime movie file.// 
 + 
 +<​code>​ 
 +ffmpeg -i foo.bar -an -vcodec libquicktime ​ -b:v 80M -threads 8 foo.mov 
 +</​code>​ 
 +</​WRAP>​ 
 + 
 +There are other formats, but these are well supported and tested. 
 + 
 + 
 +=====Lossless Codecs===== 
 + 
 +Ffmpeg supports a number of lossless formats ideal for Gold Masters and long term storage, including FFV1 and HuffYUV for video, FLAC and WAVPACK for sound.
  
-Run a few hundred encoding tests overnight, study the results, and you'll be an 
-expert in no time. 
  
 <WRAP tip> <WRAP tip>
 **See Also** \\ **See Also** \\
-mencoder+[[http://​www.mplayerhq.hu/​DOCS/​HTML/​en/​mencoder.html|Mencoder]] \\ 
 +[[http://​gstreamer.freedesktop.org/​|Gstreamer]] \\ 
 +[[https://​xiph.org/​flac/​|Flac]] \\ 
 +[[http://​www.wavpack.com/​|wavpack]] \\ 
 +[[http://​www.imagemagick.org|Imagemagick]] 
 +</​WRAP>​ 
 + 
 +<WRAP centeralign>​ 
 +<wrap fa>​[[fabla|R]]</​wrap>​ <wrap fa>​[[start|S]]</​wrap>​ <wrap fa>​[[ffmpeg2theora|Q]]</​wrap>​
 </​WRAP>​ </​WRAP>​
  
-[[{arrown.png|border:​0;​background:​none;​width:​0;​display:​inline-block;​float:​right;​}ffmpeg2theora|]][[{arrowp.png|border:​0;​background:​none;​width:​0;​float:​right;​}digikam|]]