`
chriszeng87
  • 浏览: 720185 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
文章列表
一、关于NDKAndroid NDK全称:Native Development Kit,即本地开发包。 1、NDK是一系列工具的集合。 NDK提供了一系列的工具,这些工具对开发者的帮助是巨大的。 它们能帮助开发者快速开发C(或C++)的动态库,并能自动将so库和java ...
RTP           参考文档 RFC3550/RFC3551          Real-time Transport Protocol)是用于Internet上针对多媒体数据流的一种传输层协议。RTP协议详细说明了在互联网上传递音频和视频的标准数据包格式。RTP协议常用于流媒体系统(配合RTCP协议),视频会议和一键通(Push to Talk)系统(配合H.323或SIP),使它成为IP电话产业的技术基础。RTP协议和RTP控制协议RTCP一起使用,而且它是建立在UDP协议上的。           RTP 本身并没有提供按时发送机制或其它服务质量(QoS)保证,它依赖于 ...
本文介绍一个简单的基于FFmpeg的转码器。它可以将一种视频格式(包括封转格式和编码格式)转换为另一种视频格式。转码器在视音频编解码处理的程序中,属于一个比较复杂的东西。因为它结合了视频的解码和编码。一个视频播放器,一般只包含解码功能;一个视频编码工具,一般只包含编码功能;而一个视频转码器,则需要先对视频进行解码,然后再对视频进行编码,因而相当于解码器和编码器的结合。下图例举了一个视频的转码流程。输入视频的封装格式是FLV,视频编码标准是H.264,音频编码标准是AAC;输出视频的封装格式是AVI,视频编码标准是MPEG2,音频编码标准是MP3。从流程中可以看出,首先从输入视频中分离出视频码流 ...
1.视频编码基本原理   (1)  视频信号的冗余信息 以记录数字视频的YUV分量格式为例,YUV分别代表亮度与两个色差信号。例如对于现有的PAL制电视系统,其亮度信号采样频率为13.5MHz;色度信号的频带通常为亮度信号的一半 ...
最近重温了一下FFplay的源代码。FFplay是FFmpeg项目提供的播放器示例。尽管FFplay只是一个简单的播放器示例,它的源代码的量也是不少的。之前看代码,主要是集中于某一个“点”进行研究,而没有从总体结构上进行分析。本文就打算弥补之前学习的不足,从总体结构上分析一下FFplay的源代码,画图理一下它的结构。其中还有诸多不足,以后有机会慢慢完善。说明一下自己画的结构图的规则:图中仅画出了比较重要的函数之间的调用关系。粉红色的函数是FFmpeg编解码类库(libavcodec,libavformat等)的API。紫色的函数是SDL的API。其他不算很重要的函数就不再列出了。在看ffpla ...
    转自:http://blog.csdn.net/leixiaohua1020/article/details/11980843

ffmpeg函数介绍

本文对在使用ffmpeg进行音视频编解码时使用到的一些函数做一个简单介绍,我当前使用的ffmpeg版本为:0.8.5,因为本人发现在不同的版本中,有些函数名称会有点小改动,所以在此有必要说明下ffmpeg的版本号。 ffmpeg本人也是刚接触,本文将采用累加的方法逐个介绍我使用到的函数,如有不妥之处,还望谅解!   头文件引入方法: extern "C" { #include "libavcodec/avcodec.h" #include "libavformat/avformat.h" #include " ...
1. Java 与 FFMPEG    FFMPEG 是一个广泛用于媒体处理的库,在Java的世界里,处理视频的能力相当弱,于是有很大需求需要Java 调用 FFMPEG。   Java 调用C 的方式有很多,可以用最原始的JNI方式,也可以JNA方式,还可以是命令行。    采用命令行的方式比较简单,不过有很大局限性,尤其是涉及到 视频的处理和分析的时候,比如要取出某个packet,然后进行处理。      这里介绍的是用JavaCPP 调用 ffmpeg 库的方式,而不是命令行模式。     JavaCPP的源码在这里:https://github.com/bytedeco/jav ...
1.在cmd下 输入下面的命令查询哪个占用了5037端口 netstat -ano | findstr "5037"出现下面信息TCP    127.0.0.1:5037         0.0.0.0:0              LISTENING       3972   2. 用taskkill杀掉这个进程 按进程ID杀: taskkill /f /pid 3972    

JVM必备指南

    博客分类:
  • Java
本文由 ImportNew - xiafei 翻译自 anturis 转自:http://www.importnew.com/13556.html   简介 Java虚拟机(JVM)是Java应用的运行环境,从一般意义上来讲,JVM是通过规范来定义的一个虚拟的计算机,被设计用来解释执行从Java源码编译而来的字节码。更通俗地说,JVM是指对这个规范的具体实现。这种
转自:http://www.policyalmanac.org/games/aStarTutorial.htm By Patrick Lester (Updated July 18, 2005)   The A* (pronounced A-star) algorithm can be complicated for beginners. While there are many articles on the web that explain A*, most are written for people who understand the basics already. This ...
       SurfaceTexture是从Android3.0(API 11)加入的一个新类。这个类跟SurfaceView很像,可以从camera preview或者video decode里面获取图像流(image stream)。但是,和SurfaceView不同的是,SurfaceTexture在接收图像流之后,不需要显示出来。有做过Android camera开发的人都知道,比较头疼的一个问题就是,从camera读取到的预览(preview)图像流一定要输出到一个可见的(Visible)SurfaceView上,然后通过Camera.PreviewCallback的public ...
4.11  AVPacket 结构体 typedef struct AVPacket { //显示时间戳 int64_t pts;  //解码时间戳 int64_t dts;  //记录在文件或网络中的流中的字节的位置 int64_t pos;  //实际数据指针 uint8_t *data;
       ffmpeg定义的数据结构很有特色:有一些是动态与静态的关系,比如, URLProtocol 和 URLContex t ,AVInputFormat 和 AVFormatContext , AVCodec 和 AVCodecContext。从前面播放器的一般原理我们可知,播放器内部要实现的几大功能是 ...
FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。它包括了领先的音/视频编码库libavcodec等。 libavformat:用于各种音视频封装格式的生成和解析,包括获取解码所需信息以生成解码上下文结 ...
Global site tag (gtag.js) - Google Analytics