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
Next revision Both sides next revision
software:video [2014/03/12 09:54]
cyril [Audio]
software:video [2018/01/07 00:02]
cyril [convert] animated gif
Line 1: Line 1:
 ====== Multimedia encoding ====== ====== Multimedia encoding ======
-===== Windows ===== 
  
-VirtualDub+===== Images =====
  
-===== Linux ===== +==== convert ==== 
- +=== size operations ===
-==== Images ==== +
- +
-=== convert === +
-== size operations ==+
  
   * resize: scale image<code>   * resize: scale image<code>
Line 22: Line 17:
 </code> </code>
  
-== Annotate an image with text==+=== Annotate an image with text ===
 Simple text: Simple text:
 <code> <code>
Line 39: Line 34:
 </code> </code>
  
-== Append images ==+=== Append images ===
  
 <code> <code>
Line 53: Line 48:
 </code> </code>
  
-== Formats ==+=== Create animated GIF === 
 + 
 +<code>convert -delay 50 -loop 0 *.jpg out.gif</code> 
 + 
 +=== Formats ===
   * EPS to RGB:<code>   * EPS to RGB:<code>
 convert -density 600x600 -flatten -depth 8 -colorspace RGB file.eps ppm:- | convert - file.png convert -density 600x600 -flatten -depth 8 -colorspace RGB file.eps ppm:- | convert - file.png
 </code> </code>
  
-=== Exif === +==== Exif ==== 
-== exiftool ==+=== exiftool ===
   * restore exif Orientation tag: if you have photos captured with a device that sets the orientation tag, but you used a viewer that doesn't use this tag, and rotated the image with a software that doesn't update this tag, then the image is inconsistent and is not well displayed in exif-aware viewers. To reset the orientation tag, you can use the following command:<code>   * restore exif Orientation tag: if you have photos captured with a device that sets the orientation tag, but you used a viewer that doesn't use this tag, and rotated the image with a software that doesn't update this tag, then the image is inconsistent and is not well displayed in exif-aware viewers. To reset the orientation tag, you can use the following command:<code>
 exiftool -overwrite_original -Orientation="Horizontal (normal)" <file> exiftool -overwrite_original -Orientation="Horizontal (normal)" <file>
Line 65: Line 64:
  
  
-==== Video ==== +===== Video ===== 
-=== mencoder ===+==== mencoder ====
 (comes with mplayer). (comes with mplayer).
  
Line 80: Line 79:
 </code> </code>
  
-== Input data and options ==+=== Input data and options ===
   * Video files<code>   * Video files<code>
 mencoder \ mencoder \
Line 108: Line 107:
     * ''-vf yadif=0'' : deinterlace     * ''-vf yadif=0'' : deinterlace
     * ''-vf scale=640:480'' : scale video     * ''-vf scale=640:480'' : scale video
 +    * ''-vf crop=w:h:x:y'' : crop video
 +    * ''-vf "crop=640:360:0:60,scale=1280:720"'' : multiple video filters
     * ''-vf pp=?'' : post processing subfilters     * ''-vf pp=?'' : post processing subfilters
  
-== Output data and options ==+=== Output data and options ===
  
 Specify the video codec with ''-ovc'' option, and audio codec with ''-oac'' option. ''copy'' is possible with both. Specify the video codec with ''-ovc'' option, and audio codec with ''-oac'' option. ''copy'' is possible with both.
Line 153: Line 154:
 </code> </code>
  
-== Other operations ==+=== Other operations ===
  
   * cut the file (here from 10'00" to 10'30"):<code>   * cut the file (here from 10'00" to 10'30"):<code>
Line 159: Line 160:
 </code> </code>
  
-=== AviDemux ===+==== ffmpeg ====
  
-A GUI easier to use, like VirtualDub for Windows.+  * video codec: ''-c:v libx264'' or ''-c:v libxvid'' 
 +  * audio codec: ''-c:a pcm_s16le'' or ''libmp3lame'' for video codec 
 +  * codec bitrate: video ''-b:v 800k'', audio ''-b:a 128k'' 
 +  * codec quality: video ''-q:v 20'', audio ''-q:a 90'', x264 ''-crf 20''
  
-=== ffmpeg ===+  * crop: ''-vf "crop=640:360:0:60"'' 
 +  * resize: ''-vf "scale=1280:720"'' 
 +  * pad: ''-vf "pad=1280:720:370:0"'' 
 +  * rotate: ''-vf "transpose=2"'' (0=CCW+VF, 1=CW, 2=CCW, 3=CW+VF) 
 + 
 +  * blur: ''-vf boxblur=10:1'' 
 +  * overlay two videos:<code> 
 +ffmpeg -i in1.avi -vf "movie=in2.avi [b]; [in][b] overlay=320:0" 
 +</code><code> 
 +ffmpeg -i in1.avi -i in2.avi -filter_complex "[0:v][1:v] overlay=320:0" 
 +</code>
  
   * append side by side two videos:<code>   * append side by side two videos:<code>
Line 172: Line 186:
 ffmpeg -r 50 -i 01/all/image_1_%07d.pgm -r 50 -c:v libx264 -b:v 800k video_01.avi ffmpeg -r 50 -i 01/all/image_1_%07d.pgm -r 50 -c:v libx264 -b:v 800k video_01.avi
 </code> </code>
-==== Audio ==== 
  
-=== mp3 ===+  * cut clip (ss is start time, t is duration):<code> 
 +ffmpeg -i in.avi -ss 00:00:23 -t 00:00:19 -vcodec copy -acodec copy out.avi 
 +</code> 
 + 
 +  * render subtitles (requires to be compiled with libass): ''-vf "subtitles=in.srt"'' 
 + 
 +  * transform portrait video 640x480 to landscape 1280x720 with blurry repeated sides:<code> 
 +ffmpeg -i in.avi -filter_complex "[0:v] transpose=2,scale=1280:720,boxblur=10:1 [bg]; [0:v] transpose=2,scale=540:720 [fg]; [bg][fg] overlay=370:0 [out]" -map  
 +'[out]' -map 0:a -c:v libx264 -b:v 2000k -c:a copy out.avi 
 +</code> 
 +==== AviDemux ==== 
 + 
 +A GUI easier to use, like VirtualDub for Windows. 
 + 
 + 
 +==== PhotoFilmStrip ==== 
 + 
 + 
 + 
 +==== Kdenlive ==== 
 + 
 +Tried Openshot and Cinelerra but seem crappy, Kdenlive seems to have better design. 
 + 
 +  * Transitions : works between two video tracks that overlap (eg dissolve). 
 +  * Audio track volume : add effect "Audio Correction / Volume (keyframable)", then double click to add modification points. 
 +===== Audio ===== 
 + 
 +==== mp3 ====
  
 => ''lame'' => ''lame''
Line 183: Line 223:
 </code> </code>
  
-=== ogg ===+=> ''mp3cut'' 
 + 
 +To cut an mp3 file (warning: ID3 tags are not copied). 
 + 
 +=> ''id3cp'' 
 + 
 +To copy ID3 tags from a file to another one. 
 + 
 +=> ''id3v2'' 
 + 
 +To view and edit ID3 tags in command line. 
 + 
 +=> ''kid3'' 
 + 
 +To view and edit ID3 tags in GUI. 
 + 
 + 
 +==== ogg ====
 (using vorbis-tools package) (using vorbis-tools package)
  
Line 198: Line 255:
 </code> </code>
  
-=== sox ===+==== sox ====
 play, record, process play, record, process
  
Line 209: Line 266:
 </code> </code>
  
-=== ffmpeg ===+==== ffmpeg ====
  
   * extract sound track from video: <code>   * extract sound track from video: <code>
 ffmpeg -i video.avi sound.mp3 ffmpeg -i video.avi sound.mp3
 </code> </code>
software/video.txt · Last modified: 2024/05/12 22:48 by cyril
CC Attribution-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0