使用easyeasydcp playerr录像需要调用哪些函数

安全市场联盟开放平台
如果你是应用开发者欢迎提交软件到360
下载的人还喜欢
本类热门应用
【小编点评】看视频 VIP分享 无广告 随时随地一键下载
EasyPlayer是一款无广告的爱奇艺VIP共享的聚合了全球热门主流视频网站的视频播放器,支持在线观看和离线下载
其中包括:
&&&&中国区:爱奇艺,爱奇艺vip,搜狐视频,新浪视频,乐视TV,NBA,暴风影音,&腾讯视频等等
&&&&全球区:YouTuBe,&Vimeo,&FunnyOrDie,&Pandora等等
&&&&娱乐区:&唱吧KTV,快手,美拍等等
EasyPlayer采用独特通信渠道,提供了爱奇艺VIP共享观看的服务,&对用户提供无广告观看视频的体验,观看视频无需再观看广告,不用再浪费您宝贵的时间。
EasyPlayer不仅对视频提供在线观看,&还提供的离线下载功能,根据分辨率下载您喜欢的视频,&在闲暇或者无网络的时候照样享受观看。
为了方便您观看视频,&减少操作,&EasyPlayer还提供了书签的功能,假如您在观看电视连续剧,可以将电视剧的网页保存到书签,&下次直接观看。
此外EasyPlayer内置的高性能视频播放器和高性能视频解码器,让您享受更流畅,更优质的视频。
支持几乎市面上所有格式的视频,
包括:avi,m4v,mp4,wmv,flv,mpeg,mpg,mov,rm,vob,asf,mkv,f4v,ts,tp,m3u,m3u8
“视频!”在您手机的日常使用中将变得越来越重要,EasyPlayer是Android市场受欢迎的视频播放工具之一,让您充分享受手机视频带给您的快乐!
我们保证你使用后会喜欢上它。如果你正在寻求一个更好的用户体验和用户界面的视频播放器,EasyPlayer将是你的选择。
功能特点:
-&爱奇艺VIP共享
-&支持全国各大视频站点,无广告观看
-&支持流行的视频格式
-&简单易用的界面设计
-&超流畅的视频播放器
-&快库扫描。它会扫描您的手机的视频,让你更轻松地管理视频。
【更新内容】V2.2.0已经是EasyPlayer经过了长达1年的研发后发布的第6个版本了, 处于稳定版, 提供了稳定的视频观看服务, 高性能的视频播放器和视频解码器,还有简介人性化的界面设计和功能设计,是一款您值得拥有的app!
保持登录状态
您的赞美就是给作者最大的回报,觉得好就表扬TA一下吧。
还可以输入200字
该应用暂时还没有评论,沙发空缺中。
应用评分:8.1分
大家的选择就是正确的选择,你值得拥有
请先下载此应用,才可对其评分。
我来评分:
通过360手机卫士检测
安全无毒,可放心下载。
- 有内置广告
- 有积分墙广告
- 有插屏广告
需要调用以下重要权限
-&访问网络-&获取网络状态-&获取WiFi状态-&读取电话状态
Copyright&2005- All Rights Reserved 360安全中心CURL的使用
CURL的使用
libCURL是C语言写的URL下载库,它支持多种协议如FTP, FTPS, HTTP, HTTPS, SCP, SFTP,
TFTP, TELNET, DICT, LDAP, LDAPS, FILE, IMAP,
它在多个平台上都能下载,比如Solaris, NetBSD, FreeBSD, OpenBSD, Darwin, Linux,
Dos, and more.
它在Windows下以Com的方式使用.
其使用所要调用的函数是:
Curl_easy_init();
Curl_easy_setopt();
Curl_easy_perform();
Curl_easy_getinfo();
Curl_easy_cleanup();
而其使用之前要做的工作是:
::CoInitialize(NULL);
之后要做的工作是:
::CoUninitialize();
而在下载时,会通过curl_easy_setopt()进行设置用户名,密码,远端下载路径,
头回调函数,写回调函数,进度回调函数。开始执行函数。最后还能调用获取信息函数。
而头回调函数,只是头调用一次,而写回调函数是要反复调用的,进度回调函数也是反复调用的,其是通过curl自身建立的线程调用的。
CURL是开源的,可以查看其源代码,
在easy.c中可以看其curl_easy_init()函数,
CURL *curl_easy_init(void)
& struct SessionHandle *
& if(!initialized) {
curl_global_init(CURL_GLOBAL_DEFAULT);
&&& if(res)
DEBUGF(fprintf(stderr, "Error: curl_global_init failed\n"));
return NULL;
Curl_open(&data);
& if(res != CURLE_OK) {
DEBUGF(fprintf(stderr, "Error: Curl_open failed\n"));
&&& return
真正的函数全在里面。
对于SessionHandle结构体可以看如下的定义:
struct SessionHandle {
& struct N
& struct Curl_multi
& struct Curl_one_easy
& struct Curl_share
& struct SingleRequest
& struct UserDefined
& struct DynamicS
& struct CookieInfo
& struct Progress
& struct UrlState
& struct PureInfo
#if defined(CURL_DOES_CONVERSIONS)
&& defined(HAVE_ICONV)
outbound_&&&&&&&&
inbound_&&&&&&&&&
utf8_&&&&&&&&&&&&
& unsigned int
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。MediaPlayer函数调用解析 - 简书
MediaPlayer函数调用解析
app调用meidaPaly播放媒体:
private void startPlaying() {
mPlayer = new MediaPlayer();
mPlayer.setDataSource(mFileName);
//第一步 此处设置文件地址
mPlayer.prepare();
mPlayer.start();
开始播放状态
} catch (IOException e) {
Log.e(LOG_TAG, "prepare() failed");
具体看 ,请在翻墙的情况下阅读,否则,图片无法加载。
setDataSource()
MediaPlay.java位置: /home/android/frameworks/base/media/java/android/media/MediaPlayer.java1 . setDataSource(String path);
public void setDataSource(String path)
throws IOException, IllegalArgumentException, SecurityException, IllegalStateException {
setDataSource(path, null, null);//重载
2 . 继续调private void setDataSource(String path, String[] keys, String[] values) 函数。
final Uri uri = Uri.parse(path);
final String scheme = uri.getScheme();
if ("file".equals(scheme)) {
path = uri.getPath();
//此处保存文件地址,在这里分析的是播放本地文件。
} else if (scheme != null) {
// handle non-file sources
nativeSetDataSource(
// 3.调用 jni 的 本地函数 ,传入 IBinder对象 和 path ,其他为null
MediaHTTPService.createHttpServiceBinderIfNecessary(path),
final File file = new File(path);
if (file.exists()) {
FileInputStream is = new FileInputStream(file);
FileDescriptor fd = is.getFD();
setDataSource(fd);
is.close();
throw new IOException("setDataSource failed.");
这里分别调用了private native void nativeSetDataSource( IBinder httpServiceBinder, String path, String[] keys, String[] values) setDataSource(FileDescriptor fd) 这里是生成文件对象,fd为你想要播放的文件这里灯会来分析。
MediaHTTPService.createHttpServiceBinderIfNecessary(path)
文件地址: /home/android/frameworks/base/media/java/android/media/MediaHTTPService.java
static IBinder createHttpServiceBinderIfNecessary(
String path) {
if (path.startsWith("http://")
|| path.startsWith("https://")
|| path.startsWith("widevine://")) {
return (new MediaHTTPService()).asBinder();
这里发现,如果上层传过来的是网络资源 才会返回IBinder对象,所以nativeSetDataSource()是来处理网络资源的,本地文件并不会走这里。
public void setDataSource(FileDescriptor fd)
最终调用的是 setDataSource(fd, 0, 0x7ffffffffffffffL);也就是private native void _setDataSource(FileDescriptor fd, long offset, long length)分别传入 播放的文件,0,0x7ffffffffffffffL参数的含义如下
@param fd the FileDescriptor for the file you want to play
@param offset the offset into the file where the data to be played starts, in bytes
@param length the length in bytes of the data to be played
第一个参数,要播放的文件
第二个参数,播放数据的开始
播放数据的长度,这里android 5.0 的源码写的是
0x7ffffffffffffffL 字节,有兴趣的可以计算下,应该够用了。
native void _setDataSource(FileDescriptor fd, long offset, long length)
可见这是一个jni的本地函数。/home/android/frameworks/base/media/jni/android_media_MediaPlayer.cpp在分析jni写的文件,首先。找到这个函数static JNINativeMethod gMethods[]在这里定义了本地函数和上层java函数的关系,也就是隐式联系
{"_setDataSource",
"(Ljava/io/FileDJJ)V",
(void *)android_media_MediaPlayer_setDataSourceFD},
之后我们来看(void *)android_media_MediaPlayer_setDataSourceFD}代码如下
android_media_MediaPlayer_setDataSourceFD(JNIEnv *env, jobject thiz, jobject fileDescriptor, jlong offset, jlong length)
sp&MediaPlayer& mp = getMediaPlayer(env, thiz);
if (mp == NULL ) {
jniThrowException(env, "java/lang/IllegalStateException", NULL);
if (fileDescriptor == NULL) {
//也就是java传来的
文件。上面有说明
jniThrowException(env, "java/lang/IllegalArgumentException", NULL);
int fd = jniGetFDFromFileDescriptor(env, fileDescriptor);
//这里获取文件,通过文件系统
ALOGV("setDataSourceFD: fd %d", fd);
//查看下文件
process_media_player_call( env, thiz, mp-&setDataSource(fd, offset, length), "java/io/IOException", "setDataSourceFD failed." );
getMediaPlay
static sp&MediaPlayer& getMediaPlayer(JNIEnv* env, jobject thiz)
Mutex::Autolock l(sLock);
MediaPlayer* const p = (MediaPlayer*)env-&GetLongField(thiz, fields.context); // 得到java层,long类型的成员变量
return sp&MediaPlayer&(p);
//返回指针
this 为java 的类也就是 MedaPlayer.java (这里我是猜的)fields.context 的含义如下。
struct fields_t {
//更具id来获取成员变量
proxyConfigGetH
proxyConfigGetP
proxyConfigGetExclusionL};
在这,建议阅读 &&升入理解android1&& 邓凡明 里面的jni介绍,就能理解jni出调用的方法,以及每一个参数含义,在这不多说。
调用mediaplayer 的mp-&setDataSource(fd, offset, length) 方法。
/home/android/frameworks/av/media/libmedia/mediaplayer.cpp
status_t MediaPlayer::setDataSource(int fd, int64_t offset, int64_t length)
ALOGV("[snake_xing_MediaPlayer.cpp]===================&setDataSource(%d, %" PRId64 ", %" PRId64 ")", fd, offset, length);
status_t err = UNKNOWN_ERROR;
const sp&IMediaPlayerService&& service(getMediaPlayerService());
if (service != 0) {
sp&IMediaPlayer& player(service-&create(this, mAudioSessionId));// IMediaPlay 的 setDataSource
if ((NO_ERROR != doSetRetransmitEndpoint(player)) ||
(NO_ERROR != player-&setDataSource(fd, offset, length))) {
player.clear();
err = attachNewPlayer(player);
IMediaPlayer 的
player-&setDataSource(fd, offset, length)
status_t setDataSource(int fd, int64_t offset, int64_t length) {
Parcel data,
data.writeInterfaceToken(IMediaPlayer::getInterfaceDescriptor());
data.writeFileDescriptor(fd);
data.writeInt64(offset);
data.writeInt64(length);
remote()-&transact(SET_DATA_SOURCE_FD, data, &reply);
//这个是binder的标准写法,哪些service那就有个ontransact 来处理。
return reply.readInt32();
service接受到cmd
case SET_DATA_SOURCE_FD: {
CHECK_INTERFACE(IMediaPlayer, data, reply);
int fd = data.readFileDescriptor();
int64_t offset = data.readInt64();
int64_t length = data.readInt64();
reply-&writeInt32(setDataSource(fd, offset, length));
return NO_ERROR;
MediaPlayService.cpp
status_t MediaPlayerService::Client::setDataSource(int fd, int64_t offset, int64_t length)
位置: /home/android/frameworks/av/media/libmediaplayerservice/MediaPlayerService.cpp
status_t MediaPlayerService::Client::setDataSource(int fd, int64_t offset, int64_t length)
ALOGV("[snake_xing_MediaPlayerService.cpp]==========================&setDataSource fd=%d, offset=%lld, length=%lld", fd, offset, length);
int ret = fstat(fd, &sb);
if (ret != 0) {
ALOGE("fstat(%d) failed: %d, %s", fd, ret, strerror(errno));
return UNKNOWN_ERROR;
ALOGV("st_dev
= %llu", sb.st_dev);
ALOGV("st_mode = %u", sb.st_mode);
ALOGV("st_uid
= %lu", static_cast&unsigned long&(sb.st_uid));
ALOGV("st_gid
= %lu", static_cast&unsigned long&(sb.st_gid));
ALOGV("st_size = %llu", sb.st_size);
if (offset &= sb.st_size) {
ALOGE("offset error");
::close(fd);
return UNKNOWN_ERROR;
if (offset + length & sb.st_size) {
length = sb.st_size -
ALOGV("calculated length = %lld", length);
player_type playerType = MediaPlayerFactory::getPlayerType(this,
sp&MediaPlayerBase& p = setDataSource_pre(playerType);
if (p == NULL) {
return NO_INIT;
// now set data source
setDataSource_post(p, p-&setDataSource(fd, offset, length));最近几天工程师的朋友圈们都已经被STM32峰会相关消息刷……
一场Pokemon
Go,让全世界的小精灵师都暴露了。因此,在……
2016年初,一场人机大战点燃了人工智能芯片的争夺战,而……
据Dialog的内部资料:快速充电智能手机市场的复合年均增……
整个工业物联网连接领域的发展给了MEMS传感器广阔的应用……
演讲人:谢亦峰时间: 10:00:00
演讲人:李唐山时间: 10:00:00
演讲人:杜建中时间: 10:00:00
预算:大于¥1,000,000预算:¥100,000-¥500,000
基于MPEG-4视频标准数字视频录像机的设计及实现
[导读]随着视频压缩技术的迅猛发展,新的视频压缩标准不断推出。MPEG-4是由国际运动图像专家组(MPEG)在继MPEG-1和MPEG-2之后,制订的又一个ISO/IEC标准,即ISO/IEC 14496。它能够获得更高的音/视频压缩率,具有基于内容
随着视频压缩技术的迅猛发展,新的视频压缩标准不断推出。MPEG-4是由国际运动图像专家组(MPEG)在继MPEG-1和MPEG-2之后,制订的又一个ISO/IEC标准,即ISO/IEC 14496。它能够获得更高的音/视频压缩率,具有基于内容的交互能力。目前,国内外许多公司都在开发有关MPEG-4视频标准的产品,最具代表意义的即是数字视频录像机(DVR)。1 数字视频录像机的硬件设计在基于S3C2410与AT2042的数字视频录像机的设计和实现中,其终端设备以Samsung公司的32位处理器S3C2410为主控处理器,利用Pentamicro公司的AT2042芯片完成双通道视频编码与解码,其视频录像功能具有高分辨率和高质量。本文将介绍此终端的系统整体设计,并详细分析系统软硬件设计,最后给出测试结果和结论。根据市场的需求,本系统预计实现下列几项指标: (1)实现对视频数据的MPEG-4标准的编解码;(2)编解码像素为720X576像素点,实现25 f/s;(3)实现JPEG编码和解码;(4)实现USB/SD卡储存。1.1 基于S3C2410与AT2042的数字视频录像机整体设计该系统主要依靠AT2042的编解码功能,系统的硬件框图如图1所示,它主要由视频编码子系统、主控系统、数据处理子系统和视频解码子系统4大部分构成。韩国Pentamicro公司生产的AT2042芯片的功能模块如图2所示,AT2042是一个内置微控制器ARM946E的2通道音视频编解码(A/VCODEC)芯片,主要完成对视频和语音数据的编码和解码,支持多种音视频编解码标准,可直接与IBM,Motorola,ARM,XscaIe和Axis等多种CPU接口,无需其他附加电路。1.2 视频编解码电路设计视频编解码电路主要包括视频编解码电路和视频压缩/解压芯片AT2042。其中,AT2042主要负责对数字视频数据进行硬件压缩和解压缩,而视频编解码电路则是基带模拟视频信号和AT2042之间的一个接口电路,它包括一个视频编码芯片和一个视频解码芯片,主要负责视频数据的模/数和数/模转换,以及数字视频信号格式的转换。在压缩编码过程中,输入的NTSC/PAL/SECAM视频信号先经过视频解码芯片进行前端处理,产生符合AT2042视频接口标准的8 b ITU-R BT.656数字视频信号。在外部主CPU的控制下,该数字视频数据由压缩/解压芯片AT2042进行硬件压缩编码,产生的编码数据流通过芯片内部集成的Mux FIFO接口输出。网络视频服务器的解压缩编码是压缩编码的逆过程,需要解压的数据流通过AT2042内部集成的Demux FIFO接口输入。视频采集接口框图如图3所示:摄像头采集输出信号为NTSC,PAL或SECAM制式的电视信号,必须经过视频解码处理才能转化成适合AT2042进行编码的数字信号。TVP5150是TI公司生产的一款电视信号解码专用芯片,它对输入的模拟信号进行A/D转化,通过设置相应的寄存器可以使输出信号满足RGB格式或YUV422格式。由于在本系统中AT2042视频接口满足ITU.RBT656标准,故TVP5150输出配置为8位YUV422格式。如图4所示。现在的数字电视视频接口还没有实现统一的工业标准,故在视频输出端设计时,仍使用现在比较流行的A/V接口或S-video接口。由于上述2种接口传输的为模拟电视信号,故在AT2042的视频输出端口需要增加一级处理,即将数字信号转化为模拟电视信号。在后端设计中选用SAA7121,它是一款专用的电视信号编码芯片,可以将输入的数字信号经过内部的D/A转化为适于传输的模拟电视信号,通过配置相应的寄存器可以输出满足S-video接口或复用接口的信号。1.3 AT2042的主机接口主控CPU(S3C2410)和AT2042是数字视频录像机的核心处理芯片,S3C2410控制整个数字视频录像机系统的运行,AT2042除完成对视频信号的硬件压缩编码外,还可对压缩后的视频数据进行硬件解压缩。AT2042压缩编码后的视频数据通过芯片内部集成的Mux FIFO接口输出后,外部主CPU负责对其进行USB存储器处理,处理后的视频数据可以存储在物理介质上,以便在需要时通过键盘操作进行回放。图5为S3C2410与AT2042接口框图。AT2042的CPU_SEL[2:0]是主控CPU选择引脚,经配置这几个引脚的高低电平,使AT2042可选择主控CPU,CPU_SEL[2:0]为010选择ARM结构芯片;nCS,nWAIT等为总线控制信号线;HCLK是AT2042主机接口的工作时钟,一般要求工作在50 MHz,当S3C2410在复位后设置FCLK为200MHz,HCLK为100 MHz,PCLK为50 MHz。故将S3C2410的PCLK引脚与AT2042的HCLK引脚相连。通过这种机制,S3C2410可以实现简单的访问AT2042。AT2042与CPU的通信机制如图6所示,CPU对AT2042的控制和访问主要通过AT2042的2个寄存器(status register和command register)和4个FIFO(Tx FIFO,Rx FIFO,Multiplex FIFO和De-Multiplex FIFO)完成。2 数字视频录像机的软件实现数字视频录像机系统的软件设计包括:Bootload代码的编写、Linux操作系统的内核生成和Linux下驱动程序和应用程序的开发、文件系统的生成和配置以及用户应用程序4大块。数字视频录像机软件开发的整体架构如图7所示。2.1 系统启动Bootloader程序设计编写Bootloader是系统启动时执行的第一个程序,其主要完成对硬件系统的初始化。具体包括:S3C2410的初始化、TVP5150功能配置、SAA7121功能配置、加载AT2042固件、以太网及串口初始化。由于在开机时要显示开机画面,故除在Bootloader中初始化相应硬件资源外,还应将开机画面的图片数据,传送到AT2042SDRAM中。Bootloader整体流程图如图8所示。显示开机画面,其主要通过AT2042的JPEG解码功能来实现。首先配置AT2042的JPEG解码功能,将要显示图像先以头文件的形式添加到程序中,当需要显示时再将图像数据发送给AT2042。2.2 Linux系统的配置及设备驱动程序的编写本系统使用的是Linux2.4.18内核,在内核配置中需增加以下几个内容:由于本系统中要实现对视频编码数据的存储,故要添加内核配置中USB support选项中的USB Mass storage support;在调试时需要通过以太网来烧些程序,故内核配置时需添加LAN91C111网卡驱动,方法为在NetWork device support选项下选择SMC91111 support,同时内核要支持各种文件系统,需在File system选项下进行相应配置。系设备驱动程序主要完成以下的功能:AT2042设备驱动子模块系统调用是操作系统内核和上层应用程序之间的接口,AT2042设备驱动子模块是操作系统内核和AT2042硬件设备之间的接口。操作系统内核向AT2042设备驱动子模块提供内核API和其他的内核支持。AT2042设备驱动子模块为上层应用程序屏蔽了AT2042硬件的细节,这样在应用程序看来,AT2042硬件设备只是一个设备文件,应用程序可以像操作普通文件一样对AT2042硬件设备进行操作。AT2042设备驱动子模块作为系统内核的一部分,主要完成对AT2042的初始化、编解码数据的读写、以及编解码功能参数的设置。包含的功能函数主要有模块入口函数、设备操作函数集合和中断服务程序等。2.3 数字视频录像机应用软件的设计与实现(1)界面显示与菜单功能的设计与实现。界面和菜单的显示是通过AT2042的OSD(on Screen Display)功能来实现的,AT2042共有3个显示层面,分别为底层是背景层、中间是回放层,顶层是OSD层。OSD层支持16色的调色板。由于AT2042自身没有相应的ROM存储OSD所要显示的图片及文字数据,故在利用OSD功能来显示图片或文字时,首先要将需显示的图片或文字数据加载到AT2042的SDRAM中,然后调用显示功能将图片或文字显示在OSD层上。这个功能的实现过程中主要调用以下2个函数:void at2042_load_font(uns8 * font_data,uns32font_data_size)该函数的主要功能是把要显示的数据加载到AT2042的SDRAM中,同时设置显示位置,即垂直、水平像素点的位置。void osd_on_off(uns8 temp)该函数的功能是打开或关闭OSD模式。(2)MPEG-4视频编码实现。该功能主要利用AT2042来实现。首先,配置相应的编码寄存器,例如编码模式、编码像素点、编码帧率及设置编码流格式(PES,PS,TS)等。本系统中采用MPEG-4模式、720X576、每秒25帧及生成PES流来对视频数据进行编码。AT2042视频编码的流程如图9所示。实现这一功能主要通过对以下几个函数的调用:void set_encoder_parameter(uns16 hsize,uns16vsize,uns8 rate,uns8 mode)该函数用来设置编码参数;void video_encoder_start(uns8 mode)该函数用来启动AT2042的编码功能;void video_encoder_stop(uns8 mode)该函数用来关闭AT2042的编码功能;void encoding_stream_read(uns8 * data,uns32 data_size)该函数实现将编码数据从MuxFIFO中读出。(3)解码功能实现。实现的具体流程如图10所示。实现这些功能主要通过对以下几个函数的调用:void set_decoder_parameter(uns16 hsize,uns16 vsize,uns8 rate,uns8 mode)该函数用来设置解码参数;void video_decoder_start(uns8 mode)该函数用来启动AT2042的解码功能;void video_decoder_stop(uns8 mode)该函数用来关闭AT2042的解码功能;void get_file_length(const char * file_name)该函数用来获取文件的长度;void video_replay(const char * file_name,uns8mode)该函主要实现对视频文件的播放控制,mode控制播放模式(暂停、快进、快退)。3 测试结果实验结果进行测试,可以采用2套方案来完成。(1)使用自行设计的硬件平台,在该平台上完成对视频编解码的测试。图11为在本系统平台上对编码数据的解码播放截图。&(2)将编码后的视频文件拷贝到PC机上,应用Media Player、暴风音影和风雷音影等视频播放软件对编码结果进行测试,同时可以对比解码播放的效果。因为本系统中视频文件是以PES流形式保存到储存介质。PES满足ISO13818标准,所以PC平台上的普通视频播放器都能播放该文件。图12是用风雷音影播放器对编码结果进行解码播放的截图。由图可以看出,解码出的视频文件是720X576像素点,解码播放的速率为25.59 f/s。画面没有出现失真现象,没有明显的块效应。由表1中的数据可得,在使用AT2042对静止图像编码时,可实现接近100:1的压缩比,在对动态画面进行编码时,可以实现40:1的压缩比。4 结 语本文详细介绍基于专用视频编解码芯片AT2042的数字视频录像机系统的硬件设计和软件开发流程。该系统已实现对视频数据的编码和解码,同时实现了MPEG-4/MPEG-2/MPEG-1 H.263视频标准,并已作为成型产品推向市场。
还记得小鬼当家中萌萌的主角,笨笨的贼吗?那个时代录像机曾非常流行&将电视节目录制下来,以后再想看就拿出录像带细细回味。就在最近,索尼终于宣告这种录像机的&死刑&。上世纪70年代,索尼推出了......关键字:
21ic讯 Fraunhofer IIS的基于信道/对象的方案获选成为未来MPEG-H
3D音频标准的依据,此项标准旨在传输高品质的3D音频内容。MPEG标准化组织在对全球10家测试实验室进行严格的测试和遴选,听取50余名专业听众的意见以......关键字:
罗德与施瓦茨公司推出了一款用于PC的离线分析软件R&S VEGA。该软件是对罗德与施瓦茨公司已有的实时MPEG码流分析产品的拓展。广播电视运营商和内容提供商可以使用该软件找出错误信号,优化内容。数字电视元器件生......关键字:
最近很多美国的科技大佬对特朗普很不爽,但现在Intel已经“服软”了,配合这位美国总统的新政还是当务之急。......关键字:
据多家外媒报道,因本月初的暴力逐客事件在全球范围内招致批评的美国联合航空公司21日表示,2018年,公司首席执行官奥斯卡?穆尼奥斯将不再自动获得董事长头衔。......关键字:
西数去年底更新了机械硬盘的容量纪录,带来了新一代HGST Ultrastar He12系列,高达12TB。据外媒报道,这款12T硬盘最快本月就将出货。He12采用充氦技术,PMR垂直磁记录,8碟,7200转,提供SAS 12Gbps及SAT......关键字:
在风冷还是标配、水冷属于高玩的大环境下,还是有不少厌倦风扇噪音的用户,宁愿去选择被动式散热方案。作为 PC 中的发热大户,显卡是一个不容忽视的噪音来源。好消息是,同德(Palit)刚刚为 Nvidia 入门级主流显卡 GTX 1050 Ti......关键字:
我 要 评 论
热门关键词

我要回帖

更多关于 easy player播放器 的文章

 

随机推荐