2008年12月11日

置顶 原创 手机音视频流媒体开发一些有用资料(2009.6.17更新)

分享在手机平台开发多媒体程序的经验阅读全文>

发表于 @ 2008年12月11日 10:47:00|评论(loading...)|举报|收藏

2009年06月26日

原创 音频重采样函数

经验证,在ARMV4上32000/44100转8000hz采样率  效率不错./* contributed by paul flinders */void _x_audio_out_resample_mono(int16_t* input_samples, uint32_t in_samples,     int16_t* output_samples, uint32_t out_samples){  int osample;  /* 16+16 fixed point math */  uint32_t isample = 0;  uint32_t istep = ((in_samples-2) #ifdef VERBOSE  printf ("Audio : resample %d samples to %d\n",          in_samples, out_阅读全文>

发表于 @ 2009年06月26日 10:04:00|评论(loading...)|举报|收藏

2009年06月20日

原创 手机视频监控解决方案(客户端)

k歌之王:  为前阵子做的手机视频监控做个总结,希望为后来人提供一些参考。大家一起把手机流媒体增值应用的蛋糕做大:) 手机视频监控应用已经兴起多年,在GPRS/EDGE网络环境下就已经有不错的应用表现。大致分为以下三类: 1. 核心在服务器,客户端用手机自带的支持RTSP流媒体播放器,nokia用realplayer,wm上用coreplayer(有些山寨机也有自带的流媒体播放器)。 优点:便于大规模运营推广,不必开发适配各种手机类型的客户端,缩短了研发周期。   缺点:只能用来浏览视频,无法满足日益丰富的客户定制需求。      国内做的较早的有星谷科技(www.starv.tv),他们的核心竞争力就在强大的流媒体服务器。当然,可能他们现在也在开发独立的手机客户端:) 2. 有独立的手机客户端, 但为了方便适配手机,采用跨手机平台的KJAVA语言开发。国内采用此方案的有手视通,安装包直接从其网站WAP PUSH到手机,安装使用十分方便。 客户端支持用户认证,地址管理,截阅读全文>

发表于 @ 2009年06月20日 03:43:00|评论(loading...)|举报|收藏

2009年06月04日

原创 mpeg4 vol header文件格式分析

  最近在做一个3gp/mp4播放器, 用ffmpeg从3gp/mp4文件中demux出mpeg4的raw data,  无法直接用来解码,需要在第一帧之前加上vol header.   我照搬了ffmpeg的encode_vol_header的实现,很多文件(尤其是QVGA尺寸的文件)解码不了。   最后得知,这个vol根本不用自己生成,只要把avctx->extradata里面的长度为avctx->extradata_size的数据copy到你的第一帧前面就可以了。   虽然ffmpeg有现成的vol header,还是顺便总结一下mpeg4 sp的文件格式。参考文档 《mpeg-4-14496-2》6.2节。   用UE打开一个.m4v文件,开头44字节就是vol header. 比特流的句法如下:  a) 全局配置信息,表征解码器准备解码的整个视频对象组  VisualObjectSequence()  b) 对象配置信息,表征单个视频对象。VisualObj阅读全文>

发表于 @ 2009年06月04日 13:23:00|评论(loading...)|举报|收藏

2009年06月02日

转载 H263@FLV与H263@3GP的区别

虽然FLV中codecid2和大部份的3GP文件中用到的都是基于H263的编码但是两者 还是有很大不同,所以要引起注意。主要有三个地方不同,做解码的时候一定要注意,3GP文件中基于H263的视频编码是按照公开的H263技术白皮书实现 的,但是FLV中H263的编码确在标准之上做了些小小的改动。(一)标识码不同H263(3GP)的标识码为一个22位的值,0×0020后面跟着的是一个8位的(Temporal Reference) 的值H263(FLV)的标识码为一个17位的值,0×0001后面跟着的是一个5位的格式信息的值(二)图像的信息头不同H263(3GP)参考标准的图像头H263(FLV)图像信息头包括下面的信息:picture type: 5(图像格式信息,主要用来判断ESCAPE的系数处理方式)picture number : 8(图像序号)picture code type : 3(图像编码信息)根据不同的picture code ty阅读全文>

发表于 @ 2009年06月02日 09:38:00|评论(loading...)|举报|收藏

2009年05月19日

转载 aac mpeg2-adts header 分析

简述了adts,由mpeg2标准中产生,后mpeg4也采纳并修订,是Audio Data Transport Stream的英文缩写.结构其实非常简单,7个字节的header,然后是数据,然后有是7字节header,然后是数据,,,,阅读全文>

发表于 @ 2009年05月19日 18:47:00|评论(loading...)|举报|收藏

2009年05月11日

原创 ffmpeg开发手记(2009-05-25更新)

ffmpeg是当前最重要的开源多媒体工程,我之前和现在做的很多项目都用到了ffmpeg。我会在本文中不断更新一些使用和移植优化ffmpeg的心得,和大家一起交流提高。为了方便查看采用Q&A的形式。Q:我用一个解码循环解一便视频文件后,调用av_seek_frame到开始位置用同一个循环再解一遍,可第二次的第一祯总是该视频的最后一祯,这是什么原因呢?我的调用方法av_seek_frame(pFormatCtx, -1, pFormatCtx->start_time, 0)后来发现av_seek_frame(pFormatCtx, -1, 0, 0)效果一样调用模式try了所有除了有一个没有进解码循环,其他都一样。A: 重新解码前要flush codecavcodec_flush_buffers(...streams[video_index]->codec)Q: 我调用av_seek_frame后解出的图像是花的,调用avcodec_flush_buffe阅读全文>

发表于 @ 2009年05月11日 11:49:00|评论(loading...)|举报|收藏

2009年05月10日

转载 Android的多媒体框架OpenCore(PacketVideo)介绍

k歌: Opencore是google联合packetvideo推出的多媒体开源框架,其中的h.264解码器在目前所有的开源h.264解码器中最好的,在win32和armv4上测试通过,性能好很多,大概提升20%! 本文为个人总结,不代表官方观点。 分为几个阶段: 1、整个Android的多媒体框架OpenCore 2、Player和Author的详细介绍 2、OpenCore和Android其他部分的集成 阅读全文>

发表于 @ 2009年05月10日 23:08:00|评论(loading...)|举报|收藏

2009年04月28日

原创 基于rtsp的手机视频点播实现和研究

前言: 随着3G的到来,带宽大了流量费便宜了,手机电视等多媒体应用必将有很大发展, 本人总结以往经验,跟大家讨论一下如何建立一个手机视频点播的方案,最后给出了一个初步的客户端实现效果。欢迎大家讨论。   先说架构,出于便于管理和扩展,带宽限制和多用户并发的考虑,商用方案都会采用流媒体服务器+WEB服务器+中转服务器+手机客户端的方案,其中流媒体服务器(streaming server)负责采集视频源并压缩编码并随时等待来自客户端的rtsp连接请求; WEB服务器(web server)便于发布和管理视频信息;中转服务器(transmission server)是可选的,用于把来自client的RTSP请求转发给server,并把服务器端的实时流转给client,这样的好处是在相同带宽下支持更多的用户同时观看;手机客户端(client)可以用手机内置的播放器(如nokia上的realplayer)或者自己开发的独立播放器,前者的好处是降低用户使用门槛,便于大规模应用;后者方便扩展和定制,满足更多的功能。streaming server是整个方案的核心,阅读全文>

发表于 @ 2009年04月28日 07:32:00|评论(loading...)|举报|收藏

2009年04月18日

转载 Windows mobile模拟器上网的配置步骤

k歌: 这篇文章是网上最管用的模拟器上网设置文章,建议大家收藏:)转自http://blog.csdn.net/yanyouning/本文介绍配置Pocket PC 2003 SE设备仿真器网络设置的方法共有六个步骤:下载虚拟网卡驱动程序在PC上安装虚拟网卡驱动在Visual Studio 2005中配置仿真器启动参数配置Pocket PC 2003 SE 设备仿真器网卡参数配置Pocket PC 2003 SE 设备仿真器虚拟网卡绑定要求配置完后软启动一次仿真器,之后测试仿真器网络配置是否成功。第一步, 要求下载虚拟网卡驱动程序。微软官方下载地址 :http://www.microsoft.com/downloads/details.aspx?FamilyID=dc8332d6-565f-4a57-be8c-1d4718d3af65&DisplayLang=en,下载的文件为netsvwrap.msi。英文版本的驱动程序也可以安装。第二步, 要求在PC上阅读全文>

发表于 @ 2009年04月18日 08:58:00|评论(loading...)|举报|收藏

2009年04月04日

原创 手机音频流媒体应用与优化指南

本文主要分享了在手机平台进行音频流媒体开发应用的一些经验,内容主要译自《The Radio Stream Transcoding Bible 》原文地址,穿插了本人在一些粗浅的开发体会,虽然没有具体代码,相信对大家进行手机流媒体开发有所帮助! 阅读全文>

发表于 @ 2009年04月04日 16:56:00|评论(loading...)|举报|收藏

2009年03月02日

原创 3G 手机流媒体应用,看上去很美

终于上3G了, 媒体在聒噪变革,运营商在竞争份额,SP们也在摩拳擦掌,仿佛上了3G,移动开发将告别紧巴巴 的日子,大把挣钱的时候到了。但作为一名普通的移动开发者,只感到市场有很大的机遇,但泡沫同样巨大。 通信是典型的技术驱动市场,技术远远超前于市场需求。国外4G都上马了,国内GSM网络仍是主流,中移动80% 的收入来自电话和短信。手机娱乐? 广大的中产阶级没有心情也没有财力享受。 就举手机游戏和手机电视两个 例子。 阅读全文>

发表于 @ 2009年03月02日 01:04:00|评论(loading...)|举报|收藏

2009年02月24日

原创 Symbian C++开发工具及安装配置


  symbian开发环境比较复杂,需要安装的软件很多,而且不同SDK对应的版本也不一样。看到很多朋友动辄重装SDK甚至重装系统,  我把开发流程跟大家分享一下,免得大家走弯路,瞎折腾:) 

  1. 下载安装carbide c/c++ 1.3   ★

   选择合适的IDE。熟悉win32开发的可以选择vs2005(VC就免了,据说VC不支持S60三版 SDK)。 nokia推荐使用Carbide C++, 其操作简便而且有强大的联机调试功能。 我使用的还是经典的carbide c++ 1.3。

  2.下载ActivePerl-5.6.1.635     ★

    只能安装这个版本,高于5.6的版本不行。

  3. 下载安装s60-3rd-ed-sdk.zip  ★

   选择合适的sdk,你的测试手机是s60 第几版的,就要安装相应的SDK。 建议安装s60-3rd MR

   4. GBL阅读全文>

发表于 @ 2009年02月24日 17:19:00|评论(loading...)|举报|收藏

2009年02月10日

原创 S60设备支持的音视频解码概览


手机的音视频解码分为软解码和硬解码,symbian对mp3,aac,amr的支持比较全,本地文件播放/录制/流媒体播放都OK,而wma作为微软主推的音频格式,symbian就没那么友好了,只用CMMFCodec实现了本地文件的软解码。以下是S60 3版所有的音视频编码格式, 搞相关方向的赶紧收藏:)


Codecs in S60 Devices
Different S60 devices may have different multimedia codecs. There are similarities between S60 devices, but there are differences, as well. The mere presence of a codec (e.g. mp3) in a device does not tell too much to developers. We need to know what APIs can be used to access that codec.
阅读全文>

发表于 @ 2009年02月10日 15:04:00|评论(loading...)|举报|收藏

2009年02月08日

转载 水煮TCPMP


去年年底帮别人做一个项目,了解了一下TCPMP,觉得这个软件的结构写得很好就做了些记录,今天偶然翻出来看看觉得可能对正在研究这个软件的人有点帮助就贴出来。如果转载请注明出处,谢谢。
TCPMP是一个功能强大开放式的开源多媒体播放器,
播放器主要由核心框架模块(common工程)和解码器分离器插件组成。
TCPMP的插件非常多,、libmad我们联合几个最常用的插件(ffmpeg、splitter)来说明,其中interface插件实现TCPMP的界面,由于他和媒体播放没有什么关系,这部分可以完全被替换掉,替换成自己的界面。
ffmpeg工程是系统主要的音视频解码模块,ffmpeg是一个集录制、转换、音/视频编码解码功能为一体的完整的开源解决方案。FFmpeg的开发是基于Linux操作系统,但是可以在大多数操作系统中编译和使用。ffmpeg支持MPEG、DivX、MPEG4、AC3、DV、FLV等40多种编码,AVI、MPEG、OGG、Matroska、ASF等90多种解码。很多开源播放器都用到了ffmpeg。但是ffmpeg程序解码效阅读全文>

发表于 @ 2009年02月08日 15:37:00|评论(loading...)|举报|收藏

Csdn Blog version 3.1a
Copyright © K歌之王