关于 frame的一些基本知识

简介:

关于 frame的一些基本知识只是摘抄了一部分,供初学者参考。

b.帧速率:帧速率是每秒显示的图像数。标准影片(NTSC) 是29.97 帧第秒 (fps),电影是每秒24 帧fps。欧洲标准是(PAL) 25 帧fps。如果你对你影片的尺寸
不是太注重的话,保留默认的Current选项。这将会使你制作的影片的帧速率和源文件一致。不管怎样,如果你想降低带宽和CPU的占用,你可以选择一个低的帧
速率。高的帧速率拥有高的品质的,但文件尺寸也更大。如果你选择的帧速率低于你的源文件的帧速率,一些帧将被删除。如果你选择的帧速率比你的源文件高
的话,已有的帧将被重复 (不推荐,因为增加了尺寸,但品质没有提高)。如果你选择的帧速率低于你的源文件的帧速率,使用一个你当前帧速率的简分数,比如
1/2, 1/3 等等。例如,你当前的帧速率是30 (29.97),使用15 或10。但话说回来了,要最好的H.264品质,最好保留Current,当前)设置。
c.关键帧:很多编码软件使用frame differencing(帧差异)来压缩图像。帧差异其实是判断从开始帧起哪些信息发生了变化 (称为key frame关键帧)。关键帧
包含了图像的所有信息。后来的帧仅包含改变了的信息。这取决于你用的编码软件,你可以指定你想要的关键帧如何出现。 如果你没有足够的关键帧,你的影片
品质可能比较差,因为所有的帧从别的帧处产生。另一问题是,关键帧多了将导致影片更大,码率更高。 在一些编码软件中,当从一帧到下一帧有太多的内容发
生改变时,那些增加的关键帧是自动插入的。 对于一般的用途,一个比较好的原则是每5秒设一个关键帧。如果你正在建立一个RTSP流文件,并且关心传输网络
的可靠度,你可能要1到2秒增加一个关键帧。要让编码软件来处理关键帧的间隔,选择 Automatic。针对H.264,我们推荐让编码软件来确定关键帧的间隔,为
此你要选择Automatic以获得最佳品质。
e.码率:通常情况下,高码率就有高的品质,但文件也会很大。在大多数情况下,你要根据你观看的影片设置码率,例如,对于384K 连接速度,你要限制码率为
350-360k每秒来留一些带宽给网络传输。如果文件是下载回来后播放,那码率可以很高(高码率,然而,网速比较慢的用户将要花比较长的时间来等待播放的开
始)。另外,记住在对话框中设置码率时,你要留一些空间给音频。
针对 H.264, 这里有一些常用的码率方案:
§ 画面尺寸 1920 x 1080 (真正高清), 选择码率为7,000-8,000 Kbps。
§ 画面尺寸 1280 x 720 (通用高清), 选择码率为5,000-6,000 Kbps。
§ 画面尺寸 640 x 480 (标清), 选择码率为1,000-2,000 Kbps。
§ 画面尺寸 320 x 240 (网络传输), 选择码率为300-500 Kbps。
§ 画面尺寸176 x 144 (3G), 10-15 fps的内容选择码率为50-60 Kbps, 24-30 fps 的内容选择码率为150-200 Kbps。
提及3G 格式, 一定要记住影片的码率会被你设置的其它的压缩选项所影响, 如同帧速率。因此高的帧速率,要有高的码率,如果你对码率要求不是特别严格并
且你只想QuickTime带给你一个比较好的影片效果,你可以通过选择Automatic让H.264 编码器选择一个理想的码率。 编码器会按你选择的尺寸和你用品质滑
动条选择的品质来选择合适的编码。
f.优化:如果你已经输入了你自己的码率而不是自动选择码率,在Optimized for 下拉菜单中就有你选择的传送方式的相关选项。这些选项将告诉编码器可以高于
或低于你选择的的码率多少。要得到最好的品质,选择Download。如果你想要借助CD 或 DVD来传送影片,在码率中选择 CD/DVD,CD/DVD需要被进行一些限制
,因此光驱要保持与观看者的电脑读与数据传送畅通 。如果你想借助RTSP流来传送影片,码率选择Streaming 将是最大限制。此选项仅能用于有限制的压缩软
件,如H.264。

相关问题:

为什么会有关键帧的存在?

对应解答:

这是因为mpeg或者其他压缩方法(我只了解过mpeg),为了提高压缩比,就选择某一帧作为基帧,以它为参考,后面的帧只记录改变的信息,这是一个压缩的
技巧,记录信息的改变是通过前后帧之间的图像相关性来完成的,分为(I,B,P)三种帧式,这三种帧式分别是三种不同的采用相关性的方式。这里的基帧就是
关键帧了。

有关该问题的讨论帖可参考ffmpeg工程组论坛中的相关讨论:

有关frame的一些基本知识的讨论


本文转自peterzb博客园博客,原文链接:http://www.cnblogs.com/peterzb/archive/2009/05/16/1458083.html ,如需转载请自行联系原作者。
目录
相关文章
|
3月前
|
数据采集 人工智能 自然语言处理
toolkit-frame(实用框架)
toolkit-frame(实用框架)
19 0
|
11月前
零基础VB教程016期:frame控件分组制作色板工具-案例实战
零基础VB教程016期:frame控件分组制作色板工具-案例实战
|
存储 C语言 内存技术
单片机原理与应用以及C51编程技术——data,idata,xdata,pdata,code
单片机原理与应用以及C51编程技术——data,idata,xdata,pdata,code
257 0
|
Python
Python经典编程习题100例:第64例:利用ellipse 和 rectangle 画图
Python经典编程习题100例:第64例:利用ellipse 和 rectangle 画图
53 0
|
Python 容器
【tkinter学习笔记 - 1】:第一个GUI程序、Frame框架的使用、Label标签
【tkinter学习笔记 - 1】:第一个GUI程序、Frame框架的使用、Label标签
130 0
【tkinter学习笔记 - 1】:第一个GUI程序、Frame框架的使用、Label标签
|
Python
pygame入门基础知识(五)
pygame入门基础知识(五
146 0
|
Python
pygame入门基础知识(四)
pygame 碰撞检测功能:
145 0
|
Python 容器
pygame入门基础知识(三)
> pygame中最长使用的模块sprite精灵模块 在一个游戏程序中,精灵本质指的是一张张小尺寸的图片,比如游戏中的各种道具、人物、场景装饰等,它们都可以看做成一张张小的“精灵”图。除此之外,人物的移动也可以看做是一系列小精灵图构成的序列; 精灵有个特点就是允许精灵之间进行交互,也称之为碰撞,而碰撞检测,指的就是检测两个精灵之间是否发生了碰撞。
246 0
|
C++ Python Windows
pygame入门基础知识(二)
> 6、pygame模块time时间控制: pygame.time 时间控制模块,其主要功能是管理时间和游戏帧数率(即 FPS)
205 0
|
Linux Python Windows
pygame入门基础知识(一)
> 1、pygame介绍和安装 Pygame 是一个专门用来开发游戏的 Python 模块,主要为开发、设计 2D 电子游戏而生, 它是一个免费、开源的第三方软件包,支持多种操作系统,具有良好的跨平台性(比如 Windows、Linux、Mac 等)。
383 0