图像和流媒体
文章平均质量分 88
图像和流媒体
聚优致成
这个作者很懒,什么都没留下…
展开
-
DM368开发 -- 编码并实时播放
最近正好又用到 DM368 开发板,就将之前做的编解码的项目总结一下。话说一年多没碰,之前做的笔记全忘记是个什么鬼了。还好整理了一下出图像了。不过再看看做的这个东西,真是够渣的,只能作为参考了。项目效果就是,编码 encode 然后通过 rtsp 传输在 VLC 上实时播放。用的是sensor 是 MT9P031。一、内核配置让其支持MT9P031二、硬件设计错误排查启动信息错误,无法检测到MT9原创 2017-09-12 11:06:27 · 21509 阅读 · 7 评论 -
图像和流媒体 -- 详解YUV数据格式
如需转载请注明出处:https://blog.csdn.net/qq_29350001/article/details/78283369我们在讲 FFmpeg 系列的时候,有提到 YUV 的。其中包括YUV播放器、简单的YUV格式介绍。参看:FFmpeg再学习 -- 视音频基础知识接下来详细研究一下:参看:YUV -- 维基百科参看:图文详解YUV420数据格式一、YUV简...原创 2017-10-19 12:29:52 · 13498 阅读 · 0 评论 -
图像和流媒体 -- 帧率、分辨率、码流的概念和关系
如需转载请注明出处:https://blog.csdn.net/qq_29350001/article/details/78271900一、帧率、分辨率、码流的概念和关系1、帧率(Frame Rate)一帧就是一副静止的画面,连续的帧就形成动画,如电影等。我们通常所说的帧数就是在秒钟时间里传输的图片的帧数,通常用fpsFrames Per Second)表示。每一帧都是静止的图像,快速...原创 2017-10-18 13:40:44 · 29909 阅读 · 4 评论 -
H.264再学习 -- 详解 H.264 NALU语法结构
如需转载请注明出处:https://blog.csdn.net/qq_29350001/article/details/78226286讲到H.264除了前两篇文章提到的,I、P、B帧。参看: 图像和流媒体 -- I 帧,B帧,P帧,IDR帧的区别还有其他相关术语:NALU:H264编码数据存储或传输的基本单元,一般H264码流最开始的两个NALU是SPS和PPS,第三个NALU是ID...原创 2017-10-13 15:08:12 · 30016 阅读 · 2 评论 -
ubuntu下和开发板下播放音乐
直接在终端输入“sudo apt-get install audacious”就能安装。MP3播放器(一) 移植madplay播放器开源软件,实施步骤:a) 安装WM8960声卡驱动i. 从ftp/project/获取声卡驱动sound_driver.rar1. 在windows解压缩,获取一下文件内容a) audio_logo_rhgz_wm.tar.gz,针原创 2016-06-14 13:36:35 · 4354 阅读 · 0 评论 -
H.264再学习 -- 目前主流的几种数字视频压缩编解码标准(转载)
如需转载请注明出处:https://blog.csdn.net/qq_29350001/article/details/78225725上一篇主要讲了H.264,接下来我们看一下其他编解码标准。参看:目前主流的几种数字视频压缩编解码标准参看:视频编码标准汇总及比较参看:An explanation of video compression techniquesJPEG...原创 2017-10-13 14:29:53 · 14700 阅读 · 2 评论 -
H.264再学习 -- H.264视频压缩标准
如需转载请注明出处:https://blog.csdn.net/qq_29350001/article/details/78221863H.264 这部分一直在讲,但是却没有系统的来说。接下来要详细。参看:H.264视频压缩标准一、简介H.264是最新的视频压缩标准,它也称为MPEG-4 Part 10或AVC(高级视频编码)。据预测,在未来几年内H.264将成为行业首选的视频标准...原创 2017-10-13 09:04:35 · 19538 阅读 · 0 评论 -
RTSP再学习 -- 利用FFmpeg 将 rtsp 获取H264裸流并保存到文件中
如需转载请注明出处:https://blog.csdn.net/qq_29350001/article/details/78214267既然已经可以通过 RTSP 获取h264 裸流了。那么通过 FFmpeg 将其保存到文件中怎么做呢?一、首先RTSP获取 h264 裸流我们上面两篇文章主要讲的是通过rtsp://Your ip:554/stream_chn0.h265 播放H.26...原创 2017-10-12 14:10:11 · 38429 阅读 · 28 评论 -
RTSP再学习 -- Hi3516A RTSP实例 分析
上一篇文章,讲到了Hi3516A通过RTSP播放H.265视频流的源码。接下来对源码分析一下。这里推荐一个工具,参看:原创 2017-10-09 10:04:08 · 12403 阅读 · 11 评论 -
RTSP再学习 -- Hi3516A RTSP实例
该程序rtsp源码结合 mpp 里 sample_venc 的视频编码样例可以用 VLC 播放 H.265 视频实时流将rtsp_server.h, sample_venc.c 这 2 个文件放到 mpp/sample/venc 目录下重新make即可。在文件系统执行./sample_venc VLC播放器里打开网络串流 :rtsp://Your ip:554/stream_chn0.h265原创 2017-09-29 16:28:30 · 13206 阅读 · 25 评论 -
RTSP再学习 -- RTSP协议分析(转载)
最近一直在看 RTSP,但是RTSP协议是个啥?还没有搞清楚。首先流媒体百度百科上有这样一段,从基本的名字上或多或少可以理解一下这些传输协议的区别。这很重要!!传输协议1、RSVP:资源预留协议2、RTP:实时传输协议3、RTCP:实时传输控制协议4、MMS:微软流媒体服务协议5、RTSP:实时流传输协议6、MIME:多目因特网电子邮件扩展协议7、RTMP(RTMPE/RTMPS/RTMPT):A原创 2017-09-29 11:11:49 · 4695 阅读 · 0 评论 -
LIVE555再学习 -- FFmpeg + live555实现RTSP直播
一、简单实验首先先简单的实验了一下。运行 FFmpeg 将 MP4文件转成 264 文件 ffmpeg -i Tai.mp4 test.264执行 testOnDemandRTSPServer 单播 264 文件./testOnDemandRTSPServer 在 VLC 添加 URL 地址rtsp://192.168.x.xx:8554/h264ESVideoTestOK,可以播放。但这样测肯原创 2017-09-29 09:35:18 · 10267 阅读 · 0 评论 -
LIVE555再学习 -- live555实现RTSP直播服务器 分析
上一篇文章讲到了 live555实现RTSP直播服务器,但是篇幅有点长,没有来得及对源码进行分析。这篇文章就好好看看,源码部分这次参看Linux版本下的 通过live555实现H264 RTSP直播然后还可以结合 live555直播(准备2)-重写doGetNextFrame()和doEventLoop() 这篇文章来讲。这哥们写的这几篇文章,都是很不错的。可以关注一下。他的 DM365+live原创 2017-09-27 16:29:30 · 14437 阅读 · 3 评论 -
LIVE555再学习 -- live555实现RTSP直播服务器
分析完 testOnDemandRTSPServer 和 testH264VideoStreamer 的源码。我们现在就可以做相关的项目工程。我之前写过一个,参看: DM368开发 -- 编码并实时播放项目效果就是,编码 encode 然后通过 rtsp 传输在 VLC 上实时播放。用的是sensor 是 MT9P031。但是这里的 RTSP 服务器不是用的 live555 的。再有一个例子就是原创 2017-09-27 09:12:48 · 15373 阅读 · 17 评论 -
LIVE555再学习 -- testOnDemandRTSPServer 源码分析
一、简介先看一下官网上的介绍:testOnDemandRTSPServer creates a RTSP server that can stream, via RTP unicast, from various types of media file, on demand. (Supported media types include: MPEG-1 or 2 audio or video (e原创 2017-09-26 14:59:34 · 3580 阅读 · 0 评论 -
LIVE555再学习 -- 单播、多播、广播、直播、点播 都是个啥?
上一篇文章提到单播、多播。但是这是什么意思?接下来我们看一下。未完待续!!!原创 2017-09-25 16:40:41 · 7181 阅读 · 0 评论 -
LIVE555再学习 -- testH264VideoStreamer 源码分析
上一篇文章我们已经讲了一部分:testH264VideoStreamer 重复从 H.264 基本流视频文件(名为“test.264”)中读取,并使用 RTP 多播进行流式传输。 该程序还具有内置的 RTSP 服务器。Apple 的“QuickTime 播放器”可用于接收和播放此音频流。 要使用它,让玩家打开会话的“rtsp://”URL(程序在开始流式传输时打印出来)。开源“VLC”和“MPla原创 2017-09-22 16:38:52 · 3932 阅读 · 0 评论 -
LIVE555再学习 -- testRTSPClient 实例
上一篇文章简单看了一遍 testRTSPClient 的源码,接下来举几个应用实例加深一下。首先什么都不做修改,先执行一遍,看一下。一、执行 testRTSPClient 二、核心代码就是做移植的时候主要更改的地方上述函数中会返回每帧数据长度 frameSize,fReceiveBuffer 是缓存指针;DUMMY_SINK_RECEIVE_BUFFER_SIZE宏值默认是100000,若是高原创 2017-09-21 14:38:13 · 9786 阅读 · 1 评论 -
LIVE555再学习 -- testRTSPClient 源码分析
现在开讲 testRTSPClient。在官网这这样一段介绍,参看:RTSP client翻译下来就是:testRTSPClient 是一个命令行程序,显示如何打开和接收由 RTSP URL 指定的媒体流,即以rtsp://开头的URL在这个演示应用中,接收到的音频/视频数据什么也没有。 但是,您可以在自己的应用程序中使用和调整此代码(例如)解码和播放接收到的数据。openRTSP 类似于“tes原创 2017-09-20 15:55:22 · 5348 阅读 · 1 评论 -
LIVE555再学习 -- OpenRTSP 源码分析
看了很多东西,感觉有点杂。源码分析部分也看了,讲的也就那样。现在有点不知道从哪讲起了。参看:nkmnkm的专栏-流媒体参看:smilestone322的专栏-live555原创 2017-09-18 14:27:28 · 6363 阅读 · 1 评论 -
LIVE555再学习 -- VLC搭建RTSP服务器(转)
实时流协议 RTSP 是在实时传输协议的基础上工作的,主要实现对多媒体播放的控制。用户对多媒体信息的播放、暂停、前进和后退等功能就是通过对实时数据流的控制来实现的。 而这些播放控制功能的实现不仅需要多媒体播放器, 同时还需要实时流协议。实时流协议是通过请求报文和响应报文的交互实现的,请求报文和发送报文。下面我们来再详细的介绍一下它的搭建。参看:VLC搭建RTSP服务器的过程一、VLC搭建RTSP服原创 2017-09-14 13:33:40 · 4019 阅读 · 1 评论 -
LIVE555再学习 -- DM368/Hi3516A 交叉编译
接着上篇文章来讲,参看:LIVE555再学习 -- Linux 下编译下载源码、文件介绍部分不再介绍。主要看配置编译部分。三、配置编译DM368 的交叉编译器为 arm-none-linux-gnueabi-gcc 如果您的目标平台没有“config.”文件,请尝试使用其中一个现有文件作为模板因此我们创建一个config.dm368,内容可以参考config.armlinux# cat confi原创 2017-09-14 11:29:30 · 2529 阅读 · 0 评论 -
LIVE555再学习 -- Linux 下编译
现在我们来看一下 LIVE555 在Linux下的编译一、下载源码下载:Index of /liveMedia/public参看:LIVE555 Streaming Media选择下载 live555-latest.tar.gz二、文件介绍我的开发环境为 Ubuntu 12.04将上面下载的 live555-latest.tar.gz 解压tar -zxvf live555-latest.tar.原创 2017-09-14 10:19:35 · 2031 阅读 · 1 评论 -
LIVE555再学习 -- Windows 下编译
然后开始下载编译,其中包含,Windows、Linux和交叉编译三种形式。首先来讲Windows下编译参看:Live555研究之一 源代码编译一、下载源码下载:Index of /liveMedia/public参看:LIVE555 Streaming Media选择下载 live555-latest.tar.gz二、文件介绍我的开发环境为 win 10 64位+VS2017将上面下载的 live原创 2017-09-13 10:41:55 · 17069 阅读 · 24 评论 -
LIVE555再学习 -- 初识
之前用过 LIVE555,资料什么的都是有的但是并没有系统的总结。现在有时间可以再看一下。一、LIVE555 初识首先要了解一下什么是 LIVE555。参看:LIVE555 官网参看:LIVE555 Streaming Media查看官网,有一段介绍。This code forms a set of C++ libraries for multimedia streaming, using ope原创 2017-09-13 09:23:02 · 1256 阅读 · 0 评论 -
图像和流媒体 -- Sapera 安装遇到的问题
一、下载安装包参看:Genie Nano M1930-NIR点击软件及例程下载二、安装遇到的问题(1)Installation directory must be on a local hard drive解决方法:clsicacls %temp% /reset /T /Q /Cpause以上文件复制到 txt 中 将后缀名修改为bat以管理员执行即可。windows自身权限的的问题。(2)安原创 2017-07-28 17:13:17 · 1680 阅读 · 0 评论 -
FFmpeg再学习 -- SDL 环境搭建和视频显示
继续看雷霄骅的 课程资料 - 基于FFmpeg+SDL的视频播放器的制作一、SDL 简介参看:WIKI -- Simple DirectMedia Layer参看:最简单的视音频播放示例9:SDL2播放PCM参看:SDL介绍SDL (Simple DirectMedia Layer)是一套开源代码的跨平台多媒体开发库,使用C语言写成。SDL提供了数种控制图像、声音、输出入的函数,让开发者只要用相同原创 2017-07-26 13:32:18 · 9005 阅读 · 0 评论 -
FFmpeg再学习 -- FFmpeg+SDL+MFC实现图形界面视频播放器
一、创建 MFC 工程文件->新建->项目->Visual C++ ->MFC 应用程序应用程序类型,选择基于对话框生成效果如下:二、设置控件找到“工具箱”,就可以将相应的控件拖拽至应用程序对话框中常用控件有: Button, Edit Control, Static Text等。右键找到“属性”选项卡可以在“ Caption”属性上修改控件上的文字可以在“ ID” 属性上修改控件上的ID( ID原创 2017-07-31 15:12:56 · 9574 阅读 · 9 评论 -
FFmpeg再学习 -- FFmpeg解码知识
继续看雷霄骅的 课程资料 - 基于FFmpeg+SDL的视频播放器的制作前面用了五个篇幅来讲 FFmpeg,其主要目的是为实现将图片转视频的功能。总的来说,对于 FFmepg 多少有一些了解了。但是源码部分还是一点都不清楚。接下来简单的梳理一下 FFmpeg 源码结构。毕竟现在从事的工作,不太偏重这个。等以后有机会再系统的研究吧。ffmpeg再学习 -- Linux 安装说明ffmpeg再学习 -原创 2017-07-20 16:13:05 · 4416 阅读 · 0 评论 -
FFmpeg再学习 -- 硬件加速编解码
为了搞硬件加速编解码,用了一周时间来看 CUDA,接下来开始加以总结。一、什么是 CUDA(1)首先需要了解一下,什么是 CUDA。参看:百度百科 -- CUDA参看:CUDA基础介绍参看:cuda入门参看:CUDA知识普及参看:CUDA学习笔记CUDA (Compute Unified Device Architecture,统一计算设备架构),是显卡厂商 NVIDIA 在2007年推出的并行计原创 2017-07-15 14:54:02 · 41682 阅读 · 2 评论 -
FFmpeg再学习 -- 视音频基础知识
最近一直在看雷霄骅 FFmpeg 系列视频,然后将自己的理解总结一下。参看:《基于 FFmpeg + SDL 的视频播放器的制作》课程的视频一、视频播放器原理 自己理解:比如一个 MP4 文件,它是有音频、有视频两部分封装的。PCM 音频采样数据和 YUV 视频像素数据,通过音视频编码 Encode,生成AAC和H.264文件,最后封装成 MP4 文件。然后,我想起我使用 PR 剪辑视频时,其实就原创 2017-07-10 14:52:39 · 4284 阅读 · 0 评论 -
FFmpeg再学习 -- Windows下安装说明
看了半晌 雷霄骅 的 ffmpeg 的视频。待续稍后总结。一、FFmpeg 简介FFmpeg 是一个开源免费跨平台的视频和音频流方案,属于自由软件,采用 LGPL 或GPL 许可证(依据你选择的组件)。它提供了录制、转换以及流化音视频的完整解决方案。它包含了非常先进的音频/视频编解码库 libavcodec,为了保证高可移植性和编解码质量, libavcodec 里很多 codec 都是从头开发的...原创 2017-06-30 16:48:04 · 11825 阅读 · 3 评论 -
图像和流媒体 -- I 帧,B帧,P帧,IDR帧的区别
参看:什么是I帧,P帧,B帧参看:H264编码原理以及I帧B帧P帧一、H246简介 H264是新一代的编码标准,以高压缩高质量和支持多种网络的流媒体传输著称,在编码方面,我理解的他的理论依据是:参照一段时间内图像的统计结果表明,在相邻几幅图像画面中,一般有差别的像素只有10%以内的点,亮度差值变化不超过2%,而色度差值的变化只有1%以内。所以对于一段变化不大图像画面,我们可以先编码出一个完整原创 2017-06-27 10:19:49 · 18006 阅读 · 7 评论 -
mp4v2再学习 -- H264视频编码成MP4文件
一、H264视频编码成MP4文件参看:H264视频编码成MP4文件参看:mp4v2在VS2010下的编译与在项目中的使用最近做项目需要将H264文件封装为mp4文件,从网上找到了MP4V2库,下载下来后不知道从何下手,官方网站https://code.google.com/p/mp4v2/在windows下的编译过程介绍的很简短,对刚刚开始使用VS2010做大型项目的人来说,实在是有些无力。于是从原创 2017-06-26 17:19:09 · 21242 阅读 · 23 评论 -
mp4v2再学习 -- Linux 下安装说明
一、MP4v2 简介参看:嵌入式Linux下MP4视频录制库MP4V2移植和简介了解:mp4(3) - Linux man page首先官网上有这样的介绍:C library and various command-line utilities which permit creation and modification of MP4 filesMP4v2 is an open source原创 2017-06-05 15:26:04 · 6828 阅读 · 2 评论 -
FFmpeg再学习 -- 将 jpeg 转成 mp4
上一篇已讲将了 ffmpeg 的安装说明,接一下来讲一下我们要实现的功能,将 jpeg 转成 mp4.参看:使用ffmpeg将jpeg转成mp4本版本使用的是 ffmpeg-3.3.11、将单个 jpeg 转码生成 mp4# ./ffmpeg -f image2 -i ../jpg/IMG_3870.jpg -vcodec libx264 -b:v 200k -r 10 -s 640x480 -a原创 2017-05-22 15:59:52 · 17073 阅读 · 3 评论 -
FFmpeg再学习 -- Linux 安装说明
ffmpeg 之前项目有用到过,最近在做使用 ffmpeg 将 jpeg 转成 mp4,正好借此机会将安装过程说明一下。参看:关于ffmpeg的安装详细步骤和说明Windows下安装方法我就不讲了,可以参看上面的文章。现在我讲讲在 Ubuntu 下的安装。1、首先下载下载:ffmpeg 官网下载 下载的版本为 ffmpeg-3.3.1.tar2、解压将软件拷贝到指定位置,解压。tar -xvf原创 2017-05-22 15:02:19 · 5934 阅读 · 0 评论