- 博客(1451)
- 资源 (155)
- 问答 (1)
- 收藏
- 关注
原创 Facebook Surround360 学习笔记--(4)色彩/视差不一致问题
surround360的开源资料地址: https://github.com/facebook/Surround360下载好代码和测试数据集,配置好环境,关于环境配置可以参考这篇博客,写的挺详细:http://blog.csdn.net/sunyolanda_cs/article/details/52448399运行代码的说明可以参考这篇博客: http:/
2017-07-06 17:25:44 434
原创 Facebook Surround360 学习笔记--(3)硬件设计要点
如果自己想模仿surround360设计一款3D360°的设备,硬件选择有什么要注意的吗?圆盘设计有要求吗? 回答:有要求,圆盘半径r,侧面相机数目n,侧面相机视场角之间要满足如下的约束关系才能产生较好的3D效果: i = r * sin(FOV/2 - 360/n) 其中: r近似为相机圆环中心到某个相机镜头的距离,单位是厘米。也就是配置文件里对应的camera_
2017-07-06 17:24:58 399
原创 Facebook Surround360 学习笔记--(2)算法原理
本篇从宏观上介绍surround360的算法流程和每个步骤的原理,主要参考surround360官方网页(见参考)上的介绍。Surround360开源项目包含了从相机阵列的硬件设计到图像拼接的软件算法,它在一个系统里实现了端到端的3D360°从视频拍摄到视频处理的过程。开源的目的就是为了促进3D360生态系统建设,不管是代码开发者还是内容制造者,所有人都可以自由地在开源系统的基础上进行改进
2017-07-06 17:24:10 776
原创 Facebook Surround360 学习笔记--(1)系统简介
Facebook Surround 360是Facebook2016年7月发布的开源360°三维全景视频拍摄系统,主要功能是为VR拍摄3D全景视频素材。它长这个样子:看起来酷炫的很,当然功能也很强大,后面会介绍。介绍surround360之前先看一下该领域中其他公司做的相关产品吧领域动态Google +GoProGoogle与运动相机制造商GoPro合作推出了O
2017-07-06 17:23:02 327
原创 PUTTY中永久更改字体大小
首先新建一个session session1Window -> Appearance -> Font settings -> Change勾选 Allow selection of variable-pitch fonts返回登陆主界面 Session , Save session1,也可以更改其他默认信息,例如: Host Na
2017-06-30 09:29:17 1753
原创 nginx反向代理TCP,取RTMP流
nginx反向代理TCP,取RTMP流一、说明 nginx默认只支持HTTP反向代理,如果需要支持TCP反向代理需添加tcp代理模块:nginx_tcp_proxy_module。二、原料 1.nginx_tcp_proxy_module 下载地址: wget https://github.com/yaoweibin/nginx_tcp_proxy_module/a
2017-06-29 16:28:39 8128 1
原创 通过diff工具生成补丁, patch工具打上补丁.
在使用diff之前, 你需要保留一份未修改过的源码, 然后在其它地方修改源码的一份拷贝. diff对比这两份源码生成patch. 修改过的源码必须保留原来的文件名, 例如, 如果你修改源码中的a.c文件, 那么, 修改后的文件还是名为a.c, 在修改之前你可以复制a.c为a.orig.c进行备份.1.为单个文件生成补丁1 $ diff -up linux-2.6.28.8/
2017-06-29 15:09:08 571
原创 内存泄漏的问题之av_bitstream_filter_filter
AVPacket new_pkt = pkt;int a = av_bitstream_filter_filter(m_bsfDecoderContext, out_stream->codec, NULL, &new_pkt.data, &new_pkt.size, pkt.data, pkt.size, pkt.flags & AV_PKT_FLAG_KEY
2017-06-29 11:00:10 3755
原创 Linux中使用sed命令替换字符串小结
最近写了几个小脚本用到了sed命令,学了一下,顺便记下sed替换的基本语法为:复制代码代码如下:sed 's/原字符串/替换字符串/'单引号里面,s表示替换,三根斜线中间是替换的样式,特殊字符需要使用反斜线”\”进行转义,但是单引号”‘”是没有办法用反斜线”\”转义的,这时候只要把命令中的单引号改为双引号就行了,例如:复制代码代码
2017-06-28 12:20:55 10532
原创 CMake使用教程
CMake是一个比make更高级的编译配置工具,它可以根据不同平台、不同的编译器,生成相应的Makefile或者vcproj项目。通过编写CMakeLists.txt,可以控制生成的Makefile,从而控制编译过程。CMake自动生成的Makefile不仅可以通过make命令构建项目生成目标文件,还支持安装(make install)、测试安装的程序是否能正确执行(make test,或者c
2017-06-20 21:25:17 371
转载 windows7 64位机上安装配置CUDA7.5(或8.0)+cudnn5.0操作步骤
按照官网文档 http://docs.nvidia.com/cuda/cuda-installation-guide-microsoft-windows/index.html#axzz4TpI4c8vf 进行安装:在windows7上安装cuda8.0/cuda7.5的系统需求:(1)、ACUDA-capable GPU(本机显卡为GeForce GT 640M);(2)、A suppor
2017-06-20 21:12:30 1140
原创 FFMPEG 日志 锁 内存技巧
1 在vc中使用ffmpeg静态库做二次开发的时候,如果不是控制台应用程序,又需要查看ffmpeg的日志信息,可使用[cpp] view plain copyav_log_set_callback 函数注册一个回调函数,如[cpp] view plain copyv
2017-06-20 15:44:55 382
原创 直播http-flv小调研
最近打算直播上http-flv,之前用的是rtmp和hls。为什么使用http-flv,它有什么优缺点?怎么让流媒体服务器支持flv直播?一、市场上哪家直播使用了http-flv:通过抓包分析: 优酷的pc网页直播使用了http-flv。 斗鱼、熊猫tv、虎牙pc网页上的也使用了http-flv。二、http-flv、rtmp和hls直播的优
2017-06-19 11:33:33 1925
原创 Darwin Stream server(DSS服务器)的Relay(中继/转发)设置
先说一下需求:有4台主机ABCD。A机上跑live555,将摄像头的实时视频编码为H264,用RTSP协议(URL:rtsp://IpAddr-B/CamLive.sdp)将视频流推送至DSS服务器B。B将收到的流转发给DSS服务器C。客户端D运行VLC,用地址rtsp://IpAddr-C/CamLive.sdp访问视频流。在上述直播转发的实验过程过程中,顺带实现点播转发。在DS
2017-06-19 10:42:06 1067
原创 在EasyDarwin进行实时视频转发的两种模式
一、首先引用Darwin开发文档里面的一段来介绍一下流转发的拉模式和推模式:Darwin支持两种自动播送的场景:先拉后推。为了发起自动播送,RTSP客户会发送标准的RTSP请求来向服务器请求一个流,然后服务器将该流中继到一个或者多个流媒体服务器。这种场景在"先拉后推"部分中加以描述。先侦听后推送。在这个场景中,自动播送在流媒体服务器接收到ANNOUNCE请求时被发起。这个场
2017-06-19 10:24:41 468
原创 linux ping IP地址与telnet 测试IP端口
ping命令是不能够测试端口的,ping只是测试网络联接状况以及信息包发送和接收状况。格式:ping IP地址或主机名 [-t] [-a] [-n count] [-l size]参数含义:-t不停地向目标主机发送数据;-a 以IP地址格式来显示目标主机的网络地址 ;-n count 指定要Ping多少次,具体次数由count来指定 ;-l size 指定发送到目标主机的数
2017-06-17 14:21:36 5912
原创 linux下的RPM文件
RPM是RedHat Package Manager(RedHat软件包管理工具)类似Windows里面的“添加/删除程序”rpm 执行安装包二进制包(Binary)以及源代码包(Source)两种。二进制包可以直接安装在计算机中,而源代码包将会由RPM自动编译、安装。源代码包经常以src.rpm作为后缀名。常用命令组合:-ivh:安装显示安装进度--install--verbos
2017-06-17 12:36:30 1684
原创 linux centos 命令行 安装 teamviewer 启动 停止
1.下载teamview centos版本,本人喜欢tar.gz版本,但是官网只有rpm版本,附件中即为官网下载的teamview11 官方下载地址: https://www.teamviewer.com/zhCN/download/linux/下载后,放到你的目录下,我的是在/mnt/software下2.安装说明:用rpm 命令安装可能会出现缺少依赖,而导致安装失败
2017-06-17 12:32:56 6824
原创 Nginx反向代理和负载均衡部署指南
1. 安装1) 从Nginx官网下载页面(http://nginx.org/en/download.html)下载Nginx最新版本(目前是1.5.13版本)安装包;2) 解压后复制到部署目录。 2. 启动和停止NginxNginx目前只支持命令行操作,操作前先进入Dos命令环境,并进入Nginx部
2017-06-16 18:25:32 230
原创 linux下编译live555
在live555的官网上已经有linux下编译的说明,如下:How to configure and build the code on Unix (including Linux, Mac OS X, QNX, and other Posix-compliant systems)The source code package can be found (as a ".tar.gz
2017-06-15 16:06:16 772
原创 ffmpeg 推送sdp到darwin
ffmpeg.exe -rtsp_transport tcp -i rtsp://10.0.190.201/stream1 -vcodec copy -acodec copy -f rtsp -rtsp_transport tcp rtsp://10.0.192.74/test.sdp
2017-06-15 09:26:24 1010
原创 H264 各种profile
提到High Profile H.264解码许多人并不了解,那么到底什么是High Profile H.264解码?其应用效果又是如何呢? 作为行业标准,H.264编码体系定义了4种不同的Profile(类):Baseline(基线类),Main(主要类), Extended(扩展类)和High Profile(高端类)(它们各自下分成许多个层): Baseline
2017-06-14 14:16:55 343
原创 音频AAC编码的RTMP直播
RTMP直播,音频编码采用AAC时,需要把帧头的数据去掉。第一个数据包,发送4个字节,前面两个是0xAF、0x00,我看有文章写的是这个0xAF的A代表的是AAC,说明如下:0 = Linear PCM, platform endian1 = ADPCM2 = MP33 = Linear PCM, little endian4 = Nellymoser 16 kHz
2017-06-14 10:46:26 827
原创 fastDFS介绍
FastDFS 介绍(参考:http://www.oschina.net/p/fastdfs) FastDFS 是一个开源的分布式文件系统,它对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。特别适合以文件为载体的在线服 务,如相册网站、视频网站等等。 FastDFS 服务端有两个角色:跟踪器(tracker)和存储节
2017-06-13 10:27:10 843 1
原创 nginx指令之——tcp_nodelay
指令tcp_nodelay作用于socket参数TCP_NODELAY。在这之前,我们先说说nagle缓存算法,有些应用程序在网络通讯的时候会发送很少的字节,比如说一个字节,那么再加TCP协议本身,实际上发的要41个字节,这样的效率是很低的。这时候nagle算法就应运而生了,它将要发送的数据存放在缓存里,当积累到一定量或一定时间,再将它们发送出去。这里TCP_NODELAY就是nagle启
2017-06-12 17:55:22 2303
原创 http的keep-alive和tcp的keepalive区别
1、HTTP Keep-Alive在http早期,每个http请求都要求打开一个tpc socket连接,并且使用一次之后就断开这个tcp连接。使用keep-alive可以改善这种状态,即在一次TCP连接中可以持续发送多份数据而不会断开连接。通过使用keep-alive机制,可以减少tcp连接建立次数,也意味着可以减少TIME_WAIT状态连接,以此提高性能和提高httpd服务器的吞吐率(
2017-06-12 17:35:17 365
原创 nginx问题定位之监控进程异常退出
ginx在运行过程中是否稳定,是否有异常退出过?这里总结几项平时会用到的小技巧。1. 在error.log中查看是否有signal项,如果有,看看signal是多少。比如,这是一个异常退出的情况:$grep signal error.log2012/12/24 16:39:56 [alert] 13661#0: worker process 13666 exited on
2017-06-12 11:10:35 2420
原创 nginx配置让任何文件在浏览器中显示文本text/plain
例如配置1.plist类型的文件,让他在浏览器中直接打开,而不是下载。方法一:修改mime.types,添加plist扩展名为text/plain类型,直接显示文本。在文件中添加如下内容text/plain plist;修改好mime.types类型后,直接重启nginx即可。这个方法修改后影响所有n
2017-06-12 09:45:36 15705
原创 使用GDB调试nginx
gdb是Linux上调试应用程序的首选。在进行nginx的调试过程中,首先需要修改Makefile文件。vi objs/Makefile#增加 -O0 和 -g 选项; -O0代表不进行优化,-g代表调试模式CFLAGS = -pipe -W -Wall -Wpointer-arith -Wno-unused-parameter -g -O0123
2017-06-11 16:08:25 535
原创 gdb调试coredump(使用篇)
什么是coredump Coredump叫做核心转储,它是进程运行时在突然崩溃的那一刻的一个内存快照。操作系统在程序发生异常而异常在进程内部又没有被捕获的情况下,会把进程此刻内存、寄存器状态、运行堆栈等信息转储保存在一个文件里。 该文件也是二进制文件,可以使用gdb、elfdump、objdump或者windows下的windebug、solaris下的mdb进行打开分析里面的具体内
2017-06-10 09:35:07 43851 1
原创 GDB 调试 C++ 程序 core dump
摘要gdb 的一些常用命令, 及在程序发生段错误后如何通过调试 core dump 迅速定位到出错位置.不罗列一大堆命令了, 只是把碰到的/用过的整理一下, 以后再使用到新的命令, 再补充. 有几篇总结的比较好的文章可以参考: 《LINUX C/C++ GDB调试(概述)上》、《LINUX C/C++ GDB调试(概述)下》、《手把手教你玩转GDB(二)——Breakpoint,
2017-06-10 09:17:00 501
原创 使用GDB生成coredump文件
如果在测试过程中遇到某个进程的CPU利用率过高或者卡死而需要去调试该进程时,可以利用gdb命令生成coredump文件,然后再去调试coredump文件来定位问题。那么如何使用gdb生成coredump文件呢?其实步骤很简单:1. 安装好gdb,然后使用命令 'gdb'。(假设需要调试的进程号为 21509)2. 使用 ‘attach 21590’命令将gdb附加到进程2150
2017-06-10 09:11:44 1722
原创 nginx模块_使用gdb调试nginx源码
工欲善其事必先利其器,如何使用调试工具gdb一步步调试nginx是了解nginx的重要手段。ps:本文的目标人群是像我这样初接触Unix编程的同学,如果有什么地方错误请指正。熟悉gdb的使用这里就不说了,谷歌一搜一堆,这里推荐一篇文章:GDB 命令详细解释请重点看一下step,run,break,list,info,continue命令下载nginx源码这里使用nginx-
2017-06-10 08:59:47 443
原创 如何获取域名(网址)对应的IP地址
域名(Domain Name),是由一串用点分隔的名字组成的Internet上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位。通俗点讲,域名就是我们平时进行网络浏览时所用到的网址(如:www.baidu.com)。域名只是为了方便阅读和记忆,计算机并不能直接处理,还需要通过域名服务器(DNS)把域名解析为对应的IP地址才能进行网络访问。因此直接在网络浏览器的地址栏中输入相应的I
2017-06-08 18:20:02 20107 1
原创 Nginx上的第一个HelloWorld
前言(废话):刚刚看完 深入理解nginx模块开发与架构解析的http处理模块,想想先写一个http处理模块的hellowrold,也算是入门了吧。安装完nginx就可以搞了,安装配置请参考Nginx安装部署。第一步:编写config文件在nginx源代码根目录下创建文件夹ngx_http_hello_world_module文件夹,进入该目录,创建文件配置文件config
2017-06-07 22:03:31 324
原创 FFMPEG之TimeBase成员理解
FFMPEG的很多结构中有AVRational time_base;这样的一个成员,它是AVRational结构的typedef struct AVRational{ int num; /// int den; ///} AVRational;AVRational这个结构标识一个分数,num为分数,den为分母。 实际上time_base的意
2017-06-07 10:56:25 191
原创 ffmpeg中的时间单位
AV_TIME_BASEffmpeg中的内部计时单位(时间基),ffmepg中的所有时间都是于它为一个单位,比如AVStream中的duration即以为着这个流的长度为duration个AV_TIME_BASE。AV_TIME_BASE定义为:#define AV_TIME_BASE 1000000 AV_TIME_BASE_Qffmpeg
2017-06-07 10:51:07 356
原创 tcpdump使用与Wireshark抓包分析
1 起因前段时间,一直在调线上的一个问题:线上应用接受POST请求,请求body中的参数获取不全,存在丢失的状况。这个问题是偶发性的,大概发生的几率为5%-10%左右,这个概率已经相当高了。在排查问题的过程中使用到了tcpdump和Wireshark进行抓包分析。感觉这两个工具搭配起来干活,非常完美。所有的网络传输在这两个工具搭配下,都无处遁形。为了更好、更顺手地能够用好这两个工具,特整理
2017-06-04 11:46:36 1531
原创 使用wireshark常用的过滤命令
我们使用wireshark抓包,却不知道如何分析这些包,也无法从海量的包中提取自己需要的数据,下面简单介绍下wireshark的过滤规则。工具/原料wireshark方法/步骤过滤源ip、目的ip。在wireshark的过滤规则框Filter中输入过滤条件。如查找目的地址为192.168.101.8的包,ip.
2017-06-04 10:18:34 989
原创 Linux下安装和运行Wireshark
一、安装 以root用户运行:yum install wireshark 二、运行 在终端中键入命令:#wireshark bash:wireshark:command not found #whereis wireshark wireshark: /usr/lib/wireshark /usr/share/wireshark #cd /usr
2017-06-04 10:00:59 23291 3
libuvc 相关代码 k230
2023-12-22
live555 vs2022
2023-11-22
多分辨率264,265文件多分辨率264,265文件多分辨率264,265文件多分辨率264,265文件多分辨率264,265
2023-07-05
macbook 2017 bootcamp win10 安装
2023-01-29
绘制流程图工具 绘制流程图工具
2022-11-06
音频文件数组转成c语言的数组
2022-09-08
数字音频接口(I2S,PCM,TDM,PDM)数字音频接口(I2S,PCM,TDM,PDM)数字音频接口(I2S,PCM,TDM
2022-06-24
音频测试文件,各种格式集合 wav pcm mp3
2022-04-28
cmake笔记 cmake 笔记 cmake笔记 cmake
2022-02-01
qt 多窗口yuv零拷贝渲染.rar
2021-11-26
drm-example.zip
2021-11-12
Jz2440_驱动二期笔记.zip
2021-11-02
u-boot-jz2440源码
2021-10-31
ffmpeg-windows4.3.1源码静动态库.zip
2021-01-05
cmake demo cmake demo cmake demo cmake demo cmake demo cmake demo cmake demo
2020-12-14
webrtc ulpfec无法全部还原丢失包问题
2020-09-04
TA创建的收藏夹 TA关注的收藏夹
TA关注的人