自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(98)
  • 资源 (12)
  • 收藏
  • 关注

原创 2020总结

2020年可以说是我开始工作的第二年了。在第一年中我可以说了解了工作和组里的基本情况,而这第二年就开始真正的加深学习了。还是以时间线一点点的慢慢讲吧。春节前我们一边工作一边准备年会。我们公司有个惯例那就是让每年最新入职的员工来主持年会,所以我那个时候很荣幸的被选中作为了年会的男主持,从元旦到年会的一段时间我基本就是在白天上班解bug,学习音视频的知识。而到晚上六点参加我们组里小品节目的排练,之后与我们的女同事准备主持的事。而晚上回家的路上要背主持稿。因为之前没有做过主持的经历,所以对待这次的主持任务很是

2021-01-03 20:17:08 363 1

原创 使用VLC 在PC端搭建RTSP环境

声明: 本文是我在工作中遇到的关于环境搭建问题后的一些总结,希望可以对你有所帮助。介绍:搭建方法:1) 搭建 VLC 软件,点击媒体菜单,选择“流”选项,如下图:2)点击添加选择需要加载的测试流文件:3)选择“串流”4)点击下一步:5)选择在本地播放,之后选择选择 RTP /MPEG Transport Stream,然后添加,如下图:6)rtsp的端口为8554,同时需要设置路径,这里设置为“/1”(这个数据可以随便写,但是一定要写...

2020-11-22 21:10:32 1061

原创 使用VLC 在PC端搭建RTP环境

声明: 本文是我在工作中遇到的关于环境搭建问题后的一些总结,希望可以对你有所帮助。介绍:搭建方法:1) 搭建 VLC 软件,点击媒体菜单,选择“流”选项,如下图:2)点击添加选择需要加载的测试流文件:3)选择“串流”4)点击下一步:5)选择在本地播放,之后选择选择 RTP /MPEG Transport Stream,然后添加,如下图:6)目标设置页面填入地址,如 239.1.1.1,端口设置 50047)下图中取消激..

2020-11-22 12:29:56 1234 1

原创 手机投屏方式

声明: 本文是我在工作中遇到的关于投屏问题后的一些总结,希望可以对你有所帮助。介绍: 现在我们办公或者家里通常会用到投影仪,而在这里简单为大家介绍两个常用到的投影方式: 第一种是直接将手机播放影片的URL传递到投影仪APP中,投影仪使用这个URL来获得影视内容。这个时候需要手机与投影仪在同一网段下或者在同一个无线路由中,通过这种方式手机的APP会与投影仪上的APP在同一网段下,这样就可以实现APP间信息的传递。而这种方式通常需要投影仪上预先安装对应的APP,例如奇异果,乐播...

2020-11-22 11:19:48 666

原创 获取本地ipv4和ipv6信息

声明: 本文是我在工作中遇到的网络相关的问题,以及自己的一些总结,希望可以对你有所帮助。介绍: 获得本地ipv4和ipv6的方式有两种,一种是通过调用getifaddrs函数而另一种是通过socket的ioctl获得ipv4,而通过/proc/net/if_inet6节点来获得ipv6。他们的具体实现方式为:通过调用getifaddrs函数来获得本地ipv4和ipv6:具体参考:https://man7.org/linux/man-pages/man3/getifaddrs....

2020-11-15 20:41:26 3487

原创 C语言结构体赋值

声明: 本文是我在工作中遇到的C语言结构体赋值以及C语言指针问题后的一些总结,希望可以对你有所帮助。介绍:先不做讲解,看看下面的代码,大家猜一下打印的值,看大家对C语言结构体赋值和结构体指针是不是了解:#include <stdio.h>int main () { typedef struct test { int a; int b; char c[20]; }TEST; TEST a1 = {1,2,"xiang"}; TEST b1 =...

2020-09-20 11:54:21 9425 2

原创 apk使用本地代理接收媒体流

声明: 本文是我在工作中遇到的一种apk使用本地代理接收媒体流的方式,这种方式可以更加的安全。这里与大家分享,希望可以对你有所帮助。介绍:1.某apk获得数据和向player发送数据的方式:a. 使用本地代理的方式访问服务器,而本地代理就是使用 127.0.0.1 的网址。某apk首先会通过本地代理向服务器发送对应视频的请求,只不过这里发送请求的URL中加入了Accept-Encoding:gzip\r\n 关键字,这个关键字就是向服务器申明自己是可以接收加密数据的。而如果服务器...

2020-06-21 21:30:24 663

转载 MP4简介

声明: 在我的工作中需要查看一些关于MP4格式的问题,所以对MP4进行了简单的了解,这里对这部分知识做个简单的总结,但是文中主要是参考mp4文件格式解析,这里进行说明,同时我也使用了一些自己工作中的例子作讲解,希望可以对你有所帮助。参考文章:FFmpeg中mp4的demuxer(mov.c)代码阅读 : https://www.jianshu.com/p/f78defe0e485介绍MP4格式的文章:mp4文件格式解析 : https://www.jianshu.com/p/...

2020-06-20 21:12:16 1011 2

原创 Wireshark -IO图表获得各个信息的对比

声明:这里主要是自己在工作中用到的一种方法,主要用在数据的对比或者形象化显示,希望对您有用介绍:前段时间由于工作的需求,我们需要对比我们不同产品之间获取数据的对比,这个时候可以使用Wireshark 中的IO图表进行形象的对比。下面我们先展示一下对比的效果:从上图中我们可以很好的展现出我们不同产品之间获取网络数据的对比,其中黑线是产品1获取的网络包,而蓝线为产品2获得的网络包,而通过上图的对比我们可以清晰的发现产品1获得的网络包要比2获得的多很多。所以获得网络数据这方面通过上...

2020-06-14 22:27:35 1986

原创 mpegts介绍

声明:这里主要介绍FFmpeg 中mpegts这个封装格式,希望可以对大家有所帮助。介绍:mpegts : 对应的是封装层代码,在解码过程中对应的是下面的解封装。经过解封装之后,获得音视频对应的es数据。我们看电视的时候之所以可以每次切台都可以接着看,而DVD换碟片就要重头开始看,这是因为电视在切台后会发送PAT和PMT。通过PAT我们可以确定PMT的pid,同时接收有与之pid匹配的PMT,而通过PMT我们可以知道将要获得的音视频的pid。之后我们接收与...

2020-05-31 22:23:43 7783

原创 用Excel分析音视频同步

声明:这里主要介绍如何运用Excel来分析音视频是否同步,希望可以对大家有所帮助。介绍: 学习音视频就一定要知道做音视频同步,而现在我们来分析音视频同步的工具也是有的,比如easyICE等,但是针对音视频同步这样的问题,我们该如何只通过音视频的pts log打印来判断是不是音视频同步有问题那?由于很多时候音视频的pts很多,我们很难一个个的分析来获得对这个问题整体的了解,这个...

2020-05-05 13:11:46 715 1

原创 入职大半年 -- 工作分享

简介: 再有一个月,我就入职一年了。在这里想要分享一下自己在这一年中做经历以及所学习的,希望可以对大家有所帮忙。一, 我进入一个完全陌生的行业:刚拿到offer的我并不知道自己要去工作的组具体是做什么的。而是带着老子有工作的思想在学校用那最后的学生时光来享受自由的美好。而当我真正要来公司的时候,我才自己进入了一个什么样的组,但是在这个时候自己还是不太明白自己将来具体是要做什...

2020-04-06 21:42:45 800

原创 第一次使用Java编程——feature总结

声明: 这里主要是自己在Java编程中碰到的一些问题,以及一些工作的经验,希望可以对大家有所帮助。介绍: 前段时间由于工作的需求,我们需要使用Java开发一个小的功能,而具体实现的功能就是将从底层获得的特殊信息上报到apk。而关于feature的细节这里就不细说了。我想总结的是以后在拿到一个feature的时候我们应该如何去更好的完成。1. 目标需要明确: 在...

2019-12-08 16:10:23 3482

原创 Android中 handler , looper 以及 message 的关系

声明: 在我的工作中用到了handler,looper 以及 message的关系,所以我在这里总结一下自己对他们关系的了解,同时也会在后面介绍如何使用他们来完成自己的任务。同时还是强调,这是我自己的一些工作总结,可能有不完善的地方, 请大家指正,希望对你有所帮忙。同时这里面有很多的looper,handler,以及message等,其实他们的首字母是大写的,只是我这里为了方便就使用小...

2019-11-17 11:37:41 1086 2

原创 MD5的函数实现 —— 判断是否为相同的文件

声明: 在我们平时工作中经常会使用MD5来判断两个文件是否为同一个文件,而判断的方法就是使用md5sum命令加文件名来看两个文件的MD5值是否相同,而当我们在程序中需要比较两个文件或者两个字符串是否相同的时候就要用到MD5 的函数了,下面就是我自己学习时的总结,希望可以对您有所帮助。介绍:一. MD5的头文件(而具体头文件和源文件在结尾附件中):#include "md5....

2019-11-02 18:16:10 2447

原创 Git 学习 —— 错误分析与解决

声明: 本文是以我自己学习Git的资料作为总结,希望可以对您有所帮助。下面介绍一些在工作用使用git遇到的问题,希望可以对遇到同样问题的你有帮助。下面介绍几种出现的问题:1. push的代码依靠之前的本地提交:现象与原因:多次git commit 但是只Git push最后一次的git commit。 git commit 1git commit 2git...

2019-10-20 18:04:50 1217

原创 Git 学习 —— 代码提交

声明: 本文是以我自己学习Git的资料作为总结,希望可以对您有所帮助。 前面简单的介绍了git:Git 学习 —— 简单介绍。接下来我主要介绍我们最常用的git的功能——代码提交。代码提交就是将我们修改了的代码提交到服务器的过程。提交代码的步骤:0. 在上传数据前要确保自己目录下的文件为最新的,所以通常我们都要使用git pull将当前目录下的文件拉倒最新的。1....

2019-10-20 17:57:12 439

原创 Git 学习 —— 简单介绍

声明: 本文是以我自己学习Git的资料作为总结,希望可以对您有所帮助。 对于Git的学习,我们一定要分清楚几个概念,或者说几个分区:工作目录,暂存区,本地仓库以及远程仓。而学习和很多好的理解这里个概念对我们下面的讲解很重要,因为我们主要就是在这里个地方进行工作的,而我们的代码同样就是在这几个地方来回进行切换的。下面我们来讲解 上面就是这几个分区的关系,不过我...

2019-10-20 17:11:16 234

原创 hls学习总结

声明: 本文只是自己的一些学习总结,可能有不对的地方, 请您指正,同时希望我的文档对您有所帮助。正文: hls是我最近接触的一种流媒体传输协议,而具体的关于hls的介绍大家可以去Google或者百度一下,接下来我只介绍自己学习后认为重要的知识点。一,m3u8文件 hls的主要是通过m3u8文件来存放各个切片的索引,而我们要下载视频时...

2019-07-27 14:17:06 1698

原创 Android.mk - 编译错误跟踪

声明: 本文是自己在学习中做的一些总结,希望我的总结可以对你有所帮助。同时需要注意的是在文中Android.mk与Makefile是一个东西,都是用来编译程序的脚步,所以大家不用太纠结这个名称。自己碰到的问题: 我昨天对一个文件中的内容进行了修改,但是发现编译成功后我的log内容并没有在log中显现,同时我发现原有的log的行数还是没有修改前的行数,所以我可...

2019-07-27 10:53:02 991

原创 播放器debug方式

声明: 本文是我在对player debug时碰到问题时的思路,希望可以对你有所帮助,不过我们很多时候其实就是遇到问题,思考问题,解决问题。这里只是我自己的一点点总结。 我们都知道在播放器中一个特定格式的文件被播放出来要经过下面的步骤: file ...

2019-06-01 17:12:26 475

原创 编译时错误提示:XXX already defined by YYYY

错误提示:在编译中我们有时会碰到一种错误提示如下:build/core/base_rules.mk:XXX: *** YYYY/ZZZZ/AAAA: MODULE.BBBB already defined by CCCC/DDDD. stop分析原因:上面这种提示的意思是说在某个变量或者模块MODULE.BBBB已经在目录中CCCC/DDDD定义了,而在目录YYYY/ZZZZ/A...

2019-05-11 19:43:29 10908

原创 学习总结——player(播放器)相关知识

声明: 前声明一下,本文属于个人学习总结,同时也是对自己最近学习的回顾,由于在较短的时间里我不可能对player有这么深刻的了解,所以如果您发现那里有错误了,请您指正。同时建议对player有兴趣的同学可以看一下雷神的CSDN博客,我看的很多内容是从他那里了解到的。他的博客地址为:https://blog.csdn.net/leixiaohua1020/article/detai...

2019-05-11 18:12:38 2235

原创 adb push :将修改的so文件push到设备

声明: 本文主要是根据个人工作总结,其中可能有些内容不准确,请你向我提出我会根据你的意见改正。adb push: 我们经常会对一些代码进行修改,而修改编译后我们是不是还要重新将他们编译到镜像文件并使用烧写工具将这个镜像文件重新烧写到设备上哪。我们确实可以这么做,但是这样做下来大家会发现这是个很费时间的操作,那么我们是不是有一个比较简单的方法或者操作来简化上面...

2019-04-14 18:23:40 5699

原创 adb——实现设备与Windows端的连接与调试

声明: 本文主要是根据个人工作总结,其中可能有些内容不准确,请你向我提出我会根据你的意见改正。同时由于这篇文章是事后补写的,所以没有图片使你读着比较晦涩,这里道歉了。adb: 用到adb的人肯定对他有一定的了解了,所以我这里就不细说,其实很简单他就是一个用于连接调试的工具。而工具的作用就是辅助我们使我们的工作变得更加的简单快捷。安装: ...

2019-04-14 16:58:51 2968

原创 指针简介(4)—— 自制栈

声明: 本文是阅读周立功老师的程序设计与数据结构后所写,很多内容其实是书中的内容,所以如果您想了解更多这方面的知识,您可以阅读这本书。自制栈: 对于学习嵌入式的人来说栈一定不会陌生,那么我们是否可以自己写一个栈并实现对其操作的函数那?我想这是可以的。下面我们一步一步来完成它。 首先我们要用一个结果体来将这个栈定义出来,对于真正的栈来说可以向...

2019-03-22 20:41:29 263

原创 指针简介(3)—— 指针函数与函数指针

声明: 本文是阅读周立功老师的程序设计与数据结构后所写,很多内容其实是书中的内容,所以如果您想了解更多这方面的知识,您可以阅读这本书。 在前面一节我们简单介绍了指针、数组、指针数组以及数组指针。而在这一节中我们主要介绍两个概念:函数指针函数以及函数指针。指针函数: 说到指针函数,他的主体还是一个函数,但是他的返回值为指针类型,因此我们...

2019-03-18 11:01:41 797

原创 指针简介(2)——参数传值和参数传址

声明: 本文是阅读周立功老师的程序设计与数据结构后所写,很多内容其实是书中的内容,所以如果您想了解更多这方面的知识,您可以阅读这本书。 在调用函数时我们通常会向调用的函数传递参数,而这里的参数有两种方式传递进入函数,一种是将实参的变量名直接传递给调用函数,这种被称为是参数传值,而另一种是将实参的地址传递给调用函数,这种方式被称为是参数传址。参数传值:...

2019-03-13 20:46:16 629

原创 指针简介(1)

声明: 本文是阅读周立功老师的程序设计与数据结构后所写,很多内容其实是书中的内容,所以如果您想了解更多这方面的知识,您可以阅读这本书。指针: 我想对于程序员来说指针并不陌生,尤其是对于经常写驱动程序或者写操作系统的人。而对于我来说,指针是我看程序时经常会用到的。虽然写的不多,但是读的程序还是不少的。因为感觉周立功老师写的这本书真的非常的好。所以这几天打...

2019-03-02 17:21:29 240

原创 项目——电子相框(1):LCD屏幕显示字符和汉字

简介:        本文主要介绍如何通过应用程序控制内核驱动以实现在LCD屏幕上显示字符和汉字。声明:        本文主要是看韦东山老师视频后并结合自己所查的一些知识所写,希望可以对你有所帮助。同时本文主要是针对应用程序编程,所以在阅读本文之前希望您先了解与LCD相关的驱动。平台:Linux内核:Linux-4.3.2LCD驱动:嵌入式Linux——LCD驱动 (这篇...

2018-11-19 21:12:18 4061

原创 Linux通过nfs挂载根文件系统失败:VFS: Unable to mount root fs via NFS, trying floppy.

简介:          本文主要介绍一种nfs挂载失败的情况,即在根文件系统中dev文件下没有设置console和null节点。如果你的文件系统中没有这种情况,这篇文章可能对你帮助不大。不过我也会将我在查找这个问题时碰到的一些其他情况进行说明。  Linux内核:linux-3.4.2 所用开发板:JZ2440 V3(S3C2440A)BusyBox  : v1.20.0...

2018-11-07 19:29:08 11947 3

原创 嵌入式Linux——学习经历

简介:        本文主要介绍我学习嵌入式的经历。并结合自身的经验希望可以对大家有所帮助。视频及教材:        郭天祥相关视频及教材,天狼星相关视频及教材,野火迷你相关视频及教材以及韦东山100ask官网所介绍的视频及教材个人简介:        我的本科学校是一个很普通的二本,研究生也是二本。我找的是一个规模中等的公司(我个人对这份工作还是比较满意的)。而我所面试的...

2018-10-31 10:43:31 18891 13

原创 嵌入式Linux——分析kernel运行过程(2):kernel第二阶段

简介:        本文主要介绍在2.6.22.6版内核中,代码的运行过程。而在kernel的第二阶段主要介绍在内核代码中如何解析从u-boot和前面汇编代码中获得TAG参数与machine_desc结构体。声明:        本文主要是看了韦东山老师的视频后所写,希望对你有所帮助。u-boot版本 : u-boot-1.1.6开发板 : JZ2440Linux内核 :...

2018-09-15 11:41:37 498

原创 嵌入式Linux——分析kernel运行过程(1):kernel第一阶段

简介:        本章主要介绍在2.6.22.6内核中,代码的运行过程。而这里主要介绍kernel第一阶段的汇编代码部分。在这部分我们将讲解内核如何对单板控制器信息和机器ID的进行检测。同时也会讲解内核如何创建页表和使能mmu。声明:        本文主要是看了韦东山老师的视频后所写,希望对你有所帮助。u-boot版本 : u-boot-1.1.6开发板 : JZ2440...

2018-09-06 11:14:32 786

原创 嵌入式Linux——分析u-boot运行过程(4):u-boot第四阶段代码

简介:        本文主要介绍在u-boot-1.1.6中代码的运行过程,以此来了解在u-boot中如何实现引导并启动内核。这里我们主要介绍u-boot第四阶段的代码,即讲解的是在u-boot中我们如何运用命令行来加载并启动内核。声明:        本文主要是看了韦东山老师的视频后所写,希望对你有所帮助。u-boot版本 : u-boot-1.1.6开发板 : JZ244...

2018-08-29 14:09:04 749

原创 嵌入式Linux——分析u-boot运行过程(3):u-boot第三阶段代码

简介:        本文主要介绍在u-boot-1.1.6中代码的运行过程,以此来了解在u-boot中如何实现引导并启动内核。这里我们主要介绍u-boot第三阶段的代码。而第三阶段的代码主要讲解的是在u-boot中,我们进入u-boot命令行界面后,如何通过run_command函数来运行各种命令,同时也讲解run_command函数的实现机理。而在本文的末尾我们会以一个menu shell...

2018-08-25 17:39:08 997 1

原创 嵌入式Linux——分析u-boot运行过程(2):u-boot第二阶段代码

简介:        本文主要介绍在u-boot-1.1.6中代码的运行过程,以此来了解在u-boot中如何实现引导并启动内核。这里我们就要介绍u-boot第二阶段的代码了。而第二阶段的代码主要就是填充gd_t结构体,并做一些其他硬件的设置。而这里对gd_t结构体的填充以及对硬件的设置则是在为下面的第三阶段代码做铺垫。声明:        本文主要是看了韦东山老师的视频后所写,希望对你...

2018-08-15 20:44:34 426

原创 嵌入式Linux——分析u-boot运行过程(1):u-boot第一阶段代码

简介:        本文主要介绍在u-boot-1.1.6中代码的运行过程,以此来了解在u-boot中如何实现引导并启动内核。这里我们先介绍u-boot的第一阶段代码:单板各个硬件的初始化,我们只有做好了硬件基础才能为下一阶段的引导和启动内核做准备。同时我们也会在第二部分介绍u-boot的一些强大功能。声明:        本文主要是看了韦东山老师的视频后所写,希望对你有所帮助。...

2018-08-06 20:38:51 664

原创 嵌入式Linux——写jz2440BootLoader的第二阶段代码

简介:        本文主要介绍为JZ2440写BootLoader来引导内核,启动Linux系统。本文为BootLoader的第二阶段,即介绍如何引导内核和启动内核。声明:        本文主要是看了韦东山老师的视频后,所写的课程总结。希望对你有所帮助。BootLoader第二阶段代码:       这里我们还要强调一下BootLoader的目的:系统初始化,加载并引导内...

2018-08-04 19:48:59 460

原创 嵌入式Linux——写jz2440BootLoader的第一阶段代码

简介:        本文主要介绍为JZ2440编写BootLoader来引导和启动Linux系统。本文为BootLoader的第一阶段,即对开发板硬件环境进行初始化来为第二阶段的引导内核和启动内核做准备。声明:        本文主要是看了韦东山老师的视频后,所写的课程总结。希望对你有所帮助。介绍内存分配:        我想很多人在看u-boot或者在了解BootLoade...

2018-08-04 19:21:11 681

ldd3详解驱动

本资源为ldd3详解,该书中详细介绍了ldd3的使用以及各种驱动的设置

2018-08-22

嵌入式完全开发手册

本资源为韦东山老师的嵌入式完全开发手册,希望可以帮到各位学习嵌入式的同学

2018-08-22

数据结构与算法分析 原书 第二版

本资源主要为数据结构与算法分析这本书,以及一些简单的习题和程序

2018-08-22

做自己的mymsg

我们讲解自己写的kmsg子目录,来实现当使用myprintk函数时将信息打印到我们指定的mylog_buf中

2018-06-05

韦东山老师第一期视频课后作业

本代码包含韦东山老师在第一期视频后所留的课后作业,其中包括对各个模块的整合

2018-05-28

2440SPI控制器控制OLED和FLASH

介绍使用S3C2440A的spi控制器控制OLED和flash来显示在flash中读取的内容

2018-05-18

2440裸板GPIO模拟SPI控制FLASH

在2440开发板上使用GPIO模拟SPI来控制FLASH芯片对其进行读写

2018-05-16

2440裸板spi操作OLED

在JZ2440开发板上用GPIO模拟spi,实现对OLED的控制,来显示我们想显示的字符串

2018-05-13

2440_RTC_翻译

翻译S3C2440A的第十七章RTC(实时时钟),希望对学习这方面同学有帮助

2018-04-15

用i2c总线驱动OLED程序

本包的程序主要讲解了如何通过i2c总线驱动以及字符设备驱动实现将用户所输字符显示到OLED上

2018-04-12

2440裸机驱动OLED

该代码介绍通过使用jz2440裸机的IIC来驱动OLED显示所需要显示的内容

2018-04-06

2440 IIC总线 翻译

2440芯片手册中第二十章 IIC总线 翻译文档,可以看此了解IIC总线

2018-04-02

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除