- 浏览: 311707 次
- 性别:
- 来自: 北京
最新评论
文章列表
本文介绍一个自己做的码流分析软件:VideoEye。为什么要起这个名字呢?感觉这个软件的主要功能就是对“视频”进行“分析”。而分析是要用眼睛来看的,因此取了“视频”和“分析”这两个词的英文,名之曰:VideoEye。这个 ...
一直想把视音频编解码技术做一个简单的总结,可是苦于时间不充裕,一直没能完成。今天有着很大的空闲,终于可以总结一个有关视音频技术的入门教程,可以方便更多的人学习从零开始学习视音频技术。需要注意的是,本文所说的视音频技术,指的是理论层面的视音频技术,并不涉及到编程相关的东西。
0. 生活中的视音频技术
平时我们打开电脑中自己存电影的目录的话,一般都会如下图所示,一大堆五花八门的电影。(其实专业的影视爱好者一概会把影视文件分门别类的,但我比较懒,一股脑把电影放在了一起)
因为下载的来源不同,这些电影文件有不同的格式,用不同的后缀表示:avi,rmvb,mp4,flv,mkv等等(当然 ...
前段时间略忙,因此一直计划要总结的很多东西都没来得及写,这两天趁着空闲时间写上一篇。以后等时间充裕了再补充一些内容。本文总结一下学习视频质量评价技术的方法。视频质量评价是我研究生阶段主要的工作,包 ...
本文主要总结一些我在学习RTMP流媒体技术过程中积累的经验。也为后来学习RTMP流媒体技术的人们一个参考。本文力图从简到难,循序渐进的介绍RTMP流媒体技术的方方面面,先从应用说起,逐步深化剖析相关工程的源代码。看完本文的话应该会对RTMP流媒体技术有比较完整的了解。
0.背景知识
本章主要介绍一下RTMP流媒体技术都用在了哪里(在这里仅列几个我所知的,其实远比这个多)。说白了就是为了说明:RTMP是非常重要的。
使用RTMP技术的流媒体系统有一个非常明显的特点:使用 Flash Player 作为播放器客户端,而Flash Player 现在已经安装在了全世界将近99%的PC ...
在CSDN上的这一段日子,接触到了很多同行业的人,尤其是使用FFMPEG进行视音频编解码的人,有的已经是有多年经验的“大神”,有的是刚开始学习的初学者。在和大家探讨的过程中,我忽然发现了一个问题:在“大神”和初学 ...
图像全参考客观评价算法比较
- 博客分类:
- 视频质量评价
Lin Zhang等人在论文《A COMPREHENSIVEEVALUATION OF FULL REFERENCE IMAGE QUALITY ASSESSMENT ALGORITHMS》中,比较了几种全参考图像质量评价算法,在此记录一下他们的结果。
下表所示是他们所用的图像库,包含了:TID2008database,CSIQ database,LIVEdatabase,IVCdatabase,Toyama-MICTdatabase,Cornell A57 database,以及 WirelessImaging Quality database (WIQ)。从上到下数据库的规模依次下降。
...
先简单的说说mcc、mbuild和mex到底怎么回事:
mcc将M文件转换成C/C++文件和相应的MEX包裹文件(需要Matlab编辑器),但在特定条件下可以自动调用mbuild或者mex
mex将C/C++文件(入口函数为mexfunction())编译成MEX(DLL)文件(需要C/C++编辑器)
mbuild将C/C++文件(入口函数为main())生成可独立运行的C应用程序(需要C/C++编辑器)
一 mcc命令
Matlab编译器使用mcc命令能将一个M文件翻译成C文件,同时生成一个相应的包裹文件,这个包裹文件包含了编译器产生的代码和它支持的可执行文件类型之间所需的接 ...
matlab中 mcc/mbuild/mex 区别
- 博客分类:
- 纯编程
mcc的作用是将.m文件编译为c/c++动态链接库文件,使你可以在c/c++程序中使用matlab的一些函数功能。mcc 也可以将.m文件编译为exe可执行文件。
mex的作用是将c/cpp文件编译为.m 文件可以调用的库文件,在Windows操作系统里通常是以mexw32或mexw64为扩展名,让你可以使用c/c++来扩展matlab,即在matlab中调用C/C++编写函数的功能,达到增加新的功能或者加速原有程序的功能
x264n-th pass(一般是2pass)编码时所用的文件包括下述x264参数生成.stats文件
options: 1280x816 fps=2997/125 timebase=125/2997 cabac=1 ref=4 deblock=1:0:0 analyse=0x3:0x113
me=umh subme=7 psy=1 psy_rd=0.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0
deadzone=21,11 fast_pskip=0 chroma_qp_offset=2 ...
这两天研究了FFmpeg获取DirectShow设备数据的方法,在此简单记录一下以作备忘。本文所述的方法主要是对应Windows平台的。
1. 列设备
ffmpeg -list_devices true -f dshow -i dummy
命令执行后输出的结果如下(注:中文的设备会出现乱码的情况)。列表显示设备的名称很重要,输入的时候都是使用“-f dshow -i video="{设备名}"”的方式。
我自己的机器上列出了以下设备:
[dshow @0388f5e0] DirectShow video devices
[dsh ...
这两天研究了FFmpeg发送流媒体的命令,在此简单记录一下以作备忘。
1.UDP
1.1. 发送H.264裸流至组播地址
注:组播地址指的范围是224.0.0.0—239.255.255.255
下面命令实现了发送H.264裸流“chunwan.h264”至地址udp://233.233.233.223:6666
ffmpeg -re -i chunwan.h264 -vcodec copy -f h264 udp://233.233.233.223:6666
注1:-re一定要加,代表按照帧率发送,否则ffmpeg会一股脑地按最高的效率发送数据。
注2:-v ...
首先在编译程序时经常会遇到这种问题:
错误 1 error C2664: “CWnd::MessageBoxW”: 不能将参数 1 从“const char [3]”转换为“LPCTSTR”
1、觉得很烦,一般的做法就是不管三七二十一,在字符串前面加一个‘L’:如调用函数FUN(LPCTSTR str)时,不能 FUN("HELLO"); 而是FUN(L"HELLO");通常这样做都比较能解决问题。2、或者还可以用_T(), 即 FUN(_T("HELLO")); _T() 的别名还有 _TEXT(), TEXT()。稍微研究了下 ...
ffplay for mfc 代码备忘
- 博客分类:
- 我的开源项目
之前上传了一个开源播放器工程ffplay for mfc。它将ffmpeg项目中的ffplay播放器(ffplay.c)移植到了VC的环境下,并且使用MFC做了一套界面。它可以完成一个播放器播放视频的基本流程:解协议,解封装,视频/音频解码,视音频同步,视音频输出。此外还包含一些控制功能:播放,暂停/继续,前进,后退,停止,逐帧播放,全屏等;以及一些码流分析功能:视频解码分析和音频解码分析。
详细的软件使用就不仔细介绍了,本文简单介绍其中比较重要的模块的流程。以防长时间不看的话忘了~
软件信息:
ffplay播放器移植VC的工程:ffplay for MFC
SourceForg ...
近期状态几点简单思考
- 博客分类:
- 杂谈/非技术
近期本应该是忙乎完各种大事小事,压力顿减的。但是感觉自己有点不在状态,似乎连续碰到一些看上去各不相关小问题,难道是自己有点“浮躁”?好像也不是浮躁,搞不清楚。正值年轻时期,未来路还很长,还需要多反省自 ...
马上就要毕业了,伴随着毕业答辩的结束,“考博+毕设”的上半学期总算画上了句号。随之而来的照了很多的照片,实验室杜师弟刚刚把实验室合照的照片弄好发给了大家,在此简单记录一下。
这一届一共毕业6个学生,人数还算是比较多的,因此合照还是感觉比较“壮观”的。
一.毕业设计答辩
现场的环境。左边学生答辩,右边一排老师,气氛很严肃。
师弟抓拍的我自己的答辩,仿佛很严肃的样子。
答辩中毅然负责切水果发论文等各种杂活的09广电工学霸师弟。
二.外景
标志性建筑物——“大拇指”(具体名字不知道)
人太多,总是蹦不齐?