随笔分类 -  技术类

上一页 1 ··· 28 29 30 31 32 33 34 35 36 ··· 53 下一页
摘要:Adobe公司太坑人了,官方文档公布的信息根本就不全,如果只按照他上面的写的话,是没法用的。按照文档上面的流程,server和client连接之后首先要进行握手,握手成功之后进行一些交互,其实就是交互一些信息以确认大家都是用的同一个协议,交互成功之后就开始传数据了。首先说下rtmp协议包的格式。握手之后,rtmp传输一个数据默认的长度是128bytes,这128bytes不包括包头的长度,只是数据的长度,文档上面没有说明,很憋了我一段时间,数据超过这个长度之后就要分块,超过128bytes的数据放到下一个块中,以此类推。块大小是可配置的,最大块是65535字节,最小块是128字节。块越大CPU 阅读全文
posted @ 2013-08-28 00:20 遥望星空 阅读(7292) 评论(0) 推荐(0)
摘要:计算 AVCDecoderConfigurationRecord得到 CodecPrivateData 数据(只有第一帧需要);计算 NALUs 得到帧数据。计算 AVCDecoderConfigurationRecord得到 CodecPrivateData 数据H.264 视频流的 CodecPrivateData 实际上就是 AVCDecoderConfigurationRecord 中 SequenceParameterSets(SPS)和 PictureParameterSets(PPS)使用 byte[] {00, 00, 01} 连接的字节数组。注意!FLV 文件中第一个 VID 阅读全文
posted @ 2013-08-28 00:18 遥望星空 阅读(1017) 评论(0) 推荐(0)
摘要:这段时间,工作上的需要,在RTMP上做了flv流到标准h264、AAC的转换,服务器是开源项目CRTMPSERVER,客户端flex编写,视频编码h264,音频编码AAC,现将一些协议相关的东西记录如下。一、分析FLV数据我们先拿一个flv文件来简单分析一下flv数据的格式flv标准文档下载地址http://www.cnblogs.com/chef/archive/2012/07/18/2597003.htmlflv文件分析器flvprase下载地址http://www.cnblogs.com/chef/archive/2012/07/18/2596930.html本文重点不在于此,这块就跳过 阅读全文
posted @ 2013-08-28 00:17 遥望星空 阅读(956) 评论(0) 推荐(0)
摘要:一个完整的多媒体文件是由音频和视频2部分组成的。H264、Xvid等就是视频编码格式,MP3、AAC等就是音频编码格式。字幕文件只是其中附带部分。把视频编码和音频编码打包成一个完整的多媒体文件,可以有不同的方式,这种方式便是所谓的封装方式, 不同的封装方式有不同的后缀。由于有些封装方式具有很强的灵活性,它可以把各种不同的音视频文件打包成一个文件,因此会出现这么一种情况,虽然文件的后缀 是相同的,但有些可以正常播放,而有些不能播放,毕竟任何一种播放软件都不是万能的。部分先进的封装方式还可以同时封装多个音频编码文件,甚至同时封装进 字幕文件,如MKV封装方式。MKV文件可以做到一个文件包括多种语种 阅读全文
posted @ 2013-08-28 00:16 遥望星空 阅读(4789) 评论(1) 推荐(1)
摘要:ffmpeg 可以通过IO操作将数据读取和存储在文件或网络中 作为数据的读取和写入地址,数据被存放在file,http,ffmpeg 不仅可以编解常用的音视频格式,还可以将数据导入/导出到各种媒介中。 当进行数据压缩时,流媒体数据可以从文件中获取,也可以借助各种专用网络协议从网络中获取。 当进行数据解压时,数据可以存放在文件中,也可以通过网路协议发送到远端。在ffmpeg中针对不同媒介的数据操作方法被抽象为url_xxx,并记录在结构体 URLProtocol 中。 以文件操作为例:/libavformat/file.c URLProtocol ff_file_protocol = { .n. 阅读全文
posted @ 2013-08-27 20:21 遥望星空 阅读(2206) 评论(0) 推荐(0)
摘要:RTMP(Real Time Messaging Protocol)是专门用来传输音视频数据的流媒体协议,最初由Macromedia 公司创建,后来归Adobe公司所有,是一种私有协议,主要用来联系Flash Player和RtmpServer,如FMS, Red5, crtmpserver等。RTMP协议可用于实现直播、点播应用,通过FMLE(Flash Media Live Encoder)推送音视频数据至RtmpServer,可实现摄像头实时直播。不过,毕竟FMLE应用范围有限,想要把它嵌入到自己的程序中,还是要自己来实现RTMP协议的推送。本人实现了一个RTMPLiveEncoder, 阅读全文
posted @ 2013-08-27 17:52 遥望星空 阅读(1174) 评论(0) 推荐(0)
摘要:0. 前言 我在前两篇文章中写了DirectShow捕获音视频然后生成avi,再进行264编码的方法。那种方法有一些局限性,不适合实时性质的应用,如:视频会议、视频聊天、视频监控等。本文所使用的技术,适用于这种实时性的应用,通过处理采集出来的音视频的每一帧,实现实时编码,实时输出。这是我做直播系列应用的一部分,目前的情况是输入端采用DirectShow技术捕获音视频,然后对视频进行h.264编码,对音频进行aac编码,输出端则是生成文件,接下来还要进一步扩展输入端和输出端,以支持文件、桌面输入,RTSP、RTMP、HTTP等流式协议输出。1. 简单介绍 首先是捕获,这里采用了DirectS.. 阅读全文
posted @ 2013-08-27 17:48 遥望星空 阅读(941) 评论(0) 推荐(0)
摘要:ffmpeg.exe -i F:\闪客之家\闪客之歌.mp3 -ab 56 -ar 22050 -b 500 -r 15 -s 320x240 f:\11.flvffmpeg -i F:\01.wmv -ab 56 -ar 22050 -b 500 -r 15 -s 320x240 f:\test.flv使用-ss参数 作用(time_off set the start time offset),可以从指定时间点开始转换任务。如:转换文件格式的同时抓缩微图:ffmpeg -i "test.avi" -y -f image2 -ss 8 -t 0.001 -s 350x240 阅读全文
posted @ 2013-08-23 13:10 遥望星空 阅读(666) 评论(0) 推荐(0)
摘要:Configuration file配置文件The configuration file is actually a lua script which must contain an object calledconfiguration.This will be read by the server and used to fully configure the server. Besides this object calledconfigurationyou can have functions, include other lua libraries, etc. In the end, 阅读全文
posted @ 2013-08-23 11:44 遥望星空 阅读(3908) 评论(0) 推荐(0)
摘要:ffmpeg的调用命令如下:ffmpeg -re -i xxx.mp4 -vcodec copy -acodec copy -f rtsp rtsp://127.0.0.1/live/mystream用ffmpeg做输入测试ffmpeg -re -i "E:\片源\复仇者联盟720p.mov" -vcodec copy -acodec copy -f flv rtmp://192.168.11.75/live/test1ffmpeg -re -i "E:\片源\复仇者联盟720p.mov" -vcodec copy -acodec copy -f flv 阅读全文
posted @ 2013-08-23 10:53 遥望星空 阅读(7240) 评论(0) 推荐(1)
摘要:Make sure that you have administrative privileges before doing the following steps.​1. 下载并安装(Microsoft Visual C++ 2008 Redistributable Package)链接:http://www.microsoft.com/en-us/download/details.aspx?id=29下载并安装Download and install “Visual C++ 2008 Redistributables”2. 下载并安装OpenSSL链接:http://slproweb.co 阅读全文
posted @ 2013-08-23 09:41 遥望星空 阅读(3205) 评论(0) 推荐(0)
摘要:今天mysql突然出现以下错误:mysql> select * from test;ERROR 1034 (HY000): Incorrect key file for table ‘test’; try to repair it首先通过repair table修复:mysql> repair table test;+—————+——–+———-+———————————————————+| Table | Op | Msg_type | Msg_text |+—————+——–+———-+———————————————————+| test.test | repair | Erro 阅读全文
posted @ 2013-08-19 08:56 遥望星空 阅读(34406) 评论(0) 推荐(1)
摘要:废话不多说,首先查看下一个简单的sln文件结构MicrosoftVisualStudioSolutionFile,FormatVersion11.00#VisualStudio2010Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}")="ConsoleApplication1","ConsoleApplication1\ConsoleApplication1.csproj","{CD680A35-B1DB-4A3D-9073-2A604600D396}"EndProj 阅读全文
posted @ 2013-08-15 10:31 遥望星空 阅读(2664) 评论(0) 推荐(0)
摘要:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;using System.Net;using System.Diagnostics;namespace WindowsApplication1{ public partial class Form1 : Form { public Form1() ... 阅读全文
posted @ 2013-08-13 10:33 遥望星空 阅读(3917) 评论(0) 推荐(0)
摘要:首先查找到占用80端口的进程号PID是多少 CMD>netstat -ano | findstr 80 这个命令输出的最后一列表示占用80端口的进程号,假设为1,kill掉这个进程 CMD>taskkill /F /PID 1 这样80端口就是释放了。 阅读全文
posted @ 2013-08-12 09:26 遥望星空 阅读(547) 评论(0) 推荐(0)
摘要:[WTL] 窗体Style的含义比较有用的设置:(1)WS_POPUP:弹出式窗体,没有标题栏!WS_BORDER:细的黑边框WS_OVERLAPPED:一般的有标题栏的窗体,见多了。WS_CHILD:子窗体,一般用于Frame里面的窗体(2)WS_CAPTION:标题栏WS_SYSMENU:系统菜单(只有设置后才有最小化、最大化、关闭)WS_MINIMIZEBOX :最小化按钮WS_MAXIMIZEBOX:最大化按钮WS_MINIMIZE:启动时最小化WS_MAXIMIZE:启动时最大化(3)WS_EX_TOOLWINDOW:不在任务栏里显示条目WS_EX_WINDOWEDGE:WS_EX_ 阅读全文
posted @ 2013-07-26 17:42 遥望星空 阅读(890) 评论(0) 推荐(0)
摘要:反编译后的工程文件用VS2010打开后,在打开窗体时会出现一系列错误提示:第一种情况:“设计器无法处理第 152 行的代码: base.AutoScaleMode = AutoScaleMode.Font; 方法“InitializeComponent”内的代码由设计器生成,不应手动修改。请移除任何更改,然后尝试重新打开设计器”。解决方法就是:对所有System.Windows.Forms.命名空间里面的控件需要全命名空间的声明,例如里面上图的base.AutoScaleMode = AutoScaleMode.Font;就要改成base.AutoScaleMode = System.Wind 阅读全文
posted @ 2013-07-20 12:22 遥望星空 阅读(386) 评论(0) 推荐(0)
摘要:using System;using System.IO;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms; namespace BaiDuMap{ public partial class Form1 : Form { public Form1() { InitializeComponent()... 阅读全文
posted @ 2013-07-19 21:33 遥望星空 阅读(6100) 评论(0) 推荐(1)
摘要:来,让我们从旧金山出发,沿着西海岸徒步旅行,到洛杉矶的纽波特沙滩面基吧!<( ̄︶ ̄)/看看地图,然后计划一下路线!路线全图嗯嗯,这趟红色之旅长约400英里(643.7公里);汉子们一天睡8小时,吃2小时,逗猫2小时,还能能走个10小时,这样每天走40英里(64.3公里)妥妥的吧!所以,10天后的晚上六点,我们就能威武滚到洛杉矶,和好基友饭醉啦!♂( ̄▽ ̄)/赶紧让洛杉基友订好这周末的饭局,想想都胸奋不已啊!(っ`▽`)っ第二天,大家一早集合,背好行囊、摊开地图,规划第一天的路程……嗯?=_="第一天大图看上去前方道路多曲折啊。走40英里路只能到「月亮湾」的一半。这么一看,整趟路途不是 阅读全文
posted @ 2013-07-18 02:24 遥望星空 阅读(577) 评论(0) 推荐(0)
摘要:看了《凶器是手机还是充电器?》,以及各种清华大学教授的评论,才知道直到今天,大家对电源适配器的认识依然停留在上世纪古老的“线性电源”。更加诡异的是,我们国家这么多学习电源技术的学生和工作人员居然没有一个人站出来说说一个“现代的”开关电源的工作原理。我只是个普通的数码爱好者,不是电源专业的大学生或者教授,但开关电源还是知道那么一点点。而开关电源的工作原理或许跟这次电死人的事件有关。“开关电源”并不是带开关按钮的电源,而是一种电压转换技术。这种电源技术通过实践证明安全性非常高。这种技术充斥在我们日常生活中每一个角落。手机、PSP、电脑、平板电视、日光灯、移动电源、各种车载电器……基本上只要带电的, 阅读全文
posted @ 2013-07-18 02:16 遥望星空 阅读(1231) 评论(0) 推荐(0)

上一页 1 ··· 28 29 30 31 32 33 34 35 36 ··· 53 下一页