<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[静祥阁]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/W1107101310</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; W1107101310]]></copyright><item><title><![CDATA[了解m4s格式]]></title><link>https://blog.youkuaiyun.com/W1107101310/article/details/139359904</link><guid>https://blog.youkuaiyun.com/W1107101310/article/details/139359904</guid><author>W1107101310</author><pubDate>Fri, 31 May 2024 19:13:49 +0800</pubDate><description><![CDATA[1. 包含的文件：2. prog_index.m3u8中 指明了 init.mp4与 上面各个.m4s文件的关系，具体内容为：其中init.mp4中存放moov相关信息，而下面各个.m4s中存放moof+ mdat信息1. 包含的文件：2. sin.mpd 中 指明了 init-stream*.m4s与 上面各个.m4s文件的关系，具体内容为：其中 init-stream*.m4s中存放moov相关信息，而下面各个.m4s中存放moof+ mdat信息。]]></description><category></category></item><item><title><![CDATA[解析流中 apts 与 vpts的分布]]></title><link>https://blog.youkuaiyun.com/W1107101310/article/details/138844605</link><guid>https://blog.youkuaiyun.com/W1107101310/article/details/138844605</guid><author>W1107101310</author><pubDate>Tue, 14 May 2024 10:42:59 +0800</pubDate><description><![CDATA[流中 apts 与 vpts的分布情况，同时使用图显示出来。]]></description><category></category></item><item><title><![CDATA[2020总结]]></title><link>https://blog.youkuaiyun.com/W1107101310/article/details/112132309</link><guid>https://blog.youkuaiyun.com/W1107101310/article/details/112132309</guid><author>W1107101310</author><pubDate>Sun, 03 Jan 2021 20:17:08 +0800</pubDate><description><![CDATA[2020年可以说是我开始工作的第二年了。在第一年中我可以说了解了工作和组里的基本情况，而这第二年就开始真正的加深学习了。还是以时间线一点点的慢慢讲吧。

春节前我们一边工作一边准备年会。我们公司有个惯例那就是让每年最新入职的员工来主持年会，所以我那个时候很荣幸的被选中作为了年会的男主持，从元旦到年会的一段时间我基本就是在白天上班解bug，学习音视频的知识。而到晚上六点参加我们组里小品节目的排练，之后与我们的女同事准备主持的事。而晚上回家的路上要背主持稿。因为之前没有做过主持的经历，所以对待这次的主持任务很是]]></description><category></category></item><item><title><![CDATA[使用VLC 在PC端搭建RTSP环境]]></title><link>https://blog.youkuaiyun.com/W1107101310/article/details/109963922</link><guid>https://blog.youkuaiyun.com/W1107101310/article/details/109963922</guid><author>W1107101310</author><pubDate>Sun, 22 Nov 2020 21:10:32 +0800</pubDate><description><![CDATA[声明：

  本文是我在工作中遇到的关于环境搭建问题后的一些总结，希望可以对你有所帮助。

介绍：

搭建方法：

1） 搭建 VLC 软件，点击媒体菜单，选择“流”选项，如下图：







2）点击添加选择需要加载的测试流文件：



3）选择“串流”



4）点击下一步：



5）选择在本地播放，之后选择选择 RTP /MPEG Transport Stream,然后添加，如下图：



6）rtsp的端口为8554，同时需要设置路径，这里设置为“/1”(这个数据可以随便写，但是一定要写...]]></description><category></category></item><item><title><![CDATA[使用VLC 在PC端搭建RTP环境]]></title><link>https://blog.youkuaiyun.com/W1107101310/article/details/109929686</link><guid>https://blog.youkuaiyun.com/W1107101310/article/details/109929686</guid><author>W1107101310</author><pubDate>Sun, 22 Nov 2020 12:29:56 +0800</pubDate><description><![CDATA[声明：

  本文是我在工作中遇到的关于环境搭建问题后的一些总结，希望可以对你有所帮助。

介绍：

搭建方法：

1） 搭建 VLC 软件，点击媒体菜单，选择“流”选项，如下图：







2）点击添加选择需要加载的测试流文件：



3）选择“串流”





4）点击下一步：



5）选择在本地播放，之后选择选择 RTP /MPEG Transport Stream,然后添加，如下图：





6）目标设置页面填入地址，如 239.1.1.1，端口设置 5004





7）下图中取消激..]]></description><category></category></item><item><title><![CDATA[手机投屏方式]]></title><link>https://blog.youkuaiyun.com/W1107101310/article/details/109923195</link><guid>https://blog.youkuaiyun.com/W1107101310/article/details/109923195</guid><author>W1107101310</author><pubDate>Sun, 22 Nov 2020 11:19:48 +0800</pubDate><description><![CDATA[声明：

  本文是我在工作中遇到的关于投屏问题后的一些总结，希望可以对你有所帮助。

介绍：

  现在我们办公或者家里通常会用到投影仪，而在这里简单为大家介绍两个常用到的投影方式：

  第一种是直接将手机播放影片的URL传递到投影仪APP中，投影仪使用这个URL来获得影视内容。这个时候需要手机与投影仪在同一网段下或者在同一个无线路由中，通过这种方式手机的APP会与投影仪上的APP在同一网段下，这样就可以实现APP间信息的传递。而这种方式通常需要投影仪上预先安装对应的APP，例如奇异果，乐播...]]></description><category></category></item><item><title><![CDATA[获取本地ipv4和ipv6信息]]></title><link>https://blog.youkuaiyun.com/W1107101310/article/details/109708783</link><guid>https://blog.youkuaiyun.com/W1107101310/article/details/109708783</guid><author>W1107101310</author><pubDate>Sun, 15 Nov 2020 20:41:26 +0800</pubDate><description><![CDATA[声明：

  本文是我在工作中遇到的网络相关的问题，以及自己的一些总结，希望可以对你有所帮助。

介绍：

  获得本地ipv4和ipv6的方式有两种，一种是通过调用getifaddrs函数而另一种是通过socket的ioctl获得ipv4，而通过/proc/net/if_inet6节点来获得ipv6。他们的具体实现方式为：

通过调用getifaddrs函数来获得本地ipv4和ipv6：

具体参考：https://man7.org/linux/man-pages/man3/getifaddrs....]]></description><category></category></item><item><title><![CDATA[C语言结构体赋值]]></title><link>https://blog.youkuaiyun.com/W1107101310/article/details/108691338</link><guid>https://blog.youkuaiyun.com/W1107101310/article/details/108691338</guid><author>W1107101310</author><pubDate>Sun, 20 Sep 2020 11:54:21 +0800</pubDate><description><![CDATA[声明：

  本文是我在工作中遇到的C语言结构体赋值以及C语言指针问题后的一些总结，希望可以对你有所帮助。

介绍：



先不做讲解，看看下面的代码，大家猜一下打印的值，看大家对C语言结构体赋值和结构体指针是不是了解：


#include &lt;stdio.h&gt;
int main () 
{
	typedef struct test {
		int a;
		int b;
		char c[20];
	}TEST;

	TEST a1 = {1,2,"xiang"};
	TEST b1 =...]]></description><category></category></item><item><title><![CDATA[apk使用本地代理接收媒体流]]></title><link>https://blog.youkuaiyun.com/W1107101310/article/details/106891218</link><guid>https://blog.youkuaiyun.com/W1107101310/article/details/106891218</guid><author>W1107101310</author><pubDate>Sun, 21 Jun 2020 21:30:24 +0800</pubDate><description><![CDATA[声明：

  本文是我在工作中遇到的一种apk使用本地代理接收媒体流的方式，这种方式可以更加的安全。这里与大家分享，希望可以对你有所帮助。

介绍：

1.某apk获得数据和向player发送数据的方式：



a. 使用本地代理的方式访问服务器，而本地代理就是使用 127.0.0.1 的网址。某apk首先会通过本地代理向服务器发送对应视频的请求，只不过这里发送请求的URL中加入了Accept-Encoding：gzip\r\n 关键字，这个关键字就是向服务器申明自己是可以接收加密数据的。而如果服务器...]]></description><category></category></item><item><title><![CDATA[MP4简介]]></title><link>https://blog.youkuaiyun.com/W1107101310/article/details/106877092</link><guid>https://blog.youkuaiyun.com/W1107101310/article/details/106877092</guid><author>W1107101310</author><pubDate>Sat, 20 Jun 2020 21:12:16 +0800</pubDate><description><![CDATA[声明：

  在我的工作中需要查看一些关于MP4格式的问题，所以对MP4进行了简单的了解，这里对这部分知识做个简单的总结，但是文中主要是参考mp4文件格式解析，这里进行说明，同时我也使用了一些自己工作中的例子作讲解，希望可以对你有所帮助。



参考文章：

FFmpeg中mp4的demuxer(mov.c)代码阅读 ： https://www.jianshu.com/p/f78defe0e485

介绍MP4格式的文章：

mp4文件格式解析 ： https://www.jianshu.com/p/...]]></description><category></category></item><item><title><![CDATA[Wireshark -IO图表获得各个信息的对比]]></title><link>https://blog.youkuaiyun.com/W1107101310/article/details/106752049</link><guid>https://blog.youkuaiyun.com/W1107101310/article/details/106752049</guid><author>W1107101310</author><pubDate>Sun, 14 Jun 2020 22:27:35 +0800</pubDate><description><![CDATA[声明：
这里主要是自己在工作中用到的一种方法，主要用在数据的对比或者形象化显示，希望对您有用

介绍：
前段时间由于工作的需求，我们需要对比我们不同产品之间获取数据的对比，这个时候可以使用Wireshark 中的IO图表进行形象的对比。

下面我们先展示一下对比的效果：

从上图中我们可以很好的展现出我们不同产品之间获取网络数据的对比，其中黑线是产品1获取的网络包，而蓝线为产品2获得的网络包，而通过上图的对比我们可以清晰的发现产品1获得的网络包要比2获得的多很多。所以获得网络数据这方面通过上...]]></description><category></category></item><item><title><![CDATA[mpegts介绍]]></title><link>https://blog.youkuaiyun.com/W1107101310/article/details/106462508</link><guid>https://blog.youkuaiyun.com/W1107101310/article/details/106462508</guid><author>W1107101310</author><pubDate>Sun, 31 May 2020 22:23:43 +0800</pubDate><description><![CDATA[声明：
这里主要介绍FFmpeg 中mpegts这个封装格式，希望可以对大家有所帮助。

介绍：

mpegts : 对应的是封装层代码，在解码过程中对应的是下面的解封装。经过解封装之后，获得音视频对应的es数据。







我们看电视的时候之所以可以每次切台都可以接着看，而DVD换碟片就要重头开始看，这是因为电视在切台后会发送PAT和PMT。通过PAT我们可以确定PMT的pid，同时接收有与之pid匹配的PMT，而通过PMT我们可以知道将要获得的音视频的pid。之后我们接收与...]]></description><category></category></item><item><title><![CDATA[用Excel分析音视频同步]]></title><link>https://blog.youkuaiyun.com/W1107101310/article/details/105930215</link><guid>https://blog.youkuaiyun.com/W1107101310/article/details/105930215</guid><author>W1107101310</author><pubDate>Tue, 05 May 2020 13:11:46 +0800</pubDate><description><![CDATA[声明：
这里主要介绍如何运用Excel来分析音视频是否同步，希望可以对大家有所帮助。

介绍：
  学习音视频就一定要知道做音视频同步，而现在我们来分析音视频同步的工具也是有的，比如easyICE等，但是针对音视频同步这样的问题，我们该如何只通过音视频的pts log打印来判断是不是音视频同步有问题那？由于很多时候音视频的pts很多，我们很难一个个的分析来获得对这个问题整体的了解，这个...]]></description><category></category></item><item><title><![CDATA[入职大半年 -- 工作分享]]></title><link>https://blog.youkuaiyun.com/W1107101310/article/details/104605381</link><guid>https://blog.youkuaiyun.com/W1107101310/article/details/104605381</guid><author>W1107101310</author><pubDate>Mon, 06 Apr 2020 21:42:45 +0800</pubDate><description><![CDATA[简介：

  再有一个月，我就入职一年了。在这里想要分享一下自己在这一年中做经历以及所学习的，希望可以对大家有所帮忙。



一， 我进入一个完全陌生的行业：

刚拿到offer的我并不知道自己要去工作的组具体是做什么的。而是带着老子有工作的思想在学校用那最后的学生时光来享受自由的美好。而当我真正要来公司的时候，我才自己进入了一个什么样的组，但是在这个时候自己还是不太明白自己将来具体是要做什...]]></description><category></category></item><item><title><![CDATA[第一次使用Java编程——feature总结]]></title><link>https://blog.youkuaiyun.com/W1107101310/article/details/103442747</link><guid>https://blog.youkuaiyun.com/W1107101310/article/details/103442747</guid><author>W1107101310</author><pubDate>Sun, 08 Dec 2019 16:10:23 +0800</pubDate><description><![CDATA[声明：

  这里主要是自己在Java编程中碰到的一些问题，以及一些工作的经验，希望可以对大家有所帮助。

介绍：

  前段时间由于工作的需求，我们需要使用Java开发一个小的功能，而具体实现的功能就是将从底层获得的特殊信息上报到apk。而关于feature的细节这里就不细说了。我想总结的是以后在拿到一个feature的时候我们应该如何去更好的完成。

1. 目标需要明确：

  在...]]></description><category></category></item><item><title><![CDATA[Android中 handler , looper 以及 message 的关系]]></title><link>https://blog.youkuaiyun.com/W1107101310/article/details/103096771</link><guid>https://blog.youkuaiyun.com/W1107101310/article/details/103096771</guid><author>W1107101310</author><pubDate>Sun, 17 Nov 2019 11:37:41 +0800</pubDate><description><![CDATA[声明：


  在我的工作中用到了handler，looper 以及 message的关系，所以我在这里总结一下自己对他们关系的了解，同时也会在后面介绍如何使用他们来完成自己的任务。同时还是强调，这是我自己的一些工作总结，可能有不完善的地方， 请大家指正，希望对你有所帮忙。同时这里面有很多的looper，handler，以及message等，其实他们的首字母是大写的，只是我这里为了方便就使用小...]]></description><category></category></item><item><title><![CDATA[MD5的函数实现 —— 判断是否为相同的文件]]></title><link>https://blog.youkuaiyun.com/W1107101310/article/details/102874372</link><guid>https://blog.youkuaiyun.com/W1107101310/article/details/102874372</guid><author>W1107101310</author><pubDate>Sat, 02 Nov 2019 18:16:10 +0800</pubDate><description><![CDATA[声明：

  在我们平时工作中经常会使用MD5来判断两个文件是否为同一个文件，而判断的方法就是使用md5sum命令加文件名来看两个文件的MD5值是否相同，而当我们在程序中需要比较两个文件或者两个字符串是否相同的时候就要用到MD5 的函数了，下面就是我自己学习时的总结，希望可以对您有所帮助。

介绍：

一. MD5的头文件(而具体头文件和源文件在结尾附件中)：

#include "md5....]]></description><category></category></item><item><title><![CDATA[Git 学习 —— 错误分析与解决]]></title><link>https://blog.youkuaiyun.com/W1107101310/article/details/102651586</link><guid>https://blog.youkuaiyun.com/W1107101310/article/details/102651586</guid><author>W1107101310</author><pubDate>Sun, 20 Oct 2019 18:04:50 +0800</pubDate><description><![CDATA[声明：

  本文是以我自己学习Git的资料作为总结，希望可以对您有所帮助。下面介绍一些在工作用使用git遇到的问题，希望可以对遇到同样问题的你有帮助。

下面介绍几种出现的问题：

1. push的代码依靠之前的本地提交：

现象与原因：多次git commit 但是只Git push最后一次的git commit。

 git commit 1git commit 2git...]]></description><category></category></item><item><title><![CDATA[Git 学习 —— 代码提交]]></title><link>https://blog.youkuaiyun.com/W1107101310/article/details/102650970</link><guid>https://blog.youkuaiyun.com/W1107101310/article/details/102650970</guid><author>W1107101310</author><pubDate>Sun, 20 Oct 2019 17:57:12 +0800</pubDate><description><![CDATA[声明：

  本文是以我自己学习Git的资料作为总结，希望可以对您有所帮助。

  前面简单的介绍了git：Git 学习 —— 简单介绍。接下来我主要介绍我们最常用的git的功能——代码提交。代码提交就是将我们修改了的代码提交到服务器的过程。

提交代码的步骤：

0. 在上传数据前要确保自己目录下的文件为最新的，所以通常我们都要使用git pull将当前目录下的文件拉倒最新的。

1....]]></description><category></category></item><item><title><![CDATA[Git 学习 —— 简单介绍]]></title><link>https://blog.youkuaiyun.com/W1107101310/article/details/93392952</link><guid>https://blog.youkuaiyun.com/W1107101310/article/details/93392952</guid><author>W1107101310</author><pubDate>Sun, 20 Oct 2019 17:11:16 +0800</pubDate><description><![CDATA[声明：

  本文是以我自己学习Git的资料作为总结，希望可以对您有所帮助。

  对于Git的学习，我们一定要分清楚几个概念，或者说几个分区：工作目录，暂存区，本地仓库以及远程仓。而学习和很多好的理解这里个概念对我们下面的讲解很重要，因为我们主要就是在这里个地方进行工作的，而我们的代码同样就是在这几个地方来回进行切换的。下面我们来讲解





  上面就是这几个分区的关系，不过我...]]></description><category></category></item></channel></rss>