CommonPhotoStar(CFS) 使用攻略(如何对照片进行录像)

由于目前还没有中文版的CommonPhotoStar软件,所以很多不懂英文的人都询问这个软件如何使用。

其实不用介绍,您只要自己反复尝试就无师自通了。但是初学的人还是希望能多介绍一点。我就在这里讲几点吧。

(1) 相册中的目录默认地是6个,即0、1、2、3、4、5,单击工具条中最左侧的红色箭头后,一开始播放的是0文件夹,里面预置了两个位图文件。用户可以用自己的照片替换文件夹里的文件,相册就成您自己的了。播放的过程中您只要滚动鼠标中间的滚轮,就可以在不同的文件夹中切换。比如0号文件夹中放置100幅你同伴的照片,1号文件夹中放置20幅你女儿的照片,2号文件夹放置300幅你到凤凰山旅游的照片。

(2) 别以为文件夹和照片多了会影响软件的运行效率,实际上这款软件的能力很强大,内容越多越好玩。例如你可以做900个文件夹,把你的全部照片都分门别类地组织起来。然后利用播放器右键菜单中的Search按钮功能,即可快速地在大量图片中切换到你感兴趣的题材。

(3) 初学者还没有习惯于CommonPhotoStar的操作。可能使用播放器中Record(录制)功能的时候不会操作。其实这个功能是该软件中最重要的功能,应当好好练习一下。正确的使用方法是:播放后按住鼠标右键,在出现的菜单中拖动光标到Record按钮上,释放鼠标右键。这个时候,已经进入录制状态啦,你移动鼠标,照片就跟着动,这样就可以把照片中你选定的部位移动到屏幕中心,这就是调整了录制开始时的中心点(注意并没有录呢)。此状态中,你不但可以调整开始录制时的中心点,而且还可以通过滚动鼠标滚轮,把图片放大!这样就调整了录制开始时的放大倍数。通过这种方法例如在录制人物时,可以把人物的眼睛放大,放在屏幕的正中央。然后按住鼠标左键,真正开始录制了!注意别放手,除非你不想继续录了(可以录大约1分钟呢)。录的过程中,你可以一直移动鼠标,让画面上的人的位置变来变去,并配合滚动鼠标滚轮,把把图放大或缩小,这个过程的图片位置变化和大小的变化正在时刻都被记录下来,感觉就和你拿摄像机拍摄一样,即移动场景、拉进拉远镜头。也许会让你过足摄影的瘾。当你对着一幅照片拍摄了半分钟左右后,你可能觉得录这些就够了,这时只要一松手,释放左键,就录完啦。已经进入自动回放状态!若是我,就会在这种播放状态下轻轻移动鼠标,去看临近的另一幅图片,如果这幅是还没有录制过的,那么只需一按住鼠标左键,就开始录制这一幅了。用这种方法可以在极短的时间内,为大量图片录制,让大量的图片迅速地动起来!呵呵,这世界上迄今为止还从来没有出现过这样好玩的软件!

(4) 有时候你要去干别的事情,不想录制了,只要一下按键盘上的Esc键就完事!就不播放了。或者继续再按Esc键,干脆退出来,软件被关闭了。你可别以为你刚才录的东西没有啦,其实这个软件是个非常有记性的软件,不信你再次打开软件看一下,就什么都明白了,喔,我们还从来没有见过对现场保留如此完善的软件啊。

csf格式文件是江苏科建教育软件有限责任公司开发的流媒体格式,他可以把ppt和教师讲课的视频完美结合,很多大学和大型企业使用这套软件进行教学录像和远程教育,简称科建流媒体格式,有的人甚至称其为“大学课程专用格式”。 一、格式特点。 事实上,csf是一种类似媒体容器的文件格式,可以将非常多的媒体格式包含在其中,而不仅仅限于音、视频。 官方网站上说:“CSF流式媒体格式从最早期的单视音频媒体,到兼容特殊的屏幕流媒体格式,到兼容多种流媒体体系,已经发展成类似AVI结构又含有更多扩展的媒体容器结构。他能够充分展现动态多流体系的魅力。” 二、录制方法。 CSF课件是由科建公司提供的ScenicRecorder、ScenicLive、ScenicStation等相关产品在实际的授课过程中实时记录而成,因而能够充分体现现场教学情景,体现现场氛围,提供更强的教学效果。 录制过程需要相应的软硬件支持,比如摄像机(摄像头?我没试过)等,录制软件(ScenicRecorder、ScenicLive、ScenicStation等,功能上有分别)需要授权许可证,价格不明,但是不会便宜:( 三、播放方法。 早期的CSF文件为CSF1.0/2.0格式,可以由TeachingPlayer播放。后来的格式则可以由ScenicPlayer播放,ScenicPlayer是TeachingPlayer后续产品,该产品能够兼容以前所有的CSF版本文件,同时能够播放各种通用视音频媒体文件,而且,对于相同流量的文件,你比较一下会发现,ScenicPlayer对视频的渲染效果会更好! 四、编辑方法。 使用科建公司的ScenicEditor软件可以对csf文件进行简单的编辑,实现课件成品的最优化。 csf文件播放时会有三个媒体流:音频流、视频流、屏幕流,两个主要窗口:教师授课视频、演示文稿(教师演示屏幕流)。对csf文件的编辑主要是实现对这几个媒体流的增减、截取等操作。 网络上常有人对csf文件进行减肥,其实就是用该软件去除csf文件中作用相对不大的教师上课时的视频影像而保留音频流和演示屏幕流。 五、最新更新 目前,该公司已经在其出品的ScenicEditor编辑软件中增加了将各种通用视音频媒体转换为CSF格式流媒体的功能。(转换成的CSF格式默认采用最新的CSF5.0格式。因此必须使用最新的ScenicPlayer方可播放。) 六、未来实现功能。 下一步,该公司将考虑两个重要改进,一是实现csf文件向普通影音文件格式的转化,一是考虑允许在CSF中集成原始的PPT/WORD/图片/音乐/字母/台标等内容。 七、csf教程文件的获得 常见于emule资源中,比如http://www.verycd.com/,也可在一些bt学习资源站见到,如5q社区、满分网等。 八、常见问题。 1、不能快进等 解决方法:换播放器,用最新的。 2、不能显示教师视频窗口。 解决方法:加装相应的视频解码器,不知道的话就装一个k-lite。
CFS (Completely Fair Scheduler) 算法是一种用于进程调度的算法,它的目标是使得每个进程都能够获得公平的CPU时间片,避免某些进程长时间占用CPU而导致其他进程无法得到执行的情况。下面是一个简单的 C 语言实现: ```c #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <stdbool.h> #include <string.h> #include <sys/wait.h> #include <sys/time.h> #include <sys/resource.h> #include <sched.h> #define MAX_PROCESSES 10 // 进程结构体 typedef struct { int pid; char name[20]; int priority; int cpu_time; int nice; } process_t; // 就绪队列 process_t *ready_queue[MAX_PROCESSES]; int ready_queue_len = 0; // 添加到就绪队列 void add_to_ready_queue(process_t *process) { ready_queue[ready_queue_len++] = process; } // 获取当前时间 long get_current_time() { struct timeval tv; gettimeofday(&tv, NULL); return tv.tv_sec * 1000 + tv.tv_usec / 1000; } // CFS 调度算法 void cfs_schedule() { int i, j; long min_vruntime; process_t *min_process, *tmp_process; while (ready_queue_len > 0) { // 找到 vruntime 最小的进程 min_process = ready_queue[0]; min_vruntime = min_process->cpu_time * 1024 / (1 << min_process->nice); for (i = 1; i < ready_queue_len; i++) { tmp_process = ready_queue[i]; if (tmp_process->cpu_time == 0) { continue; } long tmp_vruntime = tmp_process->cpu_time * 1024 / (1 << tmp_process->nice); if (tmp_vruntime < min_vruntime) { min_vruntime = tmp_vruntime; min_process = tmp_process; } } // 执行进程 printf("Time %ld: %s (%d) executing...\n", get_current_time(), min_process->name, min_process->pid); min_process->cpu_time--; if (min_process->cpu_time == 0) { printf("Time %ld: %s (%d) completed.\n", get_current_time(), min_process->name, min_process->pid); ready_queue_len--; for (j = 0; j < ready_queue_len; j++) { ready_queue[j] = ready_queue[j+1]; } } else { // 重新计算 vruntime,并将进程重新插入就绪队列 long new_vruntime = min_process->cpu_time * 1024 / (1 << min_process->nice); min_process->priority = new_vruntime; tmp_process = min_process; for (i = 0; i < ready_queue_len-1; i++) { if (tmp_process->priority > ready_queue[i+1]->priority) { ready_queue[i] = ready_queue[i+1]; } else { break; } } ready_queue[i] = tmp_process; } } } int main() { int i; process_t processes[MAX_PROCESSES] = { { 1, "Process1", 0, 20, 0 }, { 2, "Process2", 0, 10, 0 }, { 3, "Process3", 0, 30, 0 }, { 4, "Process4", 0, 40, 0 }, { 5, "Process5", 0, 15, 0 }, { 6, "Process6", 0, 25, 0 }, { 7, "Process7", 0, 35, 0 }, { 8, "Process8", 0, 5, 0 }, { 9, "Process9", 0, 45, 0 }, { 10, "Process10", 0, 50, 0 } }; // 将所有进程添加到就绪队列 for (i = 0; i < MAX_PROCESSES; i++) { add_to_ready_queue(&processes[i]); } // 执行调度算法 cfs_schedule(); return 0; } ``` 以上代码实现了一个简单的 CFS 调度算法,模拟了 10 个进程的执行。代码中的 process_t 结构体表示一个进程,包括进程名、优先级、CPU 时间、nice 值等信息。ready_queue 数组用于存储就绪队列中的进程,ready_queue_len 表示就绪队列中的进程数量。add_to_ready_queue 函数用于将进程添加到就绪队列中,cfs_schedule 函数实现了 CFS 调度算法。在 main 函数中,我们创建了 10 个进程,并将它们添加到就绪队列中,然后调用 cfs_schedule 函数执行调度算法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值