Archive for 十二月, 2009

linux 脱机下载 transmission-daemon 使用

LINUX | Posted by 老沙
12月 30 2009

这个东西有web的管理介界,不错呀
我用命令:
transmission-daemon -a *.*.*.* -b -m -p 9000 -P 55555 -w /home/other -t -u ssj -v 111111

-a *.*.*.* :是允许访问web管理的IP *.*.*.* 是所有IP,还可以是192.168.1.* 之类的
-b 打开peer服务器列表
-m 打开NAT-PMP 或 UPnP
-p web服务器的端口
-P peer端口默认是51413
-w 下载文件的默认存储路径
-t 打开web页面的密码验证
-u web 的用户名
-v web 的密码

把transmission-daemon -a *.*.*.* -b -m -p 9000 -P 55555 -w /home/other -t -u ssj -v 111111
加到/etc/rc.d/rc.local中,就可以开机自己启动了,启动后,它会自动下载之前没下载完的任务

把55555这个端口加入到路由的端口映射,并打开iptable的55555端口

服务器IP:9000可以进入web的管理介面,还是很漂亮的呀.

就说到这里,饿死我了,要去吃饭了

关于系统性能分析的一些工具 uptime vmstat iostat sar

LINUX | Posted by 老沙
12月 30 2009

top free ps time这四个就不多说了 ===============================================
uptime 现在的时间
系统开机运转到现在经过的时间
连线的使用者数量
最近一分钟,五分钟和十五分钟的系统负载
参数: -V 显示版本资讯。
范例:

[ssj@main ~]$ uptime
12:42:05 up 1:40, 3 users, load average: 0.01, 0.02, 0.06
===============================================
用vmstat监视内存使用情况
  vmstat是Virtual Meomory Statistics(虚拟内存统计)的缩写,可对操作系统的虚拟内存、进程、CPU活动进行监视。它是对系统的整体情况进行统计,不足之处是无法对某个进程进行深入分析。
vmstat的语法如下:
vmstat [-V] [-n] [delay [count]]
其中,-V表示打印出版本信息;-n表示在周期性循环输出时,输出的头部信息仅显示一次;delay是两次输出之间的延迟时间;count是指按照这个时间间隔统计的次数。对于vmstat输出各字段的含义,可运行man vmstat查看。
例:
[ssj@main ~]$ vmstat
procs ———–memory———- —swap– —–io—- –system– —–cpu—–
r b swpd free buff cache si so bi bo in cs us sy id wa st
0 0 0 1916520 141100 2152896 0 0 159 79 1252 1902 3 9 87 1 0   [ssj@main ~]$ vmstat -n 3
procs ———–memory———- —swap– —–io—- –system– —–cpu—–
r b swpd free buff cache si so bi bo in cs us sy id wa st
0 0 0 1882960 143556 2167876 0 0 139 69 1259 1913 3 8 88 1 0  
0 0 0 1882960 143556 2167884 0 0 0 0 2602 3757 2 3 95 0 0  
0 0 0 1882836 143572 2167892 0 0 0 21 2609 3752 2 4 94 0 0  
0 0 0 1882836 143580 2167884 0 0 0 16 2589 3699 2 4 94 0 0
=======================================================
用iostat监视I/O子系统情况,(安装sysstat)
  iostat是I/O statistics(输入/输出统计)的缩写,iostat工具将对系统的磁盘操作活动进行监视。它的特点是汇报磁盘活动统计情况,同时也会汇报出 CPU使用情况。同vmstat一样,iostat也有一个弱点,就是它不能对某个进程进行深入分析,仅对系统的整体情况进行分析。
iostat的语法如下:
iostat [ -c | -d ] [ -k ] [ -t ] [ -V ] [ -x [ device ] ] [ interval [ count ] ]
  其中,-c为汇报CPU的使用情况;-d为汇报磁盘的使用情况;-k表示每秒按kilobytes字节显示数据;-t为打印汇报的时间;-v表示打印出版本信息和用法;-x device指定要统计的设备名称,默认为所有的设备;interval指每次统计间隔的时间;count指按照这个时间间隔统计的次数。
例:
[ssj@main ~]$ iostat
Linux 2.6.31.9-174.fc12.x86_64 (main.kumouse.com)   2009年12月30日   _x86_64_  (2 CPU) avg-cpu: %user %nice %system %iowait %steal %idle
2.88 0.03 8.00 0.92 0.00 88.17 Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
sda 6.99 266.87 135.12 1785416 903995
sdb 7.13 268.12 134.78 1793805 901731
md127 53.40 550.56 277.81 3683382 1858598
dm-0 22.45 217.19 121.21 1453090 810920
dm-1 23.00 312.69 148.69 2091970 994800
dm-2 0.02 0.14 0.00 936 0
=======================================================
  使用sar进行综合分析
  表1 sar参数说明
  选项 功能
  -A 汇总所有的报告
  -a 报告文件读写使用情况
  -B 报告附加的缓存的使用情况
  -b 报告缓存的使用情况
  -c 报告系统调用的使用情况
  -d 报告磁盘的使用情况
  -g 报告串口的使用情况
  -h 报告关于buffer使用的统计数据
  -m 报告IPC消息队列和信号量的使用情况
  -n 报告命名cache的使用情况
  -p 报告调页活动的使用情况
  -q 报告运行队列和交换队列的平均长度
  -R 报告进程的活动情况
  -r 报告没有使用的内存页面和硬盘块
  -u 报告CPU的利用率
  -v 报告进程、i节点、文件和锁表状态
  -w 报告系统交换活动状况
  -y 报告TTY设备活动状况   sar是System Activity Reporter(系统活动情况报告)的缩写。顾名思义,sar工具将对系统当前的状态进行取样,然后通过计算数据和比例来表达系统的当前运行状态。它的特点是可以连续对系统取样,获得大量的取样数据;取样数据和分析的结果都可以存入文件,所需的负载很小。sar是目前Linux上最为全面的系统性能分析工具之一,可以从14个大方面对系统的活动进行报告,包括文件的读写情况、系统调用的使用情况、串口、CPU效率、内存使用状况、进程活动及IPC有关的活动等,使用也是较为复杂。
  sar的语法如下: sar [-option] [-o file] t [n]   它的含义是每隔t秒取样一次,共取样n次。其中-o file表示取样结果将以二进制形式存入文件file中。   另一种语法如下:
sar [-option] [-s time] [-e time] [-i sec] [-f file]   含义是表示从file文件中取出数据,如果没有指定-f file,则从标准数据文件/var/adm/sa/sadd取数据,其中dd表示当前天。另外,-s time表示起始时间;-e time表示停止时间;-i sec表示取样的时间间隔,如果不指定则表示取文件中所有的数据。对于具体的选项参见表1。
例:
[ssj@main ~]$ sar -q -u
Linux 2.6.31.9-174.fc12.x86_64 (main.kumouse.com)   2009年12月30日   _x86_64_  (2 CPU) 11时01分54秒 LINUX RESTART 11时10分01秒 CPU %user %nice %system %iowait %steal %idle
11时20分01秒 all 1.58 0.00 19.17 0.25 0.00 79.00
11时30分01秒 all 1.81 0.00 10.80 0.72 0.00 86.68
11时40分01秒 all 3.40 0.00 4.06 0.72 0.00 91.81
11时50分01秒 all 3.61 0.00 3.95 0.02 0.00 92.42
12时00分01秒 all 1.72 0.00 4.17 0.07 0.00 94.04
12时10分01秒 all 0.91 0.00 5.69 0.03 0.00 93.36
12时20分01秒 all 2.63 0.00 4.80 0.03 0.00 92.54
12时30分01秒 all 5.35 0.37 4.83 3.38 0.00 86.07
12时40分01秒 all 2.60 0.00 3.44 0.04 0.00 93.92
12时50分01秒 all 4.07 0.00 4.24 0.01 0.00 91.68
平均时间: all 2.77 0.04 6.52 0.53 0.00 90.15 11时10分01秒 runq-sz plist-sz ldavg-1 ldavg-5 ldavg-15
11时20分01秒 0 312 0.16 0.33 0.38
11时30分01秒 0 324 0.05 0.13 0.24
11时40分01秒 1 326 0.03 0.04 0.13
11时50分01秒 0 325 0.07 0.03 0.07
12时00分01秒 0 313 0.03 0.01 0.01
12时10分01秒 0 316 0.00 0.00 0.00
12]] >

ffmpeg 与 mencode 使用 mplayer 录制

LINUX | Posted by 老沙
12月 30 2009

录屏幕
ffmpeg -f x11grab -s 686×448 -r 10 -i :0.0+92,120 ~/Desktop/test.avi

使用xwininfo -frame得到窗口坐标
===============================================================
mplayer录制电影

mkfifo /dev/shm/xfifo

mplayer mms://218.106.96.24/cctv1 -dumpstream -dumpfile /dev/shm/xfifo

cat /dev/shm/xfifo |tee /tmp/x.avi |mplayer -cache 8192 –

================================================================
用ffmpeg压缩电影 转h264 这个比rmvb要好呀

ffmpeg -threads 2 -i "Ass For Free.wmv" -r 29.97 -vcodec libx264 -s 720×404 -flags +loop -cmp +chroma -deblockalpha 0 -deblockbeta 0 -crf 24 -bt 256k -refs 1 -coder 0 -me_method umh -me_range 16 -subq 5 -partitions +parti4x4+parti8x8+partp8x8 -g 250 -keyint_min 25 -level 30 -qmin 10 -qmax 51 -trellis 2 -sc_threshold 40 -i_qfactor 0.71 -acodec wmav2 -ab 128k -ar 44100 -ac 2 "Ass For Free.avi"

音频不要用acc,0.0.5的版本acc有问题,压出的电影时间变长

=================================================================
用mplayer录制视频
mplayer mms://202.***.***.***/t1.asf -dumpstream -dumpfile MyMovie.asf

==================================================================
把mplayer可以播放的文件转化为avi格式
mencoder yourfile.rm -ovc copy -oac copy -o testOut.avi

================================================================
把所有音视频文件转化为mp3文件
mplayer -vo null -ao pcm music.wmv lame -h audiodump.wav music.mp3

================================================================

以下是官方的参数说明:

通用选项

-L license

-h 帮助

-fromats 显示可用的格式,编解码的,协议的

-f fmt 强迫采用格式fmt

-I filename 输入文件

-y 覆盖输出文件

-t duration 设置纪录时间 hh:mm:ss[.xxx]格式的记录时间也支持

-ss position 搜索到指定的时间 [-]hh:mm:ss[.xxx]的格式也支持

-title string 设置标题

-author string 设置作者

-copyright string 设置版权

-comment string 设置评论

-target type 设置目标文件类型(vcd,svcd,dvd) 所有的格式选项(比特率,编解码以及缓冲区大小)自动设置 ,只需要输入如下的就可以了:

ffmpeg -i myfile.avi -target vcd /tmp/vcd.mpg

-hq 激活高质量设置

-itsoffset offset 设置以秒为基准的时间偏移,该选项影响所有后面的输入文件。该偏移被加到输入文件的时戳,定义一个正偏移意味着相应的流被延迟了 offset秒。 [-]hh:mm:ss[.xxx]的格式也支持

[编辑] 视频选项

-b bitrate 设置比特率,缺省200kb/s

-r fps 设置帧频 缺省25 (15 or 29.97)

-s size 设置帧大小 格式为WXH 缺省160X128.下面的简写也可以直接使用:

Sqcif 128X96 qcif 176X144 cif 252X288 4cif 704X576

-aspect aspect 设置横纵比 4:3 16:9 或 1.3333 1.7777

-croptop size 设置顶部切除带大小 像素单位

-cropbottom size –cropleft size –cropright size

-padtop size 设置顶部补齐的大小 像素单位

-padbottom size –padleft size –padright size –padcolor color 设置补齐条颜色(hex,6个16进制的数,红:绿:兰排列,比如 000000代表黑色)

-vn 不做视频记录

-bt tolerance 设置视频码率容忍度kbit/s

-maxrate bitrate设置最大视频码率容忍度

-minrate bitreate 设置最小视频码率容忍度

-bufsize size 设置码率控制缓冲区大小

-vcodec codec 强制使用codec编解码方式。 如果用copy表示原始编解码数据必须被拷贝

-sameq 使用同样视频质量作为源(VBR)

-pass n 选择处理遍数(1或者2)。两遍编码非常有用。第一遍生成统计信息,第二遍生成精确的请求的码率

-passlogfile file 选择两遍的纪录文件名为file

[编辑] 高级视频选项

-g gop_size 设置图像组大小

-intra 仅适用帧内编码

-qscale q 使用固定的视频量化标度(VBR)

-qmin q 最小视频量化标度(VBR)

-qmax q 最大视频量化标度(VBR)

-qdiff q 量化标度间最大偏差 (VBR)

-qblur blur 视频量化标度柔化(VBR)

-qcomp compression 视频量化标度压缩(VBR)

-rc_init_cplx complexity 一遍编码的初始复杂度

-b_qfactor factor 在p和b帧间的qp因子

-i_qfactor factor 在p和i帧间的qp因子

-b_qoffset offset 在p和b帧间的qp偏差

-i_qoffset offset 在p和i帧间的qp偏差

-rc_eq equation 设置码率控制方程 默认tex^qComp

-rc_override override 特定间隔下的速率控制重载

-me method 设置运动估计的方法 可用方法有 zero phods log x1 epzs(缺省) full

-dct_algo algo 设置dct的算法 可用的有

0 FF_DCT_AUTO 缺省的DCT 1 FF_DCT_FASTINT 2 FF_DCT_INT 3 FF_DCT_MMX 4 FF_DCT_MLIB 5 FF_DCT_ALTIVEC

-idct_algo algo 设置idct算法。可用的有
0 FF_IDCT_AUTO 缺省的IDCT 1 FF_IDCT_INT 2 FF_IDCT_SIMPLE 3 FF_IDCT_SIMPLEMMX 4 FF_IDCT_LIBMPEG2MMX 5 FF_IDCT_PS2 6 FF_IDCT_MLIB 7 FF_IDCT_ARM 8 FF_IDCT_ALTIVEC 9 FF_IDCT_SH4 10 FF_IDCT_SIMPLEARM

-er n 设置错误残留为n

1 FF_ER_CAREFULL 缺省 2 FF_ER_COMPLIANT 3 FF_ER_AGGRESSIVE 4 FF_ER_VERY_AGGRESSIVE

-ec bit_mask 设置错误掩蔽为bit_mask,该值为如下值的位掩码

1 FF_EC_GUESS_MVS (default=enabled) 2 FF_EC_DEBLOCK (default=enabled)

-bf frames 使用frames B 帧,支持mpeg1,mpeg2,mpeg4 -mbd mode 宏块决策

0 FF_MB_DECISION_SIMPLE 使用mb_cmp 1 FF_MB_DECISION_BITS 2 FF_MB_DECISION_RD

-4mv 使用4个运动矢量 仅用于mpeg4

-part 使用数据划分 仅用于mpeg4

-bug param 绕过没有被自动监测到编码器的问题

-strict strictness 跟标准的严格性

-aic 使能高级帧内编码 h263+

-umv 使能无限运动矢量 h263+

-deinterlace 不采用交织方法

-interlace 强迫交织法编码 仅对mpeg2和mpeg4有效。当你的输入是交织的并且你想要保持交织以最小图像损失的时候采用该选项。可选的方法是不交织,但是损失更大

-psnr 计算压缩帧的psnr

-vstats 输出视频编码统计到vstats_hhmmss.log

-vhook module 插入视频处理模块 module 包括了模块名和参数,用空格分开
[编辑] 音频选项

-ab bitrate 设置音频码率

-ar freq 设置音频采样率

-ac channels 设置通道 缺省为1

-an 不使能音频纪录

-acodec codec 使用codec编解码
[编辑] 音频/视频捕获选项

-vd device 设置视频捕获设备。比如/dev/video0

-vc channel 设置视频捕获通道 DV1394专用

-tvstd standard 设置电视标准 NTSC PAL(SECAM)

-dv1394 设置DV1394捕获

-av device 设置音频设备 比如/dev/dsp

注:仅在Linux下有效。

[编辑] 高级选项

-map file:stream 设置输入流映射

-debug 打印特定调试信息

-benchmark 为基准测试加入时间

-hex 倾倒每一个输入包

-bitexact 仅使用位精确算法 用于编解码测试

-ps size 设置包大小,以bits为单位

-re 以本地帧频读数据,主要用于模拟捕获设备

-loop 循环输入流。只工作于图像流,用于ffserver测试

===========================================================

Ffmp

eg使用语法

ffmpeg [[options][`-i' input_file]]… {[options] output_file}…

如果没有输入文件,那么视音频捕捉(只在Linux下有效,因为Linux下把音视频设备当作文件句柄来处理)就会起作用。作为通用的规则,选项一般用于下一个特定的文件。如果你给 –b 64选项,改选会设置下一个视频速率。对于原始输入文件,格式选项可能是需要的。缺省情况下,ffmpeg试图尽可能的无损转换,采用与输入同样的音频视频参数来输出。

ffmpeg转换所涉及到的选项较多,可参考ffmpeg选项详解。

ffmpeg支持多种文件格式和多种音频、视频编码器,可参考ffmepg格式详解,(附:常见视频文件格式详解)
[编辑] 视频文件截图

* 截取一张352×240尺寸大小的,格式为jpg的图片

ffmpeg -i test.asf -y -f image2 -t 0.001 -s 352×240 a.jpg

* 把视频的前30帧转换成一个Animated Gif

ffmpeg -i test.asf -vframes 30 -y -f gif a.gif

* 截取指定时间的缩微图

ffmpeg -i test.avi -y -f image2 -ss 8 -t 0.001 -s 350×240 test.jpg

-ss后跟的时间单位为秒

* 转换文件为3GP格式

ffmpeg -y -i test.mpeg -bitexact -vcodec h263 -b 128 -r 15 -s 176×144
-acodec aac -ac 2 -ar 22500 -ab 24 -f 3gp test.3gp

ffmpeg -y -i test.wmv -ac 1 -acodec libamr_nb -ar 8000 -ab 12200 -s 176×144 -b 128 -r 15 test.3gp

[编辑] 视频格式转换

* 如何使用 ffmpeg 编码得到高质量的视频

ffmpeg.exe -i "D:VideoFearlessFearless.avi" -target film-dvd -s 720×352
-padtop 64 -padbottom 64 -maxrate 7350000 -b 3700000 -sc_threshold 1000000000
-trellis -cgop -g 12 -bf 2 -qblur 0.3 -qcomp 0.7 -me full -dc 10 -mbd 2
-aspect 16:9 -pass 2 -passlogfile "D:Videoffmpegencode" -an -f mpeg2video "D:Fearless.m2v"

* 转换指定格式文件到FLV格式

ffmpeg.exe -i test.mp3 -ab 56 -ar 22050 -b 500 -r 15 -s 320×240 f:test.flv
ffmpeg.exe -i test.wmv -ab 56 -ar 22050 -b 500 -r 15 -s 320×240 f:test.flv

* 转码解密的VOB

ffmpeg -i snatch_1.vob -f avi -vcodec mpeg4 -b 800 -g 300 -bf 2 -acodec mp3 -ab 128 snatch.avi

上面的命令行将vob的文件转化成avi文件,mpeg4的视频和mp3的音频。注意命令中使用了B帧,所以mpeg4流是divx5兼容的。GOP大小是300意味着29.97帧频下每10秒就有INTRA帧。该映射在音频语言的DVD转码时候尤其有用。

* 同时编码到几种格式并且在输入流和输出流之间建立映射

ffmpeg -i /tmp/a.wav -ab 64 /tmp/a.mp2 -ab 128 /tmp/b.mp2 -map 0:0 -map 0:0

上面的命令行转换一个64Kbits 的a.wav到128kbits的a.mp2 ‘-map file:index’在输出流的顺序上定义了哪一路输入流是用于每一个输出流的。

* 转换文件为3GP格式

ffmpeg -i test.avi -y -b 20 -s sqcif -r 10 -acodec amr_wb -ab 23.85 -ac 1 -ar 16000 test.3gp

注:如果要转换为3GP格式,则ffmpeg在编译时必须加上–enable-amr_nb –enable-amr_wb,详细内容可参考:转换视频为3GPP格式

* 转换文件为MP4格式(支持iPhone/iTouch)

ffmpeg -y -i input.wmv -f mp4 -async 1-s 480×320 -acodec libfaac -vcodec libxvid -qscale 7 -dts_delta_threshold 1 output.mp4
ffmpeg -y -i source_video.avi input -acodec libfaac -ab 128000 -vcodec mpeg4 -b 1200000 -mbd 2 -flags +4mv+trell -aic 2 -cmp 2 -subcmp 2 -s 320×180 -title X final_video.mp4

* 将一段音频与一段视频混合

ffmpeg -i son.wav -i video_origine.avi video_finale.mpg

* 将一段视频转换为DVD格式

ffmpeg -i source_video.avi -target pal-dvd -ps 2000000000 -aspect 16:9 finale_video.mpeg

注:target pal-dvd : Output format ps 2000000000 maximum size for the output file, in bits (here, 2 Gb) aspect 16:9 : Widescreen

* 转换一段视频为DivX格式

ffmpeg -i video_origine.avi -s 320×240 -vcodec msmpeg4v2 video_finale.avi

* Turn X images to a video sequence

ffmpeg -f image2 -i image%d.jpg video.mpg

注:This command will transform all the images from the current directory (named image1.jpg, image2.jpg, etc…) to a video file named video.mpg.

* Turn a video to X images

ffmpeg -i video.mpg image%d.jpg

注:This command will generate the files named image1.jpg, image2.jpg, …
The following image formats are also availables : PGM, PPM, PAM, PGMYUV, JPEG, GIF, PNG, TIFF, SGI.

[编辑] 屏幕录制

* 使用ffmpeg录像屏幕

ffmpeg -vcodec mpeg4 -b 1000 -r 10 -g 300 -vd x11:0,0 -s 1024×768 ~/test.avi

:其中,-vd x11:0,0 指录制所使用的偏移为 x=0 和 y=0,-s 1024×768 指录制视频的大小为 1024×768。录制的视频文件为 test.avi,将保存到用户主目录中

如果你只想录制一个应用程序窗口或者桌面上的一个固定区域,那么可以指定偏移位置和区域大小。使用xwininfo -frame命令可以完成查找上述参数。

* 重新调整视频尺寸大小

ffmpeg -vcodec mpeg4 -b 1000 -r 10 -g 300 -i ~/test.avi -s 800×600 ~/test-800-600.avi

注:ffmpeg的屏幕录制功能只能在Linux环境下有效。

[编辑] 视频采集

* 把摄像头的实时视频录制下来,存储为文件

ffmpeg -f video4linux -s 320*240 -r 10 -i /dev/video0 test.asf

=====================================================================
有些参数官方列表里没有,下面是我个人的参数说明

usage: ffmpeg [[infile options] -i infile]… {[outfile options] outfile}…
Hyper fast Audio and Video encoder

Main options:
-L show license 显示许可证
-h show help 帮助
-version show version 版本
-formats show available formats, codecs, protocols, … 显示可用的格式,编解码器,协议,…
-f fmt force format 福莫特罗力格式
-i filename input file name 输入文件名
-y overwrite output files 覆盖输出文件
-t duration record or transcode "duration" seconds of audio/video 记录或转码“时间”秒的音频/视频
-fs limit_size set the limit file size in bytes 字节为单位设置文件大小限制
-ss time_off set the start time offset 设置开始时间偏移
-itsoffset time_off set the input ts offset 设置输入TS偏移
-itsscale stream:scale set the input ts scale 规模设置输入TS规模
-timestamp time set the timestamp ('now' to set the current time) 时间戳设置时间戳
-metadata string=string add metadata 字符串添加元数据
-dframes number set the number of data frames to record 数据帧的数量来记录
-v number set ffmpeg verbosity level FFmpeg的冗赘级别
-loglevel loglevel set libav* logging level 设置libav *日志记录级别
-target type specify target file type ("vcd", "svcd", "dvd", "dv", "dv50", "pal-vcd", "ntsc-svcd", …) 指定目标文件类型
-xerror exit on error 关于错误退出

Advanced options:
-map file:stream[:syncfile:syncstream] set input stream mapping 设置输入流映射
-map_meta_data outfile:infile set meta data information of outfile from infile infile集的元数据指向OutFile信息infile
-benchmark add timings for benchmarking 添加基准计时
-dump
dump each input packet 转储每个输入包
-hex when dumping packets, also dump the payload 倾销包时,有效载荷也转储
-re read input at native frame rate 在本地读取输入帧速率
-loop_input loop (current only works with images) 循环(目前只适用于与图像)
-loop_output number of times to loop output in formats that support looping (0 loops forever) 次数循环的格式,支持循环(0循环永远输出)
-threads count thread count 线程数
-vsync video sync method 视频同步方法
-async audio sync method 异步音频同步方法
-adrift_threshold threshold audio drift threshold 阈值音频漂移
-vglobal video global header storage type 视频全球头存储类型
-copyts copy timestamps 复制时间戳
-shortest finish encoding within shortest input 最短完成输入编码
-dts_delta_threshold threshold timestamp discontinuity delta threshold 阈值增量连续时间戳
-programid desired program number 所需的程序数目
-copyinkf copy initial non-keyframes 复制初始非关键帧
-muxdelay seconds set the maximum demux-decode delay 秒设置最大的分离器,解码延迟
-muxpreload seconds set the initial demux-decode delay 秒设置初始分离器,解码延迟

Video options:
-b bitrate set bitrate (in bits/s) 以比特/设置码率
-vb bitrate set bitrate (in bits/s) 设置比特率(以比特/秒)
-vframes number set the number of video frames to record 设置视频帧的数量记录
-r rate set frame rate (Hz value, fraction or abbreviation) 设置帧速率(赫兹值,分数或缩写)
-s size set frame size (WxH or abbreviation) 设置帧大小(WxH或缩写)
-aspect aspect set aspect ratio (4:3, 16:9 or 1.3333, 1.7777) 设置长宽比(4:3,16:9或者1.3333,1.7777)
-croptop size set top crop band size (in pixels) 顶盒作物带大小
-cropbottom size set bottom crop band size (in pixels) 设置底部作物带大小
-cropleft size set left crop band size (in pixels) 设置左作物带大小
-cropright size set right crop band size (in pixels) 设置权作物带大小
-padtop size set top pad band size (in pixels) 机顶盒垫带大小
-padbottom size set bottom pad band size (in pixels) 设置底垫带大小
-padleft size set left pad band size (in pixels) 设置左垫带大小
-padright size set right pad band size (in pixels) 设置权垫带大小
-padcolor color set color of pad bands (Hex 000000 thru FFFFFF) 设置垫带颜色(十六进制000000通过000000)
-vn disable video 禁用视频
-vcodec codec force video codec ('copy' to copy stream) 编解码器视频编解码器('拷贝'复制流)
-sameq use same video quality as source (implies VBR) 使用相同的视频质量作为源(意味着VBR)
-pass n select the pass number (1 or 2) 选择的遍数
-passlogfile prefix select two pass log file name prefix 选择两个阶段使用的日志文件名前缀
-newvideo add a new video stream to the current output stream 添加一个新的视频流电流输出流

Advanced Video options:
-pix_fmt format set pixel format, 'list' as argument shows all the pixel formats supported 设置像素格式,'名单参数'显示所有受支持的像素格式
-intra use only intra frames 只使用内部帧
-vdt n discard threshold 丢弃门槛
-qscale q use fixed video quantizer scale (VBR) 使用固定的视频量化表
-rc_override override rate control override for specific intervals 覆盖率为特定的时间间隔控制重写
-me_threshold threshold motion estimaton threshold 阈值的议案
-deinterlace deinterlace pictures 隔行扫描的图片
-psnr calculate PSNR of compressed frames 计算压缩帧的信噪比
-vstats dump video coding statistics to file 转储视频编码统计到文件
-vstats_file file dump video coding statistics to file 转储文件的视频编码统计到文件
-intra_matrix matrix specify intra matrix coeffs 矩阵指定内部矩阵coeffs
-inter_matrix matrix specify inter matrix coeffs 矩阵除指定矩阵coeffs
-top top=1/bottom=0/auto=-1 field first
-dc precision intra_dc_precision 直流精度
-vtag fourcc/tag force video tag/fourcc 标签力量视频标签/ fourcc值
-qphist show QP histogram 显示量化直方图
-force_fps force the selected framerate, disable the best supported framerate selection 选定的帧率,禁用支持帧率最好的选择
-vbsf bitstream_filter
-vpre preset set the video options to the indicated preset 预置设置视频选项指定的预设

Audio options:
-ab bitrate set bitrate (in bits/s) 设置比特率(以比特/秒)
-aframes number set the number of audio frames to record 设置音频帧的数量来记录
-aq quality set audio quality (codec-specific) 设置音频质量(编解码器专用)
-ar rate set audio sampling rate (in Hz) 设置音频采样率(以赫兹)
-ac channels set number of audio channels 设置的音频通道数
-an disable audio 禁用音频
-acodec codec force audio codec ('copy' to copy stream) 音频编解码器编解码器('拷贝'复制流)
-vol volume change audio volume (256=normal) 变化音量(256 =正常)
-newaudio add a new audio stream to the current output stream 添加一个新的音频流到当前输出流
-alang code set the ISO 639 language code (3 letters) of the current audio stream 代码集的ISO 639语言代码(3字母当前音频流)

Advanced Audio options:
-atag fourcc/tag force audio tag/fourcc 标签力量音频标签
-sample_fmt format set sample format, 'list' as argument shows all the sample formats supported 设置采样格式,'名单参数'显示所有样本格式的支持
-absf bitstream_filter
-apre preset set the audio options to the indicated preset 预置设置音频选项指定的预设

Subtitle options:
-sn disable subtitle 禁用字幕
-scodec codec force subtitle codec ('copy' to copy stream) 添加一个新的字幕流到当前输出流
-newsubtitle add a new subtitle stream to the current output stream 编解码器的字幕解码器('拷贝'复制流)
-slang code set the ISO 639 language code (3 letters) of the current subtitle stream 代码集的ISO 639语言代码(3字母当前字幕流)
-stag fourcc/tag force subtitle tag/fourcc 标签力量字幕标签/ fourcc值
-sbsf bitstream_filter
-spre preset set the subtitle options to the indicated preset 预置设置字幕选项指定的预设

Audio/Video grab options:
-vc channel set video grab channel (DV1394 only) 设置视频抓斗通道(DV1394只)
-tvstd standard set television standard (NTSC, PAL (SECAM)) 设置电视标准(支持NTSC,PAL(SECAM制式))
-isync sync read on input 同步输入

AVCodecContext AVOptions:
-b <int> E.V.. set bitrate (in bits/s) 设置比特率
-ab <int> E..A. set bitrate (in bits/s) 设置比特率
-bt <int> E.V.. set video bitrate tolerance (in bits/s)
-flags <flags>
EDVA. 标志
mv4 E.V.. use four motion vector by macroblock (mpeg4)
obmc E.V.. use overlapped block motion compensation (h263+)
qpel E.V.. use 1/4 pel motion compensation
loop E.V.. use loop filter
gmc E.V.. use gmc
mv0 E.V.. always try a mb with mv=<0,0>
part E.V.. use data partitioning
gray EDV.. only decode/encode grayscale
psnr E.V.. error[?] variables will be set during encoding
naq E.V.. normalize adaptive quantization
ildct E.V.. use interlaced dct
low_delay EDV.. force low delay
alt E.V.. enable alternate scantable (mpeg2/mpeg4)
global_header E.VA. place global headers in extradata instead of every keyframe
bitexact EDVAS use only bitexact stuff (except (i)dct)
aic E.V.. h263 advanced intra coding / mpeg4 ac prediction
umv E.V.. use unlimited motion vectors
cbp E.V.. use rate distortion optimization for cbp
qprd E.V.. use rate distortion optimization for qp selection
aiv E.V.. h263 alternative inter vlc
slice E.V..
ilme E.V.. interlaced motion estimation
scan_offset E.V.. will reserve space for svcd scan offset user data
cgop E.V.. closed gop
-me_method <int> E.V.. set motion estimation method
zero E.V.. zero motion estimation (fastest)
full E.V.. full motion estimation (slowest)
epzs E.V.. EPZS motion estimation (default)
esa E.V.. esa motion estimation (alias for full)
tesa E.V.. tesa motion estimation
dia E.V.. dia motion estimation (alias for epzs)
log E.V.. log motion estimation
phods E.V.. phods motion estimation
x1 E.V.. X1 motion estimation
hex E.V.. hex motion estimation
umh E.V.. umh motion estimation
iter E.V.. iter motion estimation
-g <int> E.V.. set the group of picture size
-cutoff <int> E..A. set cutoff bandwidth
-frame_size <int> E..A.
-qcomp <float> E.V.. video quantizer scale compression (VBR)
-qblur <float> E.V.. video quantizer scale blur (VBR)
-qmin <int> E.V.. min video quantizer scale (VBR)
-qmax <int> E.V.. max video quantizer scale (VBR)
-qdiff <int> E.V.. max difference between the quantizer scale (VBR)
-bf <int> E.V.. use 'frames' B frames
-b_qfactor <float> E.V.. qp factor between p and b frames
-rc_strategy <int> E.V.. ratecontrol method
-b_strategy <int> E.V.. strategy to choose between I/P/B-frames
-hurry_up <int> .DV..
-ps <int> E.V.. rtp payload size in bytes
-bug <flags> .DV.. workaround not auto detected encoder bugs
autodetect .DV..
old_msmpeg4 .DV.. some old lavc generated msmpeg4v3 files (no autodetection)
xvid_ilace .DV.. Xvid interlacing bug (autodetected if fourcc==XVIX)
ump4 .DV.. (autodetected if fourcc==UMP4)
no_padding .DV.. padding bug (autodetected)
amv .DV..
ac_vlc .DV.. illegal vlc bug (autodetected per fourcc)
qpel_chroma .DV..
std_qpel .DV.. old standard qpel (autodetected per fourcc/version)
qpel_chroma2 .DV..
direct_blocksize .DV.. direct-qpel-blocksize bug (autodetected per fourcc/version)
edge .DV.. edge padding bug (autodetected per fourcc/version)
hpel_chroma .DV..
dc_clip .DV..
ms .DV.. workaround various bugs in microsofts broken decoders
-lelim <int> E.V.. single coefficient elimination threshold for luminance (negative values also consider dc coefficient)
-celim <int> E.V.. single coefficient elimination threshold for chrominance (negative values also consider dc coefficient)
-strict <int> EDVA. how strictly to follow the standards
very EDV.. strictly conform to a older more strict version of the spec or reference software
strict EDV.. strictly conform to all the things in the spec no matter what consequences
normal EDV..
inofficial EDV.. allow inofficial extensions
experimental EDV.. allow non standardized experimental things
-b_qoffset <float> E.V.. qp offset between P and B frames
-er <int> .DVA. set error detection aggressivity
careful .DV..
compliant .DV..
aggressive .DV..
very_aggressive .DV..
-mpeg_quant <int> E.V.. use MPEG quantizers instead of H.263
-qsquish <float> E.V.. how to keep quantizer between qmin and qmax (0 = clip, 1 = use differentiable function)
-rc_qmod_amp <float> E.V.. experimental quantizer modulation
-rc_qmod_freq <int> E.V.. experimental quantizer modulation
-rc_eq <string> E.V.. set rate control equation
-maxrate <int> E.V.. set max video bitrate tolerance (in bits/s)
-minrate <int> E.V.. set min video bitrate tolerance (in bits/s)
-bufsize <int> E.VA. set ratecontrol buffer size (in bits)
-rc_buf_aggressivity <float> E.V.. currently useless
-i_qfactor <float> E.V.. qp factor between P and I frames
-i_qoffset <float> E.V.. qp offset between P and I frames
-rc_init_cplx <float> E.V.. initial complexity for 1-pass encoding
-dct <int> E.V.. DCT algorithm
auto E.V.. autoselect a good one (default)
fastint E.V.. fast integer
int E.V.. accurate integer
mmx E.V..
mlib E.V..
altivec E.V..
faan E.V.. floating point AAN DCT
-lumi_mask <float> E.V.. compresses bright areas stronger than medium ones
-tcplx_mask <float> E.V.. temporal complexity masking
-scplx_mask <float> E.V.. spatial complexity masking
-p_mask <float> E.V.. inter masking
-dark_mask <float> E.V.. compresses dark areas stronger than medium ones
-idct <int> EDV.. select IDCT implementation
auto EDV..
int EDV..
simple EDV..
simplemmx EDV..
libmpeg2mmx EDV..
ps2 EDV..
mlib EDV..
arm EDV..
altivec EDV..
sh4 EDV..
simplearm EDV..
simplearmv5te EDV..
simplearmv6 EDV..
simpleneon EDV..
simplealpha EDV..
h264 EDV..
vp3 EDV..
ipp EDV..
xvidmmx EDV..
faani EDV.. floating point AAN IDCT
-ec <flags> .DV.. set error concealment strategy
guess_mvs .DV.. iterative motion vector (MV) search (slow)
deblock .DV.. use strong deblock filter for damaged MBs
-pred <int> E.V.. prediction method
left E.V..
plane E.V..
median E.V..
-aspect <rational> E.V.. sample aspect ratio
-debug <flags> EDVAS print specific debug info
pict .DV.. picture info
rc E.V.. rate control
bitstream .DV..
mb_type .DV.. macroblock (MB) type
qp .DV.. per-block quantization parameter (QP)
mv .DV.. motion vector
dct_coeff .DV..
skip .DV..
startcode .DV..
pts .DV..
er .DV.. error recognition
mmco .DV.. memory management control operations (H.264)
bugs .DV..
vis_qp .DV.. visualize quantization parameter (QP), lower QP are tinted greener
vis_mb_type .DV.. visualize block types
buffers .DV.. picture buffer allocations
-vismv <int> .DV.. visualize motion vectors (MVs)
pf .DV.. forward predicted MVs of P-frames
bf .DV.. forward predicted MVs of B-frames
bb .DV.. backward predicted MVs of B-frames
-mb_qmin <int> E.V.. obsolete, use qmin
-mb_qmax <int> E.V.. obsolete, use qmax
-cmp <int> E.V.. full pel me compare function
sad E.V.. sum of absolute differences, fast (default)
sse E.V.. sum of squared errors
satd E.V.. sum of absolute Hadamard transformed differences
dct E.V.. sum of absolute DCT transformed differences
psnr E.V.. sum of squared quantization errors (avoid, low quality)
bit E.V.. number of bits needed for the block
rd E.V.. rate distortion optimal, slow
zero E.V.. 0
vsad E.V.. sum of absolute vertical differences
vsse E.V.. sum of squared vertical differences
nsse E.V.. noise preserving sum of squared differences
w53 E.V.. 5/3 wavelet, only used in snow
w97 E.V.. 9/7 wavelet, only used in snow
dctmax E.V..
chroma E.V..
-subcmp <int> E.V.. sub pel me compare function
sad E.V.. sum of absolute differences, fast (default)
sse E.V.. sum of squared errors
satd E.V.. sum of absolute Hadamard transformed differences
dct E.V.. sum of absolute DCT transformed differences
psnr E.V.. sum of squared quantization errors (avoid, low quality)
bit E.V.. number of bits needed for the block
rd E.V.. rate distortion optimal, slow
zero E.V.. 0
vsad E.V.. sum of absolute vertical differences
vsse E.V.. sum of squared vertical differences
nsse E.V.. noise preserving sum of squared differences
w53 E.V.. 5/3 wavelet, only used in snow
w97 E.V.. 9/7 wavelet, only used in snow
dctmax E.V..
chroma E.V..
-mbcmp <int> E.V.. macroblock compare function
sad E.V.. sum of absolute differences, fast (default)
sse E.V.. sum of squared errors
satd E.V.. sum of absolute Hadamard transformed differences
dct E.V.. sum of absolute DCT transformed differences
psnr E.V.. sum of squared quantization errors (avoid, low quality)
bit E.V.. number of bits needed for the block
rd E.V.. rate distortion optimal, slow
zero E.V.. 0
vsad E.V.. sum of absolute vertical differences
vsse E.V.. sum of squared vertical differences
nsse E.V.. noise preserving sum of squared differences
w53 E.V.. 5/3 wavelet, only used in snow
w97 E.V.. 9/7 wavelet, only used in snow
dctmax E.V..
chroma E.V..
-ildctcmp <int> E.V.. interlaced dct compare function
sad E.V.. sum of absolute differences, fast (default)
sse E.V.. sum of squared errors
satd E.V.. sum of absolute Hadamard transformed differences
dct E.V.. sum of absolute DCT transformed differences
psnr E.V.. sum of squared quantization errors (avoid, low quality)
bit E.V.. number of bits needed for the block
rd E.V.. rate distortion optimal, slow
zero E.V.. 0
vsad E.V.. sum of absolute vertical differences
vsse E.V.. sum of squared vertical differences
nsse E.V.. noise preserving sum of squared differences
w53 E.V.. 5/3 wavelet, only used in snow
w97 E.V.. 9/7 wavelet, only used in snow
dctmax E.V..
chroma E.V..
-dia_size <int> E.V.. diamond type & size for motion estimation
-last_pred <int> E.V.. amount of motion predictors from the previous frame
-preme <int> E.V.. pre motion estimation
-precmp <int> E.V.. pre motion estimation compare function
sad E.V.. sum of absolute differences, fast (default)
sse E.V.. sum of squared errors
satd E.V.. sum of absolute Hadamard transformed differences
dct E.V.. sum of absolute DCT transformed differences
psnr E.V.. sum of squared quantization errors (avoid, low quality)
bit E.V.. number of bits needed for the block
rd E.V.. rate distortion optimal, slow
zero E.V.. 0
vsad E.V.. sum of absolute vertical differences
vsse E.V.. sum of squared vertical differences
nsse E.V.. noise preserving sum of squared differences
w53 E.V.. 5/3 wavelet, only used in snow
w97 E.V.. 9/7 wavelet, only used in snow
dctmax E.V..
chroma E.V..
-pre_dia_size <int> E.V.. diamond type & size for motion estimation pre-pass
-subq <int> E.V.. sub pel motion estimation quality
-me_range <int> E.V.. limit motion vectors range (1023 for DivX player)
-ibias <int> E.V.. intra quant bias
-pbias
<int> E.V.. inter quant bias
-coder <int> E.V..
vlc E.V.. variable length coder / huffman coder
ac E.V.. arithmetic coder
raw E.V.. raw (no encoding)
rle E.V.. run-length coder
deflate E.V.. deflate-based coder
-context <int> E.V.. context model
-mbd <int> E.V.. macroblock decision algorithm (high quality mode)
simple E.V.. use mbcmp (default)
bits E.V.. use fewest bits
rd E.V.. use best rate distortion
-sc_threshold <int> E.V.. scene change threshold
-lmin <int> E.V.. min lagrange factor (VBR)
-lmax <int> E.V.. max lagrange factor (VBR)
-nr <int> E.V.. noise reduction
-rc_init_occupancy <int> E.V.. number of bits which should be loaded into the rc buffer before decoding starts
-inter_threshold <int> E.V..
-flags2 <flags> EDVA.
fast E.V.. allow non spec compliant speedup tricks
sgop E.V.. strictly enforce gop size
noout E.V.. skip bitstream encoding
local_header E.V.. place global headers at every keyframe instead of in extradata
bpyramid E.V.. allows B-frames to be used as references for predicting
wpred E.V.. weighted biprediction for b-frames (H.264)
mixed_refs E.V.. one reference per partition, as opposed to one reference per macroblock
dct8x8 E.V.. high profile 8×8 transform (H.264)
fastpskip E.V.. fast pskip (H.264)
aud E.V.. access unit delimiters (H.264)
skiprd E.V.. RD optimal MB level residual skipping
ivlc E.V.. intra vlc table
drop_frame_timecode E.V..
non_linear_q E.V.. use non linear quantizer
reservoir E..A. use bit reservoir
-error <int> E.V..
-antialias <int> .DV.. MP3 antialias algorithm
auto .DV..
fastint .DV..
int .DV..
float .DV..
-qns <int> E.V.. quantizer noise shaping
-threads <int> EDV..
-mb_threshold <int> E.V.. macroblock threshold
-dc <int> E.V.. intra_dc_precision
-nssew <int> E.V.. nsse weight
-skip_top <int> .DV.. number of macroblock rows at the top which are skipped
-skip_bottom <int> .DV.. number of macroblock rows at the bottom which are skipped
-profile <int> E.VA.
unknown E.VA.
aac_main E..A.
aac_low E..A.
aac_ssr E..A.
aac_ltp E..A.
-level <int> E.VA.
unknown E.VA.
-lowres <int> .DV.. decode at 1= 1/2, 2=1/4, 3=1/8 resolutions
-skip_threshold <int> E.V.. frame skip threshold
-skip_factor <int> E.V.. frame skip factor
-skip_exp <int> E.V.. frame skip exponent
-skipcmp <int> E.V.. frame skip compare function
sad E.V.. sum of absolute differences, fast (default)
sse E.V.. sum of squared errors
satd E.V.. sum of absolute Hadamard transformed differences
dct E.V.. sum of absolute DCT transformed differences
psnr E.V.. sum of squared quantization errors (avoid, low quality)
bit E.V.. number of bits needed for the block
rd E.V.. rate distortion optimal, slow
zero E.V.. 0
vsad E.V.. sum of absolute vertical differences
vsse E.V.. sum of squared vertical differences
nsse E.V.. noise preserving sum of squared differences
w53 E.V.. 5/3 wavelet, only used in snow
w97 E.V.. 9/7 wavelet, only used in snow
dctmax E.V..
chroma E.V..
-border_mask <float> E.V.. increases the quantizer for macroblocks close to borders
-mblmin <int> E.V.. min macroblock lagrange factor (VBR)
-mblmax <int> E.V.. max macroblock lagrange factor (VBR)
-mepc <int> E.V.. motion estimation bitrate penalty compensation (1.0 = 256)
-skip_loop_filter <int> .DV..
none .DV..
default .DV..
noref .DV..
bidir .DV..
nokey .DV..
all .DV..
-skip_idct <int> .DV..
none .DV..
default .DV..
noref .DV..
bidir .DV..
nokey .DV..
all .DV..
-skip_frame <int> .DV..
none .DV..
default .DV..
noref .DV..
bidir .DV..
nokey .DV..
all .DV..
-bidir_refine <int> E.V.. refine the two motion vectors used in bidirectional macroblocks
-brd_scale <int> E.V.. downscales frames for dynamic B-frame decision
-crf <float> E.V.. enables constant quality mode, and selects the quality (x264)
-cqp <int> E.V.. constant quantization parameter rate control method
-keyint_min <int> E.V.. minimum interval between IDR-frames (x264)
-refs <int> E.V.. reference frames to consider for motion compensation (Snow)
-chromaoffset <int> E.V.. chroma qp offset from luma
-bframebias <int> E.V.. influences how often B-frames are used
-trellis <int> E.VA. rate-distortion optimal quantization
-directpred <int> E.V.. direct mv prediction mode – 0 (none), 1 (spatial), 2 (temporal), 3 (auto)
-complexityblur <float> E.V.. reduce fluctuations in qp (before curve compression)
-deblockalpha <int> E.V.. in-loop deblocking filter alphac0 parameter
-deblockbeta <int> E.V.. in-loop deblocking filter beta parameter
-partitions <flags> E.V.. macroblock subpartition sizes to consider
parti4x4 E.V..
parti8x8 E.V..
partp4x4 E.V..
partp8x8 E.V..
partb8x8 E.V..
-sc_factor <int> E.V.. multiplied by qscale for each frame and added to scene_change_score
-mv0_threshold <int> E.V..
-b_sensitivity <int> E.V.. adjusts sensitivity of b_frame_strategy 1
-compression_level <int> E.VA.
-use_lpc <int> E..A. sets whether to use LPC mode (FLAC)
-lpc_coeff_precision <int> E..A. LPC coefficient precision (FLAC)
-min_prediction_order <int> E..A.
-max_prediction_order <int> E..A.
-prediction_order_method <int> E..A. search method for selecting prediction order
-min_partition_order <int> E..A.
-max_partition_order <int> E..A.
-timecode_frame_start <int64> E.V.. GOP timeco

de frame start number, in non drop frame format
-request_channels <int> .D.A. set desired number of audio channels
-drc_scale <float> .D.A. percentage of dynamic range compression to apply
-channel_layout <int64> ED.A.
-request_channel_layout <int64> .D.A.
-rc_max_vbv_use <float> E.V..
-rc_min_vbv_use <float> E.V..
-ticks_per_frame <int> EDVA.
-color_primaries <int> EDV..
-color_trc <int> EDV..
-colorspace <int> EDV..
-color_range <int> EDV..
-chroma_sample_location <int> EDV..

AVFormatContext AVOptions:
-probesize <int> .D… set probing size
-muxrate <int> E…. set mux rate
-packetsize <int> E…. set packet size
-fflags <flags> ED…
ignidx .D… ignore index
genpts .D… generate pts
-track <int> E…. set the track number
-year <int> E…. set the year
-analyzeduration <int> .D… how many microseconds are analyzed to estimate duration
-cryptokey <binary> .D… decryption key
-indexmem <int> .D… max memory used for timestamp index (per stream)
-rtbufsize <int> .D… max memory used for buffering real-time frames
-fdebug <flags> ED… print specific debug info
ts ED…

SWScaler AVOptions:
-sws_flags <flags> E.V.. scaler/cpu flags
fast_bilinear E.V.. fast bilinear
bilinear E.V.. bilinear
bicubic E.V.. bicubic
experimental E.V.. experimental
neighbor E.V.. nearest neighbor
area E.V.. averaging area
bicublin E.V.. luma bicubic, chroma bilinear
gauss E.V.. gaussian
sinc E.V.. sinc
lanczos E.V.. lanczos
spline E.V.. natural bicubic spline
print_info E.V.. print info
accurate_rnd E.V.. accurate rounding
mmx E.V.. MMX SIMD acceleration
mmx2 E.V.. MMX2 SIMD acceleration
3dnow E.V.. 3DNOW SIMD acceleration
altivec E.V.. AltiVec SIMD acceleration
bfin E.V.. Blackfin SIMD acceleration
full_chroma_int E.V.. full chroma interpolation
full_chroma_inp E.V.. full chroma input
bitexact E.V..

关于linux监控硬件系统状态(如CPU温度,风扇转速等)

LINUX | Posted by 老沙
12月 21 2009

1.安装相关的包需要4个包,分别为
dmidecode,lm_sensors,lm_sensors-devel,gnome-applet-sensors

命令:yum install dmidecode lm_sensors lm_sensors-devel gnome-applet-sensors

2.参数设置(可以省略,省略后就完显示全部信息)
进入root :su –
/usr/sbin/sensors-detect (这个是传感器的探测程序)
全部回答yes,如果不要哪个,就回答no,不过一般全是yes

3、测试
输入sensors,就会看到如下的输出了。

[root@main ~]# sensors
atk0110-acpi-0
Adapter: ACPI interface
Vcore Voltage: +1.24 V (min = +0.85 V, max = +1.60 V)
+3.3 Voltage: +3.30 V (min = +2.97 V, max = +3.63 V)
+5 Voltage: +5.12 V (min = +4.50 V, max = +5.50 V)
+12 Voltage: +12.04 V (min = +10.20 V, max = +13.80 V)
CPU FAN Speed: 2463 RPM (min = 600 RPM)
CHASSIS1 FAN Speed:4017 RPM (min = 800 RPM)
CHASSIS2 FAN Speed:2191 RPM (min = 800 RPM)
CHASSIS3 FAN Speed: 0 RPM (min = 800 RPM)
POWER FAN Speed: 0 RPM (min = 800 RPM)
CPU Temperature: +62.5°C (high = +60.0°C, crit = +95.0°C)
MB Temperature: +43.0°C (high = +45.0°C, crit = +95.0°C)

gnome-applet-sensors工具是在面板上显示温度,及报警等,支持NVIDIA显卡温度显示

fedora12 dmraid组raid0(ICH8R) 晕到家了

LINUX | Posted by 老沙
12月 20 2009

从fedora12正试版放出那天,我下载了,安装了无论如何也认不出我的raid来
报错大体是
the dynamic shared library "libdmraid-events-isw.so" could not be loaded
无耐,我只有转移了所有数据,放弃了raid
后来试验新的centos5.4 安装后,在系统下输入dmraid -ay 发现有类似的输出
后来换回fedora12,引导后不手工激活raid,反而可以安装,如果手工激活了
就认不出硬盘来了(不是不认raid,是没有硬盘),晕到家了.
以前是必须手动激活,现在是手动激活就是一个死。~~~~~~~~~~~

ATI 想说爱你 不容易(NVIDIA驱动安装)

LINUX | Posted by 老沙
12月 20 2009

我有一公版1950GT,好大个,好费电,性能好高(那是以前) 🙂
ATI的linux驱动,支持那叫一个烂。
无耐,在老婆大人,CCTV,BTV,EASY FM,等大力支持下
于昨天下昨5时,入手一块二手7300GT显卡(比我原来1950GT差)

在我fedora12下安装驱动,在网上找
www.nvidia.com下载的驱动190.42

1 在/boot/grub/grub.conf 里加上 nomodeset 参数
2.在 /etc/modprobe.d/blacklist.conf 文件最后加上 blacklist nouveau 参数
3.重启,用自己第一步修改了的参数引导,然后 init 3 然后正常安装
4.完成后init 5进入图形界面
=========================================================
这时就OK了。只是开机的图形介面没有了。
如果没安装成功,请看/var/log/nvidia-installer.log

5.把nomodeset 参数改为nouveau.modeset=0参数,
6.如果要开机动画,在最后加上vga=792参数,(792这个数与分辨率有关,可以用vga=ask查询)
第6步,我用ask查了,没有1440×900的,网上查到的参数868,869,356,355,354全试了,都不行,无耐。只能先这样了,我最后用了vga=0x33e 这个是640×400的分辨率,起码看着正常点,就是开机的图标个头大了点,呵呵。先这样吧。祝你们好运

linux mplayer 手工 编译安装 不报错 完美运行

LINUX | Posted by 老沙
12月 15 2009

先下载相关软件包
http://www.mplayerhq.hu/MPlayer/releases/codecs/essential-amd64-20071007.tar.bz2
http://www1.mplayerhq.hu/MPlayer/releases/MPlayer-1.0rc2.tar.bz2
http://www1.mplayerhq.hu/MPlayer/releases/codecs/all-20071007.tar.bz2
http://www1.mplayerhq.hu/MPlayer/releases/codecs/windows-all-20071007.zip
http://www1.mplayerhq.hu/MPlayer/skins/Abyss-1.7.tar.bz2
http://www1.mplayerhq.hu/MPlayer/contrib/fonts/chinesefonts/gb2312-ming.tar.bz2
http://downloads.sourceforge.net/smplayer/smplayer-0.5.62.tar.bz2

安装解码器
tar jvxf all-20071007.tar.bz2
mv all-20071007 /usr/lib64/codecs
unzip windows-all-20071007.zip
mv windows-all-20071007 /usr/lib64/win32
tar xjvf essential-amd64-20071007.tar.bz2
mv essential-amd64-20071007/* /usr/lib64/codecs/

安装mplayer
tar jxvf MPlayer-1.0rc2.tar.bz2
cd MPlayer-1.0rc2
./configure –enable-gui –codecsdir=/usr/lib64/codecs –win32codecsdir=/usr/lib64/win32 –language=zh_CN –disable-ivtv
make && make install

安装mplayer的皮肤和字体文件
tar jvxf Abyss-1.7.tar.bz2
mv Abyss /usr/local/share/mplayer/skins/default
tar jvxf gb2312-ming.tar.bz2
cd gb2312-ming/gbsn00lp16/
mkdir /usr/local/share/mplayer/font
cp * /usr/local/share/mplayer/font/

这时你在终端输入gmplayer已经可以运行和播放视频了
你可以双击视频文件,手动指定用gmplayer来播放
也可以安装smplayer

安装smplayer
yum install qt4 qt4-devel
tar xjvf smplayer-0.5.62.tar.bz2
cd smplayer-0.5.62/
make QMAKE=/usr/lib64/qt4/bin/qmake
make install

=====================================================

注:

修改源代码libvo/video_out.c,中101行处(没有备份以前的,大约是这个地方,所以给你贴了一段),将这一段代码:

#ifdef HAVE_DIRECTX
extern vo_functions_t video_out_directx;
#endif
#ifdef HAVE_DXR2
extern vo_functions_t video_out_dxr2;
#endif
extern vo_functions_t video_out_dxr3;
#ifdef HAVE_IVTV
extern vo_functions_t video_out_ivtv;
#endif
#ifdef HAVE_V4L2_DECODER
extern vo_functions_t video_out_v4l2;

修改为:

#ifdef HAVE_DIRECTX
extern vo_functions_t video_out_directx;
#endif
#ifdef HAVE_DXR2
extern vo_functions_t video_out_dxr2;
#endif
//就是这里: //下面三行修改过,添加了编译预处理宏,搭配--disable-ivtv配置参数使用
#ifdef HAVE_DXR3 //新加行
extern vo_functions_t video_out_dxr3;
#endif //新加行
//以上三行修改过,源码只有下面一行:
//extern vo_functions_t video_out_dxr3;
#ifdef HAVE_IVTV
extern vo_functions_t video_out_ivtv;
#endif
#ifdef HAVE_V4L2_DECODER
extern vo_functions_t video_out_v4l2;

=====================================

ao_alsa unable to find simple control ‘pcm’ 0

办法1:在audio里选择pulse

如果没有pulse,就

在Mplayer设置菜单里把那个Normalize Sound、 enable equ….、enable software…的三项打上勾选中确定就不会报错了

linux ACL 操作 (转)

LINUX | Posted by 老沙
12月 14 2009

准备工作

支持ACL需要内核和文件系统的支持。现在2.6内核配合EXT2/EXT3, JFS, XFS, ReiserFS等文件系统都是可以支持ACL的。用自己工作用的物理分区体验ACL,总是不明智的行为。万一误操作导致分区的损坏,造成数据的丢失,损失就大了。作一个loop设备是个安全的替代方法。这样不需要一个单独的分区,也不需要很大的硬盘空间,大约有个几百KB就足够进行我们的体验了。OK,下面我使用Fedora Core 5和Ext3文件开始对Linux的ACL的体验。

首先创建一个512KB的空白文件:

[root@FC3-vm opt]# dd if=/dev/zero of=/opt/testptn count=512
512+0 records in
512+0 records out

和一个loop设备联系在一起:

[root@FC3-vm opt]# losetup /dev/loop0 /opt/testptn

创建一个EXT2的文件系统:

[root@FC3-vm opt]# mke2fs /dev/loop0
mke2fs 1.35 (28-Feb-2004)
max_blocks 262144, rsv_groups = 32, rsv_gdb = 0
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
32 inodes, 256 blocks
12 blocks (4.69%) reserved for the super user
First data block=1
1 block group
8192 blocks per group, 8192 fragments per group
32 inodes per group

Writing inode tables: done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 30 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.

挂载新建的文件系统(注意mount选项里的acl标志,我们靠它来通知内核我们需要在这个文件系统中使用ACL):

[root@FC3-vm opt]# mount -o rw,acl /dev/loop0 /mnt
[root@FC3-vm opt]# cd /mnt
[root@FC3-vm mnt]# ls
lost+found

现在我已经得到了一个小型的文件系统。而且是支持ACL的。并且即使彻底损坏也不会影响硬盘上其他有价值的数据。可以开始我们的ACL体验之旅了。

体验1 - ACL的基本操作:添加和修改

我首先新建一个文件作为实施ACL的对象:

[root@FC3-vm mnt]# touch file1
[root@FC3-vm mnt]# ls -l file1
-rw-r–r– 1 root root 7 Dec 11 00:28 file1

然后看一下这个文件缺省的ACL,这时这个文件除了通常的UGO的权限之外,并没有ACL:

[root@FC3-vm mnt]# getfacl file1
# file: file1
# owner: root
# group: root
user::rw-
group::r–
other::r-

*注意:即使是不支持ACL的情况下,getfacl仍然能返回一个这样的结果。不过setfacl是不能工作的。

下面添加几个用户和组,一会我将使用ACL赋予他们不同的权限:

[root@FC3-vm mnt]# groupadd testg1
[root@FC3-vm mnt]# useradd testu1
[root@FC3-vm mnt]# useradd testu2
[root@FC3-vm mnt]# usermod -G testg1 testu1

现在我们看看testu1能做什么:

[root@FC3-vm mnt]# su testu1
[testu1@FC3-vm mnt]$ echo "testu1" >> file1
bash: file1: Permission denied

失败了。因为file1并不允许除了root以外的用户写。我们现在就通过修改file1的ACL赋予testu1足够的权限:

[root@FC3-vm mnt]# setfacl -m u:testu1:rw file1
[root@FC3-vm mnt]# su testu1
[testu1@FC3-vm mnt]$ echo "testu1" >> file1
[testu1@FC3-vm mnt]$ cat file1
testu1

修改成功了,用户testu1可以对file1做读写操作了。我们来看一下file1的ACL:

[testu1@FC3-vm mnt]$ getfacl file1
# file: file1
# owner: root
# group: root
user::rw-
user:testu1:rw-
group::r–
mask::rw-
other::r-

我们ls看一下:

[root@FC3-vm mnt]# ls -l file1
-rw-rw-r–+ 1 root root 7 Dec 11 00:28 file1

可以看到那个"+"了么?就在通常我们看到的权限位的旁边。这个说明file1设置了ACL, 接下来我们修改一下testu1的权限,同时给testg1这个组以读的权限:

[root@FC3-vm mnt]# setfacl -m u:testu1:rwx,g:testg1:r file1
[root@FC3-vm mnt]# getfacl file1
# file: file1
# owner: root
# group: root
user::rw-
user:testu1:rwx
group::r–
group:testg1:r–
mask::rwx
other::r-

可以看到设置后的权限,testu1已经有了执行的权限,而testg1这个组也获得了读取文件内容的权限。也许有人已经注意到了两个问题:首先,file1的组权限从r–变成了rw-。其次,mask是什么?为什么也变化了呢?我们先从mask说起。如果说acl的优先级高于UGO,那么 mask就是一个名副其实的最后一道防线。它决定了一个用户/组能够得到的最大的权限。这样我们在不破坏已有ACL的定义的基础上,可以临时提高或是降低安全级别:

[root@FC3-vm mnt]# setfacl -m mask::r file1
[root@FC3-vm mnt]# getfacl file1
# file: file1
# owner: root
# group: root
user::rw-
user:testu1:rwx #effective:r–
group::r–
group:testg1:r–
mask::r–
other::r–

[root@FC3-vm mnt]# ls -l file1
-rw-r–r–+ 1 root root 7 Dec 11 00:28 file1

在testu1对应的ACL项的后边出现了effective的字样,这是实际testu1得到的权限。Mask只对其他用户和组的权限有影响,对owner和other的权限是没有任何影响的。执行ls的结果也显示UGO的设置也有了对应的变化。因为在使用了ACL的情况下,group的权限显示的就是当前的mask。通常我们把mask设置成rwx,以不阻止任何的单个ACL项。

*需要注意的是,每次修改或添加某个用户或组的ACL项的时候,mask都会随之修改以使最新的修改能够真正生效。所以如果需要一个比较严格的mask的话,可能需要每次都重新设置一下mask。

体验2 - ACL的其他功能:删除和覆盖

我们来看一下其他的ACL操作。首先如何删除已有的ACL项呢?

[root@FC3-vm mnt]# setfacl -x g:testg1 file1
[root@FC3-vm mnt]# getfacl file1
# file: file1
# owner: root
# group: root
user::rw-
user:testu1:rwx
group::r–
mask::rwx
other::r–

我们看到testg1的权限已经被去掉了。如果需要去掉所有的ACL可以用-b选项。所有的ACL项都会被去掉。

[root@FC3-vm mnt]# setfacl -b file1
[root@FC3-vm mnt]# getfacl file1
# file: file1
# owner: root
# group: root
user::rw-
group::r–
other::r–

我们可以用–set 设置一些新的ACL项,并把原有的ACL项全部都覆盖掉。和-m不同,-m选项只是修改已有的配置或是新增加一些。–set选项会把原有的ACL项都删除,用新的替代,需要注意的是一定要包含UGO的设置,不能象-m一样只是添加ACL就可以了。比如下边这一段:

[root@FC3-vm mnt]# setfacl –set u::rw,u:testu1:rw,g::r,o::- file1
[root@FC3-vm mnt]# getfacl file1
# file: file1
# owner: root
# group: root
user::rw-
user:testu1:rw-
group::r–
mask::rw-
other::—

o::-是另一个需要注意的地方。其实完整的写法是other::—,正如u::rw的完整写法是user::rw-。通常我们可以把"-"省略,但是当权限位只包含"-"时,必须至少保留一个。如果写成了o::,就会出现错误。

如果希望对目录下的所有子目录都设置同样的ACL,可以使用-R参数:

[root@FC3-vm mnt]# setfacl –set u::rw,u:testu1:rw,g::r,o::- dir1

如果希望能从一个文件来读入ACL,并修改当前的文件的ACL,可以用-M参数:

[root@FC3-vm mnt]# cat test.acl
user:testu1:rw-
user:testu2:rw-
group:testg1:r–
group:testg2:r–
ma

sk::rw-
other::—

体验3 - 目录的默认ACL

如果我们希望在一个目录中新建的文件和目录都使用同一个预定的ACL,那么我们可以使用默认(Default) ACL。在对一个目录设置了默认的ACL以后,每个在目录中创建的文件都会自动继承目录的默认ACL作为自己的ACL。用setfacl的-d选项就可以做到这一点:

[root@FC3-vm mnt]# setfacl -d –set g:testg1:rwx dir1
[root@FC3-vm mnt]# getfacl dir1
# file: dir1
# owner: root
# group: root
user::rwx
group::r-x
other::r-x
default:user::rwx
default:group::r-x
default:group:testg1:rwx
default:mask::rwx
default:other::r-x

可以看到默认ACL已经被设置了。建立一个文件试试:

[root@FC3-vm mnt]# touch dir1/file1
[root@FC3-vm mnt]# getfacl dir1/file1
# file: dir1/file1
# owner: root
# group: root
user::rw-
group::r-x #effective:r–
group:testg1:rwx #effective:rw-
mask::rw-
other::r–

file1自动继承了dir1对testg1设置的ACL。只是由于mask的存在使得testg1只能获得rw-权限。

体验4 - 备份和恢复ACL

主要的文件操作命令cp和mv都支持ACL,只是cp命令需要加上-p 参数。但是tar等常见的备份工具是不会保留目录和文件的ACL信息的。如果希望备份和恢复带有ACL的文件和目录,那么可以先把ACL备份到一个文件里。以后用–restore选项来回复这个文件中保存的ACL信息:

[root@FC3-vm mnt]# getfacl -R dir1 > dir1.acl
[root@FC3-vm mnt]# ls -l dir1.acl
total 16
-rw-r–r– 1 root root 310 Dec 12 21:10 dir1.acl

我们用-b选项删除所有的ACL数据,来模拟从备份中回复的文件和目录:

[root@FC3-vm mnt]# setfacl -R -b dir1
[root@FC3-vm mnt]# getfacl -R dir1
# file: dir1
# owner: root
# group: root
user::rwx
group::r-x
other::r-x

# file: dir1/file1
# owner: root
# group: root
user::rw-
group::r–
other::r–

现在我们从dir1.acl中恢复被删除的ACL信息:

[root@FC3-vm mnt]# setfacl –restore dir1.acl
[root@FC3-vm mnt]# getfacl -R dir1
# file: dir1
# owner: root
# group: root
user::rwx
group::r-x
other::r-x
default:user::rwx
default:group::r-x
default:group:testg1:rwx
default:mask::rwx
default:other::r-x

# file: dir1/file1
# owner: root
# group: root
user::rw-
group::r-x #effective:r–
group:testg1:rwx #effective:rw-
mask::rw-
other::r–

结语

ACL 的引入使得大规模的复杂权限管理可以很容易的在 Linux 上实现。对于 /home 这样存放大量用户文件的分区,可以做到更有效的管理。但是我们也看到在备份工具等方面的欠缺,好在 FC2 中已经开始包含了 star 这样的支持 ACL 的备份工具,虽然还是 alpha 版。

在单个文件的 ACL 条目的数量上,不同的文件系统有不同的限制。Ext2 和 Ext3 只能支持每个文件 25 个 ACL 条目。ReiserFS 和 JFS 可以支持超过 8,000 个条目。这个方面 Ext* 文件系统还需要加强。

无论多么复杂的系统中,文件系统的权限管理都是最基础的内容。而 Linux 对 ACL的支持,无疑是一把管理海量用户系统的利器,对 Linux 在大规模的企业级应用中更方便的发挥更大的作用添了一把火。

fedora12 安装与使用 tor

LINUX | Posted by 老沙
12月 14 2009

fedora12
1.yum install tor
tor-0.2.1.19-2.fc12.x86_64

2.yum install vidalia
他会连同privoxy一起安装

=================================
使用时的问题
解决Tor目录服务器被封无法使用,并一直提示"Stuck at 5%"的方法
[WARING] Problem bootstrapping. Stuck at 5%: Connecting to directory server. (Socket is not connected [WSAENOTCONN ]; NOROUTE; count 1; recommendation warn)
[HINT] No current certificate known for authority moria1; launching request.
[HINT] No current certificate known for authority tor26; launching request.
[HINT] No current certificate known for authority dizum; launching request.
[HINT] No current certificate known for authority ides; launching request.
[HINT] No current certificate known for authority gabelmoo; launching request.
[HINT] No current certificate known for authority dannenberg; launching request.

解决办法为
向 bridges@torproject.org 发送一封内容为 "get bridges" 的邮件(不要引号),邮件标题建议也填写get bridges

注:不要用国内的邮箱发送邮件,最好用Gmail
3秒钟后你就会收到回复中的bridges的IP地址
加入到vidalia的设置中就OK了

windows版的更方便,双击就OK了,不用安装,下载地址不能提供,否则网站会被封的,这是国内不让用的东东,如果想用,各位同人就好自为知吧。

更高效的WPA破解大法 GPU加速 Elcomsoft Wireless Security Auditor

LINUX | Posted by 老沙
12月 14 2009

具体内容,见
http://security.zdnet.com.cn/security_zone/2009/0227/1350960.shtml