New CD Jewel Case Template ready to Print !

cd-template-jewel-case-back-print-margin1 I’ve added two new documents to my CD Templates for Jewel Case in SVG. The new versions are a leaflet and a back cover with margin markers only. This version is designed for final printing: thanks to markers it’s easy to cut and fold the paper with high precision.

Published under a Creative Commons Attribution licence, SVG files are available in my document repository.

Diva for Mandriva 2007: latest SVN revision.

diva-002-trunk1 I’ve compiled a new RPM of Diva for Mandriva 2007. This RPM is the cutting-edge version of Diva based on the latest SVN revision of the project (r315). You can find it in my repository.

Diva is based on gstreamer, so please install all gstreamer0.10-* RPMs first. Because this version is still an alpha and a developper version, it is subject of numerous bugs and instability. So please, don’t report me bugs, I’m not a Diva developper !

Video commands

  • Here are some commands to get informations about the nature of a video:
    mplayer -frames 0 -identify ./video.avi
    tcprobe -i ./video.avi
    ffmpeg -i ./video.avi
    file ./video.avi
    

Mplayer / Mencoder

  • Change the aspect ratio of a film for the playback. Standard aspect ratio are : 1.33 (4:3), 1.66 (1.66:1), 1.77 (16:9) and 2.35 (2.35:1):
    mplayer -aspect 2:1 ./video.avi
    
  • Play the video with subtitles:
    mplayer -sub ./subtitle_file.txt ./video.avi
    
  • This will extract audio track no. 128, downmix the AC3 sound to PCM and write the results to file.wav:
    mplayer -vo null -hardframedrop -aid 128 -ao pcm -aofile file.wav dvd://1
    
  • This will extract the audio, convert it to PCM and write the resulting wave file to audio.wav:
    mplayer -vo null -hardframedrop -ao pcm:file=audio.wav myvideo.avi
    
  • Show all subtitles streams:
    mplayer -vo null -ao null -frames 0 -v 2 dvd://1 >&1 | grep sid
    
  • Create a rotated copy of the file.avi video (rotate=1 : clockwise ; rotate=2 : anti-clockwise):
    mencoder -vop rotate=2 -oac pcm -ovc lavc ./source.avi -o ./dest.avi
    
  • Preview a video composed of all jpeg files from the current folder at 15fps (mplayer only support jpeg, png, tga and sgi formats):
    mplayer "mf://*.jpg" -mf fps=15
    
  • Create a 15fps video from all jpeg files of the current folder:
    mencoder "mf://*.jpg" -mf fps=15 -ovc lavc -o ./dest.avi
    
  • Encode a SVCD to AVI file:
    mencoder -oac lavc -ovc lavc vcd://1 -o ./svcd.avi
    
  • Transcode video to raw format (be carefull: usually the output video got annoying audio delay):
    mencoder -oac pcm -ovc raw -ofps 25 -noskip ./video.wmv -o ./video.avi
    
  • Encode a video using the default mpeg4 codec at 400 kbps for video and mp3 codec at constant 32 kbps bitrate for audio:
    mencoder -oac mp3lame -lameopts cbr:preset=32 -ovc lavc -lavcopts vbitrate=400 in.avi -o out.avi
    
  • Enhance the sharpness of the video:
    mplayer video.avi -vf smartblur=.6:-.5:0,unsharp=l5x5:.8:c5x5:.4
    
  • Cut a video to keep the first 5.4 seconds:
    mencoder big-file.avi -ss 0 -endpos 5.4 -ovc copy -oac copy -o cutted.avi
    
  • Cut a video to keep everything exept the first 5.4 seconds:
    mencoder big-file.avi -ss 5.4 -ovc copy -oac copy -o cutted.avi
    
  • Show all mplayer filter list:
    mplayer -vf help
    
  • Get help of a particular filter (eq2 in this example):
    mplayer -vf eq2=help
    
  • Here is the filter I use to light up a video taken in the dark with my cheap camera. Of course it add noise but thanks to this we can distinguish shapes in the dark.
    mencoder -vf eq2=1.61:1.95:0.54:2.43 -oac pcm -ovc lavc video.avi -o bright-vid.avi
    
  • And this is the command to preview the result of the filter used above:
    mplayer video.avi -vf eq2=1.61:1.95:0.54:2.43
    
  • This is how I convert raw videos taken with my digital camera into ISO standard MPEG-4 (DivX 5, XVID compatible) videos [to encode in grayscale, add :gray option to -lavcopts]:
    mencoder source.avi -ovc lavc -oac lavc -ffourcc DX50 -lavcopts vcodec=mpeg4:vbitrate=400:v4mv:mbd=2:trell:autoaspect:dia=2:acodec=mp3:abitrate=32:vpass=1 -vf hqdn3d -o output.avi
    mencoder source.avi -ovc lavc -oac lavc -ffourcc DX50 -lavcopts vcodec=mpeg4:vbitrate=400:v4mv:mbd=2:trell:autoaspect:dia=2:acodec=mp3:abitrate=32:vpass=2 -vf hqdn3d -o output.avi
    
  • Play all videos of the current folder fullscreen at 4x speed with 50% more brightness:
    mplayer -speed 4 -brightness 50 -fs ./*.avi
    
  • Extract audio stream from a video:
    mplayer -dumpaudio -dumpfile audio.ac3 video_source.mpg
    

FFmpeg

  • Concatenate a series of videos and transcode the audio output to a flac file. This only works with certain multimedia container (MPEG-1, MPEG-2 PS, DV):
    cat M2U01802.MPG M2U01803.MPG M2U01804.MPG | ffmpeg -i - -acodec flac output.flac
    
  • Remove the first 16 seconds of video and change container to Matroska:
    ffmpeg -ss 16 -i ./MVI_8763.MOV -vcodec copy -acodec copy ./MVI_8763.mkv
    
  • Extract the first frame of a video (great to generate image preview):
    ffmpeg -i video.mov -r 1  -t 00:00:01 -f image2 images%05d.png
    
  • Transcode the video stream to the lossless HuffYUV codec:
    ffmpeg -i ./MVI_1714.MOV -vcodec huffyuv -sameq ./MVI_1714-lossless.avi
    

Transcode

  • Merge multiple video into one:
    avimerge -i part1.avi part2.avi -o big-file.avi
    
  • Extract the raw subtitle stream. The -a 0x21 option correspond to the subtitle stream’s hexadecimal number (= 0×20 + id of the stream):
    tccat -i /space/st-tng/dic1/ -T 1 -L | tcextract -x ps1 -t vob -a 0x22 > subs-en
    
  • List export video codecs:
    transcode -i . -y ffmpeg -F list
    

VLC

  • Transcode the first video stream found in a m3u playlist to a 384 kbps MPEG-2 video and 48 kHz Vorbis audio, and serve the resulting stream ina Ogg container to http://localhost:8888. To save bandwisth we reduce by two the size of the video:
    vlc -vvv http://mafreebox.freebox.fr/freeboxtv/playlist.m3u --sout '#transcode{vcodec=mp2v,vb=384,scale=0.5,acodec=vorbis,ab=48,channels=1}:standard{access=http,mux=ogg,url=:8888}' -I ncurses 2> /dev/null
    

Others

  • List MLT audio codecs:
    melt -query "audio_codecs"
    
  • Extract to chapter.txt the chapter file of the track n°1 of the DVD:
    dvdxchap -t 1 /mnt/cdrom > chapter.txt
    
  • Test XV video driver output via gstreamer v0.10:
    gst-launch-0.10 videotestsrc ! xvimagesink
    

Website Backup script: Incremental Backup feature added.

I’ve changed my backup strategy today, so I updated my website-backup.py script. You can find the latest version of the script on my script page.

I now use rdiff-backup in this script to keep 32 days of incremental backups. Beside this the script do a monthly full archive of the website in bzip2 format. This new strategy has reduced the total size of my backups from 64 GB to 6.7 GB. Roughly 90% of free space gain thanks to rdiff-backup ! If rdiff-backup is so efficient in my case, this is due to the existence on my websites of large files that are rarely modified (Mp3s, Flacs, RPMs, images, etc…).

Audio commands

  • Merge several .wav file to one file named merged.wav:
    sox part1.wav part2.wav part3.wav merged.wav
    
  • Convert .wav audio file to ALAC lossless file:
    ffmpeg -i audio.wav -acodec alac audio.m4a
    
  • Convert .asf audio file to PCM wave file:
    mplayer -vo null -hardframedrop -ao pcm:file=audio.wav audio.asf
    
  • Convert MIDI file to Ogg/Vorbis:
    timidity -Ov1S *.mid
    
  • Extract the Right then Left channel of a stereo .wav file:
    sox stereo.wav -c 1 rightchan.wav avg -r
    sox stereo.wav -c 1 leftchan.wav avg -l
    
  • Some sox compressor parameters:
    play audio.wav compand .1,.1 -60,-10 0 0 .1
    play audio.wav compand .01,.3 -6,-4,-3,-3,0,-3
    play audio.wav compand 0.3,1 -90,-90,-70,-70,-60,-20,0,0 -5 0 0.2
    
  • Test Alsa audio driver output via gstreamer v0.10:
    gst-launch-0.10 audiotestsrc ! alsasink
    
  • Generate cyclic pink noise (source):
    play -t sl -r48000 -c2 - synth -1 pinknoise tremolo .1 40 <  /dev/zero
    
  • Generate background low frequency noise (source):
    play -c2 -n synth whitenoise band -n 100 24 band -n 300 100 gain +20
    

Other related ressources: