A number of scripts that I am writing and using to work with CD/DVD writers, audio and video files, tv-tuners. Public domain. Subdirectories: audio - scripts for manipulating ogg/mp3 files. cdr-dvdrw-tools - scripts for cdrtools and growisofs. video - scripts for manipulating video files. audio ----- Shell and python scripts for manipulating audio (ogg/mp3) files and tags. setattrs.sh - set normal attributes (files rw-r--r--, directories rwxr-xr-x) after reading from a CD. find-nolist.py - find directories without a playlist. find-no3.py - find directories without mp3 files. find-nolist-no3.py - ... without both. mk_list.py - make a playlist for a directory. mk_list_recursive.py - make playlists in all subdirectories. mk_list_recursive.sh - make playlists in all subdirectories. fix-list-names.py - recursively rename all playlists to PlayList.m3u. recode_names.py - recode filenames from one encoding to another. recode-names-recursive.py - recode directories and filenames recursively. recode-id3v2.py - recode ID3 tags from one encoding to another. id3v1-to-v2.py - recode ID3 tags from version 1 to version 2. tag2name.py - get an ID3 tag and rename the file according to its tag. name2tag.py - make an ID3 tag according to the filename. recode-tags.sh - recode ID3 tags for listed files. recode-tags-list.sh - recode ID3 tags according to playlist and recode the very playlist. recode-tags-recursive.sh - recode ID3 tags playlists recursively. find-v1.py - find mp3 files with ID3v1 tags. find-v2.py - find mp3 files with ID3v2 tags. find-v1v2.py - find mp3 files with ID3v1 and ID3v2 tags. find-no-v1v2.py - find mp3 files without ID3 tags. playlist2name.py, playlist2name.sh - test (using the playlist) if the filename is in wrong case (copied from DOS partition) and fix the filename according to the playlist. cdr-dvdrw-tools --------------- Here is a number of shell and python scripts to guide cdrtools and growisofs CD-R[W] and DVD-/+R[W] recording software - scripts for making (bootable) ISO images, burning and cloning disks, and testing the results. .config - config file ls-iso, ls-image, ls-cdrom, ls-cdrw - list files in an ISO image, or on CD in the CD-ROM or CD-RW drive. get-iso, get-iso-cd, get-iso-cdrw, get-fs, get-cd, get-cdrw - get an ISO image or files from CD. test-disk, test-cdrom, test-cdrw - test the CD by copying its ISO image to /dev/null. mk-image - make an ISO image. mk-image.py - if there is just one source file (usually AVI) - strip extension to make the label. mk-image-boot - make bootable ISO image (El Torito). scan - scan the bus to find SCSI drives. cdrec-data, burn-test, burn, blank.sh, blank, blank-all, blank+burn, overburn-test, overburn, blank+overburn - burn a CD in all modes. clone-cd, clone-cdrw, clone-cd-rw, clone-cdrw-rw - clone a CD/DVD into a CD-R, CD-RW, DVD+RW; clone-cd recognizes options: -b - blank disk -d - burn DVD -l label -O - overburn -w - CD-RW diff-image, diff-cd, diff-cdrom, diff-cdrw - compare the CD with source directory. mp3-to-wavs - convert a list of mp3 files to wav files. burn-audio, blank+burn-audio - burn an audio disk. mk-audio - make an ISO image for an audio disk. mk-image-multi, burn-multi - burn multisession CD. burn+diff, blank+burn+diff, overburn+diff, blank+overburn+diff - burn and diff :) cdr-complete, cdrw-complete, cdr-800 - complete run: move file(s) into the source directory, normalize files and directories attributes, make an ISO image and list it, burn, diff and cleanup! Options: -l label - CD label; default is to ask -p prog - program to run; default is burn+diff -s - set normal attributes for files and directories. dvdrw, dvdrw-iso, blank-dvd, dvdr-complete, dvdrw-boot - scripts for burning DVD-/+R[W] disks. All programs recognize the following environment variables (via .config): CD_IMAGE_ISO=cd_image_iso CD_SOURCE_DIR=source_dir CD_WORK_DIR=work_dir CDR_SPEED=speed Thus you may override parameters in .config. video ----- Using ffmpeg: ff_catvideo - concatenate few video files into one. ff_cropdetect - detect -vf crop parameters. ff_encode - 1 and 2-pass encoding using different codecs. Using mplayer/mencoder: m_catvideo - concatenate few video files into one. m_cropdetect - detect -vf crop parameters. m_encode - 1, 2 and 3-pass encoding using different codecs. m_fix-avi-index - fix an AVI index. m_recode2mp3 - recode an audio stream to mp3, leaving video stream intact. m_split-avi - split an AVI file in two. Using transcode: tc_calc_bitrate - estimate bitrate and audio volume scaling. tc_detectclipping - detect clipping. tc_encode - 1 and 2-pass encoding using different codecs; the input is supposed to be a file or a directory with ripped VOB files. tc_extract_a1 - extract an additional audio track and merge it into the output. tc_encode_x264 - 1, 2, 3-pass encoding using x264 binary; audio is converted to Ogg Vorbis; the resulting file is Matroska Video (.mkv).