Jacob_job
码龄8年
求更新 关注
提问 私信
  • 博客:310,132
    310,132
    总访问量
  • 47
    原创
  • 143
    粉丝
  • 1
    关注
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:广东省
加入CSDN时间: 2017-09-27

个人简介:音视频软件开发

博客简介:

Jacob_job的博客

博客描述:
音视频软件开发
查看详细资料
个人成就
  • 获得71次点赞
  • 内容获得68次评论
  • 获得284次收藏
  • 代码片获得321次分享
  • 博客总排名477,624名
创作历程
  • 42篇
    2018年
  • 6篇
    2017年
成就勋章
TA的专栏
  • 音视频
    22篇
  • rtsp/rtp/rtcp
    3篇
  • rtmp
    13篇
  • hls
  • 网络通信协议
    9篇
  • linux
    10篇
  • C/C++
    1篇
  • node.js
    5篇
  • mongodb
    2篇
  • web前端
    5篇
  • WebAssembly
    5篇

TA关注的专栏 0

TA关注的收藏夹 0

TA关注的社区 0

TA参与的活动 0

创作活动更多

AI 镜像开发实战征文活动

随着人工智能技术的飞速发展,AI 镜像开发逐渐成为技术领域的热点之一。Stable Diffusion 3.5 FP8 作为强大的文生图模型,为开发者提供了更高效的图像生成解决方案。为了推动 AI 镜像开发技术的交流与创新,我们特此发起本次征文活动,诚邀广大开发者分享在 Stable Diffusion 3.5 FP8 文生图方向的实战经验和创新应用 本次征文活动鼓励开发者围绕 Stable Diffusion 3.5 FP8 文生图方向,分享以下方面的内容: 1. 技术实践与优化 - Stable Diffusion 3.5 FP8 模型架构解析与优化技巧 - 文生图生成效果的提升方法与技巧 - 模型部署与加速策略,例如使用 Hugging Face、Diffusers 等工具 - 针对特定场景(例如二次元、写实风)的模型微调与定制化开发 2. 应用场景探索 - Stable Diffusion 3.5 FP8 在不同领域的应用案例分享,例如游戏设计、广告创意、艺术创作等 - 利用 Stable Diffusion 3.5 FP8 实现图像编辑、图像修复、图像增强等功能的探索 - 结合其他 AI 技术(例如 NLP、语音识别)构建更强大的应用 3. 创新应用与思考 - 基于 Stable Diffusion 3.5 FP8 的创新应用场景设计 - AI 镜像开发的未来发展方向的思考与展望 - 对 AI 镜像开发伦理、安全等问题的探讨

39人参与 去参加
  • 最近
  • 文章
  • 专栏
  • 代码仓
  • 资源
  • 收藏
  • 关注/订阅/互动
更多
  • 最近

  • 文章

  • 专栏

  • 代码仓

  • 资源

  • 收藏

  • 关注/订阅/互动

  • 社区

  • 帖子

  • 问答

  • 课程

  • 视频

搜索 取消

rtmp数据封装二-AMF

简介rtmp协议在传输script数据onMetaData时使用AMF(Action Message Format)格式封装。AMF_TYPE对应的编号:0 : AMF_NUMBER1 : AMF_BOOLEAN,2 : AMF_STRING,3 : AMF_OBJECT,4 : AMF_MOVIECLIP,5 : AMF_NULL,6 : AMF_UNDEFINED,...
原创
博文更新于 2018.08.20 ·
1344 阅读 ·
2 点赞 ·
0 评论 ·
4 收藏

ubuntu server安装vmware-tools

ubuntu server服务器版和ubuntu desktop 桌面版安装vmware-tools最大的区别就是没有图形界面,需要通过命令行挂载才能找到vmware-tools的安装包。1、挂载拷贝安装包mkdir /mnt/vmtoolsmount -t iso9660 /dev/cdrom /mnt/vmtoolscp /mnt/vmtools/VMwareTools-10.1...
原创
博文更新于 2018.05.19 ·
4927 阅读 ·
2 点赞 ·
1 评论 ·
7 收藏

onvif profiles概述

Profile S应用于网络视频系统,Profile G应用于边缘存储与检索,Profile C应用于网络电子门禁系统,Profile Q应用于快速安装,Profile A应用于更广泛的访问控制配置。
翻译
博文更新于 2017.09.27 ·
7383 阅读 ·
1 点赞 ·
0 评论 ·
5 收藏

使用gsoap编译生成onvif源码C/C++文件

1、gsoap工具编译与安装需要先安装opensslsudo apt-get install openssl sudo apt-get install libssl-dev自行下载gsoap源码并解压,进入gsoap源码下./configmakesudo make install 安装成功后可以使用wsdl2h 和soapcpp2命令 wsdl2h 命令用于生成头文...
原创
博文更新于 2018.03.05 ·
1413 阅读 ·
1 点赞 ·
0 评论 ·
2 收藏

rtmp数据封装四-音频(AAC&G711)

前面文章《rtmp数据封装一-块(chunk)》中讲到rtmp传输媒体数据时是把一整帧数据拆分成chunk的形式发送的。其实一帧媒体数据在拆分成chunk之前还需要进行必要的头部信息封装,本文介绍rtmp协议中AAC/G.711音频数据的头部信息封装。第一个byte包含音频的编码参数:1-4bit: audioCodeId5-6bit: 采样率 00 5.5KHZ, 01 11...
原创
博文更新于 2018.08.21 ·
4843 阅读 ·
2 点赞 ·
5 评论 ·
19 收藏

rtmp数据封装三-视频(H264&H265)

前面文章《rtmp数据封装一-块(chunk)》中讲到rtmp传输媒体数据时是把一整帧数据拆分成chunk的形式发送的。其实一帧媒体数据在拆分成chunk之前还需要进行必要的头部信息封装,本文介绍rtmp协议中H.264/H.265视频数据的头部信息封装。H.264 rtmp头部信息封装SPS PPSAVCDecoderConfigurationRecordframe t...
原创
博文更新于 2018.08.21 ·
3793 阅读 ·
4 点赞 ·
2 评论 ·
13 收藏

rtmp数据封装一-块(chunk)

简介由于一帧音视频数据有时候会很大,比如几十M甚至更大。但是为了方便在网络上传输,需要把数据拆分成一个个较小的块,这里称之为消息块(Chunk)。常见的是每块大小为4000 byte左右。Chunk的结构如下:[Chunk Basic Header][Chunk Message Header][Extended TimeStamp][Chunk Data][Chunk B...
原创
博文更新于 2018.08.21 ·
2217 阅读 ·
3 点赞 ·
0 评论 ·
6 收藏

简易的个人博客网站-Hexo安装、部署到github和coding

以前我都是把技术博客发布在CSDN,后来突然有个想法就是自己买个域名并搭建个人博客网站。可以搭在自己的云服务器上,或者可以直接在github或者coding创建项目,把代码部署上去一样可以在上面搭建网站。我的个人博客网站是用hexo生成的,hexo用于搭建个人博客网站很方便,下面简单介绍一下方法。这里随便推广一下我的个人博客网站,可以看看效果 灵动的指针hexo安装apt-get in...
原创
博文更新于 2018.08.21 ·
638 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

IPC onvif全网通的实现原理

 一、理解onvif全网通之前需要先理解一个概念,那就“IP网段”。先看看百度百科对IP网段的解释:(以下是百度百科的解释) 网段(network segment)一般指一个计算机网络中使用同一物理层设备(传输介质,中继器,集线器等)能够直接通讯的那一部分。例如,从192.168.0.1到192.168.255.255这之间就是一个网段。 在中文的网络知识入门中,这个词...
原创
博文更新于 2018.08.20 ·
6045 阅读 ·
4 点赞 ·
0 评论 ·
8 收藏

rtmp信令交互过程分析七-音视频数据(video audio data)

概述在传输完元数据onMetaData之后就开始传输音视频数据了,如视频是H.264编码,第一帧视频帧需要是SPS和PPS,后面才是I帧和P帧。如果是发布端向服务器推流,方向是C->S,如果是播放器向服务器拉流,方向是S->C。音视频数据包的封装后面的文章在详谈,这里只是讲信令交互。举例发布端向服务器推流 C->SVideo DataRTMP ...
原创
博文更新于 2018.08.20 ·
1620 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

rtmp信令交互过程分析六-元数据(onMetaData)

概述在publish或者play之后就是开始传输媒体数据了,媒体数据分为3种,script脚本数据、video视频数据、audio音频数据。首先需要传输的是脚本数据onMetaData,也称为元数据。onMetaData主要描述音视频的编码格式的相关参数。如果是发布端向服务器推流,则onMetaData的方向是C->S,如果是播放器向服务器拉流,则onMetaData的方向是S-&g...
原创
博文更新于 2018.08.20 ·
2928 阅读 ·
0 点赞 ·
1 评论 ·
5 收藏

rtmp信令交互过程分析五-播放(play)

概述连接成功之后由客户端选择publish还是play,这里讲的是play。1、C->S : createStream2、S->C : _result服务端对客户端createStream请求的反馈3、C->S : getStreamLength、play、Set Buffer LengthgetStreamLength:获取stream的时间长度pl...
原创
博文更新于 2018.08.20 ·
1902 阅读 ·
1 点赞 ·
0 评论 ·
2 收藏

rtmp信令交互过程分析四-发布(publish)

概述连接成功之后由客户端选择publish还是play,这里讲的是publish。1、C->S : releaseStream、FCPublish、createStreamreleaseStream:释放stream,这一步的作用是通知服务端释放对应的stream,以便接下来重新创建stream。FCPublishcreateStream2、S->C : _re...
原创
博文更新于 2018.08.20 ·
2886 阅读 ·
1 点赞 ·
0 评论 ·
5 收藏

rtmp信令交互过程分析三-连接(connect)

概述握手之后就是连接(connect),由客户端发起,服务端响应,connect指定的app。1、C->S : connectapp:需要connect的app名称flashVertcUrlfpadcapabilitiesaudioCodecsvideoCodecsvideoFunction2、S->C : Window Acknowledgement...
原创
博文更新于 2018.08.20 ·
1991 阅读 ·
1 点赞 ·
0 评论 ·
2 收藏

rtmp信令交互过程分析二-握手(Handshake)

rtmp信令第一步是握手(Handshake),握手有Simple Handshake和Complex Handshake,Simple Handshake为简单握手,不需要使用加密算法校验,Complex Handshake为复杂握手,需要使用openssl的算法校验。一、Simple Handshake概述1) C0 1 byte,表示客户端RTMP的版本号。2) C1...
原创
博文更新于 2018.08.20 ·
1379 阅读 ·
1 点赞 ·
0 评论 ·
3 收藏

rtmp信令交互过程分析一-概述

后续会写一系列关于rtmp的文章,这是第一篇信令交互的概述。使用wireshark抓包分析rtmp推流和拉流过程的信令,大致如下:通用部分箭头>>>表示C->S,箭头<<<表示S->C>>> Handshake C0+C1<&a
原创
博文更新于 2018.08.20 ·
1291 阅读 ·
1 点赞 ·
0 评论 ·
3 收藏

JS如何调用WebAssembly的api

这里以我之前做的一个项目为例。项目是把ffmpeg编译成WebAssembly文件,然后在js中调用,实现纯前端代码软解码音视频数据。在linux下编译的一、编译ffmpeg生成静态库build_decoder.shecho "Beginning Build:"rm -r distmkdir -p distcd ffmpeg-3.3.3make cleanemconf...
原创
博文更新于 2018.05.20 ·
37598 阅读 ·
12 点赞 ·
13 评论 ·
36 收藏

使用emscripten编译WebAssembly

需要编译的c语言demo程序add.c#include <stdio.h>int add(int a,int b){ return a+b;}int main(void){ printf("%d
",add(1,2));}1、可以编译成带有html输出文件,可以直接打开html文件查看效果emcc add.c -s WASM=1 -o add...
原创
博文更新于 2018.05.20 ·
3944 阅读 ·
0 点赞 ·
0 评论 ·
3 收藏

WebAssembly wabt工具安装和使用

emscripten编译生成的WebAssembly文件是*.wasm的二进制文件,不方便阅读。使用wabt工具,可以实现wasm与wast的互转,有助于理解wasm内部接口。wasm是二进制文件,可读性很差。wast是文本文件,可以看到wasm的内部接口。下载https://github.com/WebAssembly/wabt安装略。根据readme安装。...
原创
博文更新于 2018.05.20 ·
7166 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

WebAssembly emscripten工具链的搭建

emscripten有多个版本,这里安装的是WebAssembly需要的版本。需要提前安装gcc、cmake、Python、node.js等,这些请自行安装。开始安装emscripten:1、下载wget https://s3.amazonaws.com/mozilla-games/emscripten/releases/emsdk-portable.tar.gztar xv...
原创
博文更新于 2018.05.20 ·
3092 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏
加载更多