Image Files
If you want to change image files via terminal, ImageMagick is a good choice.
Resize Images to a maximum resolution
convert "YourOldPicture.jpg" -resize 1600x1600 "YourNewPicture.jpg"
Create a Black-and-white picture and compress it
djpeg "YourOldPicture.jpg" | ppmtopgm | cjpeg -qual 70 >"YourNewPicture.jpg"
Rename Pictures
rename -n ’s/\.jpg$/\.JPG/’ *.jpg
Audio Files
Normalize Audio
mp3gain -a *.mp3
Merge mp3 audio files to one
mp3wrap merged.mp3 one.mp3 two.mp3
fade in/out filter
details see here: https://ffmpeg.org/ffmpeg-filters.html#afade
Fade in first 15 seconds of audio:
ffmpeg [...] -afade=t=in:ss=0:d=15 [...]
Fade out last 25 seconds of a 900 seconds audio:
ffmpeg [...] -afade=t=out:ss=875:d=25 [...]
You can also try sox.
Sox
this command will:
- trim out from Position 45 sec. the next 30 seconds (0:45.0 30) and
- fade the first 5 seconds (0:5) and the last 5 seconds (0 0:5) and
- convert from wav to mp3
sox infile.wav outfile.mp3 trim 0:45.0 30 fade h 0:5 0 0:5
flac2mp3
ffmpeg -i file.flac -ab 320k -ac 2 file.mp3
Video Files
DVD to mp4
mplayer dvd://n -v -dumpstream -dumpfile /var/tmp/dvd.vob
If ‘dvd://n’ detects the wrong stream locate longest stream and replace ‘n’ by stream number
$ lsdvd |grep Longest
Longest track: 01
If it’s an ISO file replace ‘dvd://n’ by: -dvd-device /path/to/dvdfile.iso
Now convert .vob to mp4:
cat /var/tmp/dvd.vob | ffmpeg -i - -codec:a copy -codec:v libx264 /var/tmp/dvd.mp4
strip audio from video
ffmpeg -i input_file.mp4 -vcodec copy -an output_file.mp4
replace/add audio in/to a video
1st of all get the streams
$ ffmpeg -i video-with-audio.avi -i audio.mp3
[...]
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'video-with-audio.avi':
Duration: 00:01:13.29, start: 0.000000, bitrate: 17022 kb/s
Stream #0.0(eng): Video: h264, yuv420p, 1920x1080, 90k tbr, 90k tbn, 180k tbc
Stream #0.1(eng): Audio: aac, 48000 Hz, stereo, s16
Input #1, mp3, from 'audio.mp3':
Duration: 00:00:46.52, start: 0.000000, bitrate: 192 kb/s
Stream #1.0: Audio: mp3, 44100 Hz, stereo, s16, 192 kb/s
At least one output file must be specified
here you can see:
- stream 0.0 video-stream in the avi
- stream 0.1 audio-stream in the avi
- stream 1.0 audio-stream (the mp3 file)
now, to get the video with the mp3-file as audio, do:
ffmpeg -i video-with-audio.avi -i audio.mp3 -map 0.0 -map 1.0 -acodec copy -vcodec copy output.avi
you tell ffmpeg to map streams 0.0 and 1.0 into the new output.avi
Merge many video files to one
cat One.mpg Two.mpg Three.mpg | ffmpeg -f mpeg -i - -vcodec copy -acodec copy "Merged.mpg"
avi2mpg
ffmpeg -i "Original.avi" "New.mpg"
flv2mpeg
ffmpeg -i video.flv video.mpg
mpeg2flv
ffmpeg -i video.mpg video.flv
flv2avi
ffmpeg -i video.flv -ar 22050 -b 2048k video.avi
avi2flv
ffmpeg -i video.avi video.flv
*2flv
- Create flv file
- perhaps try around with b-frames: -b_qfactor 4.0 – see man ffmpeg
ffmpeg -i ~/any.supported.format.eg.mp4 -b 4000000 -r 25 -s 800x600 ~/output-file.flv
Add pseudostreaming meta data to the file
(If you want to keep a version without metadata, create a copy first! flvtool2 will inject metadata into the given file!)
flvtool2 -Up output-file.flv
xvid2divx
relabel file from XviD to DivX 5
needs no recoding just re-label it as DivX
cfourcc -u DX50 -d DX50 "$file"
flv2mp3
ffmpeg -i video.flv -ab 192k output.mp3
ogv2avi
mencoder "Original.ogv" -ovc xvid -oac mp3lame -xvidencopts pass=1 -o "New.avi"
mkv2avi
mencoder "Original.mkv" -ovc lavc -lavcopts vcodec=mpeg4:vhq:vbitrate=6000 -oac mp3lame -lameopts vbr=3 -o "New.avi"
or
ffmpeg -i INPUT_FILE -f mp4 -r 23.976 -vcodec libx264 -s 1280x720 \
-b 3000kb -aspect 16:9 -flags +loop -cmp +chroma -deblockalpha 0 \
-deblockbeta 0 -maxrate 3500k -bufsize 4M -bt 256k -refs 1 \
-bf 3 -coder 1 -me_method umh -me_range 16 -subq 7 \
-partitions +parti4x4+parti8x8+partp8x8+partb8x8 -g 250 \
-keyint_min 25 -level 30 -qmin 10 -qmax 51 -qcomp 0.6 -trellis 2 \
-sc_threshold 40 -i_qfactor 0.71 -acodec libfaac -ab 384kb -ar 48000 -ac 2 OUTPUT.MP4
ts2avi
mencoder SOURCE.ts -oac mp3lame -lameopts abr:br=128 -ovc lavc \
-lavcopts vcodec=mpeg4:vhq:v4mv:vqmin=2:aspect=16/9:vbitrate=1267 \
-vf pp=de,crop=0:0:0:0,scale=704:400 -ffourcc DX50 -o DESTINATION.avi