自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(47)
  • 资源 (10)
  • 收藏
  • 关注

原创 ffmpeg推流技术汇总

本文记录整理使用ffmpeg搭建推流环境1,ffmpeg命令实际上也可以在推流时显示视频画面,对比接收端的视频画面,可以直观的得出延迟:fmpeg -re -i /opt/testMediaFiles/1280_720_5000k.264 -pix_fmt yuv420p -f sdl xxx.yuv2,ffmpeg推送裸流到rtmp服务器:ffmpeg -re -i /opt/testMediaFiles/1280_720_5000k.264 -r...

2020-09-13 13:07:05 610

原创 IJK源码分析-android篇

总结对ijk播放器的理解

2023-09-14 23:58:11 489

原创 记录一次maven依赖的

简单的来说,我的一个库需要依赖某个版本的jar,结果因为复杂的依赖关系给到我的是另一个版本的jar,解决问题的关键是:1,不要想着Intelli idea多么牛逼,老想着图形化显示出一个漂亮的依赖树出来,那么多层的折叠树,仅仅是展开就很费工夫,更别提查找,最简单的还是mvn dependency:tree,查找不需要版本的依赖关系,这样就知道你不想要的那个版本的jar包是怎么依赖进来的,才能后续对症下药:2,用mvn的exclusions列表列出排除项目:<depe...

2021-09-02 20:14:39 190

原创 IOS端突然断开连接原因调查

10:01:33 DEBUG CustomVideoDecoder::Decode[116] id:15 width:1280 height:720 fps:3 bitrate:64kbps10:01:34 DEBUG CustomVideoDecoder::Decode[116] id:15 width:1280 height:720 fps:3 bitrate:70kbps10:01:37 DEBUG AudioReceiver::OnData[35] uid:9173 audio, bits:1.

2021-09-02 20:06:39 457

原创 webrtc码率问题实际测试研究

ios端连接webrtc服务端,走webrtc pc连接,实际测试的码率数值与设定值有一定差距,总结测试经验,发现有两个原因:1,实际网络带宽限制2,编码方式,对于264,容易达到设定的码率值,但是对于265,往往只能达到设定值得一半左右,本文引导研究解决这个问题。...

2021-09-02 20:06:27 381

原创 webrtc支持H264编码和解码

相关代码:/root/Projects/webrtc-checkout/src/pc/media_session.cc/root/Projects/webrtc-checkout/src/media/engine/internal_encoder_factory.cc/root/Projects/webrtc-checkout/src/pc/sdp_offer_answer.cc

2021-09-02 20:06:16 4723

原创 webrtc支持265软解码

进入目录:$(webrtc-checkout)/src/third_party/ffmpeg/chromium/scripts,修改build_ffmpeg.py:configure_flags['Common'].extend([添加选项到后面:'--enable-decoder=h264,hevc', '--enable-protocol=file', '--enable-demuxer=mov', '--enable-bsf=h264_mp4.

2021-09-02 20:05:59 901

原创 go语言带位置描述的字符串格式化

项目中执行很复杂的sql语句,底层封装的太死,不确定到底最终执行的sql语句字符串长啥样,虽然手工替换也能够得到,但毕竟效率太低,特别是当参数很多的时候,几乎是bu'ken

2021-09-02 20:05:20 225

原创 EVP_DecryptFinal_ex:bad decrypt

启动wss服务,发现报错:_tls_common.js:156 c.context.setKey(key, passphrase); ^Error: error:06065064:digital envelope routines:EVP_DecryptFinal_ex:bad decrypt经过研究

2021-06-07 17:34:34 7042

原创 编译webrtc android端的ffmpeg问题

进入third_party/ffmpeg/chromium/scripts目录,执行:./build_ffmpeg.py android arm64编译报错,检查config.log,具体报错内容如下:clang --sysroot=/root/Projects/webrtc-checkout/src/third_party/android_ndk/platforms/android-21/arch-arm64 -I/root/Projects/webrtc-checkout/src/thi

2021-04-06 00:45:01 1322

原创 ssh错误:sign_and_send_pubkey: signing failed for RSA “/root/.ssh/id_rsa“ from agent: agent refused ope

今天,同步代码,出现如下错误:root@rtc$git pullsign_and_send_pubkey: signing failed for RSA "/root/.ssh/id_rsa" from agent: agent refused operationgit@192.168.60.168's password: 对比windows环境下的git pull正常执行,想到可能是ssh文件的问题,二进制对比发现两者完全一致,显然不是这个问题。分析,应该是ssh环境变动...

2020-10-14 11:41:55 4553 1

原创 owt-server 数据流程

1,/root/Projects/owt-server/dist/management_api/rpc/rpc.js//Create the queue for send messages clientQueue = connection.queue('', function (q) { log.info('ClientQueue ' + q.name + ' is open'+',clientQueue.name:'+cli...

2020-10-13 10:31:01 991 1

原创 OWT-Server 编译运行

1,编译源码,发现v8::Handle未声明的错误,经过多方调查,发现是node的版本的问题,可以用node 10.16.0,这个坑里面爬了一整天,也考虑过直接复制 ~/.cache/node-gyp/下面的正确版本号目录里面的内容,不料安装好指定版本的node之后,自动创建了这个目录,真是神奇。 2,usrsctp编译遇到错误,经过检查,是编译选项太拉风的原因,修改/root/Projects/owt-server/build/libdeps/usrsctp/configure 1214...

2020-10-12 12:07:59 678

原创 postgresql 之row_to_json

PostgreSQL 9.2新增加了一个新的特性--JSON支持,具体包含一个JSON数据类型和两个json函数,这些techniques可以从数据库直接获取json格式的数据How Tovkott_livecde=# select * from live_area_info ; area_id | area_name | description ---------+------------+----------------------...

2020-10-07 22:09:30 4761 1

原创 整理高能linux shell命令

1,在当前目录下排除node_modules在非目录项中查找join字符串:find . -path ./node_modules -prune -o -not -type d -print | xargs grep --color=auto -wFRn "join"

2020-07-09 11:24:44 139

原创 WebRTC编译(VS2017)

写一篇文章记录一下WebRTC的VS2017编译,这里记录的是网上没有搜索到的信息,作为对实践编译过程的补充修改vs的并行编译工作数量为1因为webrtc多达900多个项目,彼此之间存在复杂的依赖关系,并行编译会破坏这种依赖关系,可能是ninja构建系统的依赖关系设计并不完全兼容VS2017的工作方式吧选择工具>选项打开选项页,再选择环境>项目和解决方案->生成并运行,设...

2020-03-31 07:55:13 939 1

原创 扩展Vmware的虚拟Linux系统磁盘

虚拟机Vmware装上一个Linux系统之后,刚开始比较吝啬,分配的磁盘空间太小,没过多久磁盘空间告急,这时怎么解决磁盘空间不足的问题?最简单的做法是重新安装一个虚拟机系统,可问题是重新配置好至自己习惯的状态,要安装接近无数的软件,不是不可能,太繁琐,最可行的做法是手工动态扩展磁盘分区。           首先要做的事情是在虚拟机关机的状态下,先设定好扩展后的总的文件大小:       

2016-05-28 20:32:03 494 1

原创 Linux下进程信息的深入分析

这里我们主要介绍进程的状态,进程的状态可以通过/proc/PID/status来查看,也可以通过/proc/PID/stat来查看。如果说到工具大家用的最多的ps也可以看到进程的信息。这里我们通过/proc/PID/status来分析进程的信息。在2.6.18之后的内核,多了capibilty/cpusets等信息. 查看进程状态信息如下:more stat

2016-05-14 01:54:17 1287

转载 借助backtrace和demangle实现异常类Exception

C++的异常类是没有栈痕迹的,如果需要获取栈痕迹,需要使用以下函数:#include int backtrace(void **buffer, int size);char **backtrace_symbols(void *const *buffer, int size);void backtrace_symbols_fd(void *const *buffer, int s

2016-05-05 11:43:08 416

转载 linux 查看进程占用内存

1.toptop -b -n 1 |awk '{print "cpu:"$9"%","mem:"$10"%"}'cpu:average:% mem:0.06,%cpu:stopped,% mem:0%cpu:id,% mem:5.1%cpu:38984% mem:buffers%cpu:592484% mem:cached%cpu:% mem:%cpu:%CPU%

2016-05-05 11:35:42 455

原创 深入探讨:unix多进程编程之wait()与waitpid()函数

本篇文章是对unix多进程编程中的wait函数与waitpid函数的使用进行了详细的分析介绍,需要的朋友参考下!Wait函数和waipid函数当一个进程正常或异常终止的时候,内核就像其父进程发送SIGCHLD信号,因为子进程是个异步事件,所以这种信号也是内核系那个父进程发的异步通知。父进程可以选择忽略该信号,或者提供一个该信号发生时即被调用执行的函数。对于这种信号的系统默认动作是忽略它。

2016-04-06 01:58:51 507

转载 recv send 阻塞和非阻塞

int send( SOCKET s, const char FAR *buf, int len, int flags );不论是客户还是服务器应用程序都用send函数来向TCP连接的另一端发送数据。客户程序一般用send函数向服务器发送请求,而服务器则通常用send函数来向客户程序发送应答。 该函数的第一个参数指定发送端套接字描述符; 第二个参数指明一个存放应用程序要发送数据

2016-03-28 19:19:08 375

转载 非阻塞connect的实现

步骤1: 设置非阻塞,启动连接实现非阻塞 connect ,首先把 sockfd 设置成非阻塞的。这样调用connect 可以立刻返回,根据返回值和 errno 处理三种情况:(1) 如果返回 0,表示 connect 成功,返回成功。(2) 如果返回值小于 0, 并且errno 为 EINPROGRESS,  表示连接      建立已经启动但是尚未完成。这是期望的结果,

2016-03-28 19:13:27 558

原创 shell脚本中echo显示内容带颜色

shell脚本中echo显示内容带颜色显示,echo显示带颜色,需要使用参数-e 格式如下: echo -e "\033[字背景颜色;文字颜色m字符串\033[0m" 例如: echo -e "\033[41;36m something here \033[0m" 其中41的位置代表底色, 36的位置是代表字的颜色 注:   1、字背景颜色和文字

2016-03-06 02:53:46 365

原创 Darwin Streaming Server 6.0.3 之一 : 编译安装

一,关于 Darwin Streaming Server    Darwin Streaming Server简称DSS。DSS是Apple公司提供的开源实时流媒体播放服务器程序。整个程序使用C++编写,在设计上遵循高性能,简单,模块化等程序设计原则,务求做到程序高效,可扩充性好。并且DSS是一个开放源代码的,基于标准的流媒体服务器,可以运行在Windows NT和Windows 20

2016-03-05 01:09:50 1154

转载 Linux 系统性能监控命令详解

Linux 系统性能监控命令详解CPUMEMORYIONETWORKLINUX进程内存占用查看方法系统负载过重时往往会引起其它子系统的问题,比如:->大量的读入内存的IO请求(page-in IO)会用完内存队列;->大量的网络流量会造成CPU的过载;->CPU的高使用率可能正在处理空闲内存队列;->大量的磁盘读写会消耗CPU和IO资源。

2016-02-29 20:15:18 473

转载 VLC源码分析总结

1. 概述VLC属于Video LAN开源项目组织中的一款全开源的流媒体服务器和多媒体播放器。作为流媒体服务器,VLC跨平台,支持多操作系统和计算机体系结构;作为多媒体播放器,VLC可以播放多种格式的媒体文件。主要包括有:WMV、ASF、MPG、MP、AVI、H.264等多种常见媒体格式。VLC采用全模块化结构,在系统内部,通过动态的载入所需的模块,放入一个module_bank的结构体中

2016-02-23 16:25:44 481

原创 Fedora 23 KDE定制版安装后需要做的几件事情

个人工作这么多年,用了那么多版本的linux,还是Fedora KDE定制版用的最顺手,可能是因为KDE桌面环境与windows比较相似吧,但刚刚安装完成的Fedora KDE定制版还是要做一些工作方便个人使用:                    1,右键菜单里添加终端打开命令:yum install nautilus-open-terminal

2016-02-20 21:17:07 1845

原创 工作中用到的FFmpeg命令

-f dshow -r 25 -s 1280*720 -i video="SA7160 PCI, Analog 01 Capture" -f dshow -ar 48000 -i audio="SA7160 PCI, Analog 01 WaveIn" -pix_fmt yuv420p -subq 4 -s 960*544 -profile:v high -x264opts bitrate=150

2016-02-17 20:54:18 1043

原创 JNIEnv和Dalvik的JavaVM的关系

(1)JNIEnv*内部包含一个Pointer,Pointer指向Dalvik的Java VM对象的Function Table,JNIEnv*关于程序执行环境的众多函数正是来源于Dalvik虚拟机;(2)Android中每当一个Java线程第一次要调用本地C/C++代码时,Dalvik虚拟机实例会为该Java线程产生一个JNIEnv*指针;(3)Java每条线程在和C/C++相互调用时,

2016-02-17 20:51:53 1242

原创 Android编译系统

一、Android编译步骤:二、初始化编译环境--source build/envsetup.sh在build/envsetup.sh中主要完成了三件事。添加编译目标的代码如下:for f in `/bin/ls vendor/*/vendorsetup.sh vendor/*/*/vendorsetup.sh device/*/*/vendorsetup.sh 2

2016-02-17 20:51:10 358

原创 Android Binder机制

7.3.1.1,binder通信概述    binder通信是一种client-server的通信结构,    1.从表面上来看,是client通过获得一个server的代理接口,对server进行直接调用;    2.实际上,代理接口中定义的方法与server中定义的方法是一一对应的;    3.client调用某个代理接口中的方法时,代理接口的方法会将client传递的参数打包

2016-02-17 20:40:23 372

原创 最全的Android源码目录结构详解

Android 2.1|-- Makefile|-- bionic                        (bionic C库)|-- bootable                (启动引导相关代码)|-- build                        (存放系统编译规则及generic等基础开发包配置)|-- cts

2016-02-17 20:38:21 337

原创 单线程模型中Message、Handler、Message Queue、Looper之间的关系

单线程模型中Message、Handler、Message Queue、Looper之间的关系简单的说,Handler获取当前线程中的looper对象,looper用来从存放Message的MessageQueue中取出Message,再用Handler进行Message的分发和处理.Message Queue(消息队列):用来存放通过Handler发布的消息,通常附属于某一个创建它的线程

2016-02-17 20:37:35 588

原创 android的m、mm、mmm编译命令的使用

android源码目录下的build/envsetup.sh文件,描述编译的命令- m:       Makes from the top of the tree. - mm:      Builds all of the modules in the current directory. - mmm:     Builds all of the modules in the supp

2016-02-17 20:36:45 667

原创 adb操作命令详解及大全

adb是什么?:adb的全称为Android Debug Bridge,就是起到调试桥的作用。通过adb我们可以在Eclipse中方面通过DDMS来调试Android程序,说白了就是debug工具。adb的工作方式比较特殊,采用监听Socket TCP 5554等端口的方式让IDE和Qemu通讯,默认情况下adb会daemon相关的网络端口,所以当我们运行Eclipse时adb进程就会自动运行。

2016-02-17 20:35:56 442

原创 ffmpeg(最新版2.8.5 )在Fedora下使用NDK编译——并在android工程下测试使用

环境准备:Ubuntu12.04 TLSandroid-ndk-r9d-linux-x86_64.tar.bz2ffmpeg2.2---------------------------------------------------------第一步:下载1.配置ubuntu12.04 TLS 系统环境。2.下载ndk版本为 r9d。

2016-02-17 20:33:30 473

原创 VLC-Android编译与运行

文章开头,不得不膜拜一下老外们的奉献分享精神!开发移动平台播放器,VLC-android是一个非常值得参考的开源项目,该文记录下实际的VLC-Android的编译运行过程! 该项目的下载网址是:http://mirrors.ustc.edu.cn/videolan-ftp/vlc-android/1.7.5/VLC-Android-1.7.5.tar.gz, 以下的过程记录基于在

2016-02-17 17:35:48 8002

原创 有用的shell命令集锦

1,grep -o '^r[0-9]*.*' $ANDROID_NDK/RELEASE.TXT用于在指定的文件$ANDROID_NDK/RELEASE.TXT下查找正则表达式'^r[0-9]*.*' 匹配内容,实际上是提取ndk的版本号,$ANDROID_NDK/RELEASE.TXT内容如下:r10b则提取的内容就是r10b。

2016-02-17 16:22:05 354

原创 ffplay两年后重新阅读

ffplay控制音视频同步的宏定义:/* no AV sync correction is done if below the minimum AV sync threshold */#define AV_SYNC_THRESHOLD_MIN 0.04/* AV sync correction is done if above the maximum AV sync thres

2015-03-04 20:23:38 1789

我的数字电视阅读笔记

数字电视是在三网融合的大环境下诞生的一门有广阔商用前景的技术

2011-06-25

Mysql连接和数据库操作.ppt

介绍Mysql连接和数据库操作,ODBC,JDBC,C-API

2010-11-12

SS7号信令应用指南

SS7信令的详细介绍,图文并茂,是进行电信项目开发的必备资料

2011-02-09

数字电视机顶盒原理和设计

同洲电子内部资料,描述了数字电视机顶盒的原理和设计要点

2011-06-24

关于面向对象UML建模技术学习ppt

课件制作很精美,适合初学者了解UML面向对象建模技术

2011-08-28

QtWebkit研究

本文档总结了QtWebkit开发技术的方方面面

2013-03-26

SMPP移动短信协议V5.0

是SMPP协议的最新版本,相比较前一个版本,增加了网络阻塞控制,广播等功能

2011-02-09

MPlayer的windows平台编译与phonon mplayer后端配置.doc

MPlayer的windows平台编译与phonon mplayer后端配置,目前绝大多数这方面资源都是针对Linux平台的,我把我在windows(包括win xp 32bit和win 7 64 bit)成功配置mplayer的过程记录下来,希望对你有帮助!

2013-03-11

Network Programming with Perl 源代码

这是Network Programming with Perl一书的源代码,perl以简单易学著称,在服务器开发中可以用来开发测试脚本

2011-09-15

空空如也

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

TA关注的人

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