媒体转换

最后更新于:2022-04-01 22:43:47

有时候需要转换一个视频、音频文件或者文档成其他格式。 ## 文本编码 文本编码可以得到完全错误的,特别是当语言需要某些特殊字符像 àäç。命令 `iconv` 可以从一个编码转换成另一个编码。 # iconv -f  -t   # iconv -f ISO8859-1 -t UTF-8 -o file.input > file_utf8 # iconv -l                           # 列显系统所支持的字符编码 若文档显示良好,通常都可不使用 -f 选项,iconv 会使用本地字符集(char-set)。 ## Unix - DOS 新行 在 Unix Shell 中转换 DOS (CR/LF) 到 Unix (LF) 新行格式。也可使用 `dos2unix` 和 `unix2dos` 工具,如果你有它们的话。 # sed 's/.$//' dosfile.txt > unixfile.txt 在 Windows 环境中转换 Unix 到 Dos 新行格式。需要在 mingw 或 cygwin 中使用 sed。 # sed -n p unixfile.txt > dosfile.txt ## PDF 转换成 Jpeg 和 连接一串 PDF 文件 用 `gs` (GhostScript) 工具转换 PDF 文档的每一页成 jpeg (或 png)图像。也可以使用更短的 `convert` (来自 ImageMagick 或 GraphicsMagick 工具) 命令。 # gs -dBATCH -dNOPAUSE -sDEVICE=jpeg -r150 -dTextAlphaBits=4 -dGraphicsAlphaBits=4 \  -dMaxStripSize=8192 -sOutputFile=unixtoolbox_%d.jpg unixtoolbox.pdf # convert unixtoolbox.pdf unixtoolbox-%03d.png # convert *.jpeg images.pdf          # 把所有图片转换成一份简单的 PDF 文档 Ghostscript 同样可连接多个 pdf 文件成一份 PDF 文档。这仅可工作于这些 PDF 文件都 "呈现一致(well behaved)" 的情况下。 # gs -q -sPAPERSIZE=a4 -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=all.pdf \ file1.pdf file2.pdf ...              # 在 Windows 上使用 '#' 代替 '=' ## 视频转换 使用 mpeg4 编码压缩佳能数码相机视频并修复无用音质。 # mencoder -o videoout.avi -oac mp3lame -ovc lavc -srate 11025 \ -channels 1 -af-adv force=1 -lameopts preset=medium -lavcopts \ vcodec=msmpeg4v2:vbitrate=600 -mc 0 vidoein.AVI 对于声音的处理可看 [sox](http://sox.sourceforge.net/)。 ## 拷贝音频光盘 程序 [`cdparanoia`](http://xiph.org/paranoia/) 可以保存音轨(FreeBSD port 在 audio/cdparanoia/),`oggenc` 可编码 Ogg Vorbis 格式,`lame` 可转换成 mp3。 # cdparanoia -B                      # 拷贝音轨成 wav 文件到当前目录列表(dir) # lame -b 256 in.wav out.mp3         # 编码成 256 kb/s 的 mp3 # for i in *.wav; do lame -b 256 $i `basename $i .wav`.mp3; done # oggenc in.wav -b 256 out.ogg       # 编码成 256 kb/s 的 Ogg Vorbis
';