|
发表于 2009-11-29 12:04:46
|
显示全部楼层
建议楼主:每次更新时(包括新增功能、Bugfix),都在顶楼帖子里按时间顺序一一列出,同时编辑一下顶楼标题加上“xx年xx月xx日更新”,有patch等补丁就在更新说明下加个链接或者说明在xx楼有补丁下载;再发个新帖说明一下同时也把你自己的帖子顶上去。这样既能统一记录和展现ffcast的演进历程,又能让Fans们及时了解最新进展。例如下面这样可不可以:
功能简介:
引用:*调用ffmpeg录制所选屏幕区域
*支持ffmpeg所支持的所有编码格式
*选择录制区域的方式有多种:
>a) 全屏(-a选项)
>b) 鼠标点选; 支持选择多个窗口(-n选项)
>c) 命令行指定窗口ID; 支持选择多个窗口(-i选项)
>d) 鼠标拖拽选择, 就如同`scrot -s'(-s选项)
>e) 命令行自由指定选区 (-j选项)
*对于选区方式b)和c), 可选择考虑或者忽略窗口边框(-B/-b选项)
*默认采用无损x264编码,输出视频体积相当小巧
*可选所有ffmpeg预置的x264 presets, 使得视频质量控制更简便
*CLI
我在Michal Witkowski原来的小脚本的基础上, 增加/调整了相当数量的代码
另外从scrot的main.c中提取/修改了xrectsel.c, 以实现鼠标拖拽选择矩形区域的功能
安装后在/usr/bin/下会增加两个文件: ffcast 和 xrectsel
欢迎使用, 试验, 报错, 索要新功能
欢迎提供patch以及money
[color="Red"]09-11-28, 22:45 更新:
(A)增加了配置文件, 虽然还是觉得没有多大必要(选项很少)
关于配置文件, 需要注意的几点:
引用:1. 只能且必须使用单引号: 比如 SELMODE='XWININFO' 是可以的, 但 SELMODE=“XWININFO” 却是不行的, 它将被忽略
2. 如果要在单引号内使用单引号, 你必须使用'"'"'
3. 用户配置文件的位置: $XDG_CONFIG_HOME/ffcast/ffcast.conf, 也就是 $HOME/.config/ffcast/ffcast.conf
4. 示例配置文件在/usr/share/ffcast/doc/ffcast.conf
(B)去除了-g -G两个选项, 你可以使用 -f '' -c '' 获得以前-g选项的行为
(C)更新了Makefile和man page.
[color="#ff0000"]xx-xx-xx更新:
xrectsel现在采用十字形鼠标(XC_crosshair), 既有提示作用, 选择也更加准确.
[color="#ff0000"]09-11-26, 15:30 更新:
(A) 添加 -j,--xjustcap <geometry> 选项:
这个选项让用户可以直接在命令行准确指定任意屏幕区域进行录制, 而不需要手动选区.
目前支持的 geometry 格式有:
1) 两点选区: 用两个对角点的 (x,y) 坐标指定矩形区域. 例子:
ffcast -j '20%,30% 960,600' -o cast.mkv
是的, 20% == 20% * 1280 == 256 (1280是我屏幕的横向分辨率)
2) 长x宽+位+置: 例子:
ffcast -j '848x640+4-6 southwest' -o cast.mp4
将指定一个 848x640 大小的区域, 它的左边界距离屏幕左边缘 4 像素(+4), 它的下边界高于屏幕下缘 6 像素(-6)
其中 southwest 是 gravity, 它的作用相当于将这个 848x640 的区域初始位置固定在屏幕左下角,
尔后 +4-6 将这个选区向相应的方向(+为向下或向右, -则相反)移动指定像素(4,6)
正如你的预料, gravity 可以是 northwest(默认), north, northeast, east, southeast, south, southwest, west, center 九个方向
(B) 修改旧选项: -S 现在变成 -w, 这样更符合逻辑(-s,-w,-j) ; -m 更改为 -M, 因为你通常不会用到它.
(C) 修正了一些小bug.
[color="#ff0000"]09-11-25, 21:07 更新:
添加了manpage
[color="#ff0000"]09-11-24, 19:11 更新:
xrectsel.c代码重写。大家有没有注意到 -s 选项引起高CPU使用的现象? 没发现的拿htop瞄一眼然后拍大腿~好消息是, 这个问题已经修正
[color="#ff0000"]09-11-24, 00:54 更新:
刚刚加了新选项, -t,--duration : 用来限制录制的最大时长. 这样就不必每次都按[q]才可以结束了. |
|