QMCY
文章平均质量分 67
QMCY_jason
这个作者很懒,什么都没留下…
展开
-
RTSP 协议中 RTP包的封装 以及如何避免封包的时候malloc申请新的内存
然后还有一点需要注意的是就是在需要分片的包进来的码流第一个字节表示Nalu类型 这里和FU的重复了 所以 需要分片的时候讲nalu type提取出来填充到FU 这里之后要跳过码流的这个字节。然后封包的时候一般填充标黄的字段即可 但是我在使用ffplay 或者vlc测试的时候发现 end_flag这个值 设不设置都没啥影响都能正常播放,按照RTP协议来表示的意思是。上面的方式中初始化的时候 需要给给rtppakcet申请一个很大的内存空间 如果视频帧超过这个空间还得重新申请更大的 如下图。原创 2023-02-04 14:50:47 · 1256 阅读 · 1 评论 -
RK1126平台项目总结
RK1126平台原创 2022-06-30 17:29:14 · 1182 阅读 · 3 评论 -
Ubuntu 下安装samba 这样windows下可以无缝访问
最近公司一台Ubuntu服务器 由于是服务器没有命令行界面需要在这个服务器上做开发,由于我习惯了source insight 来做开发而source insight 也不能直接访问ubuntu服务器,所以想到了用samba来在windows做一个网络文件夹的映射 这样就可以直接在windows下做开发了步骤如下:apt install sambavi /etc/samba/smb.conf 最后加上如下[work] comment = samba home directory原创 2022-03-11 10:37:00 · 1573 阅读 · 0 评论 -
ubuntu下编译 带libx264的 ffmpeg版本 以及 运行找不到lixx264的问题
之前编译的ffmpeg都是不带libx264版本的现在要加上这个 支持ffmpeg 软编码h264在编译ffmpeg之前首先要编译libx264下载x264 解压缩新建一个build.sh 配置如下默认需要至少nasm 2.13版本 ubunt直接apt-get install 的nasm版本不够所以先关闭这个asm的选项 后期再自己 重新编译nasm./build.sh make make install之后 就生成了对应的库和头文件然后去ffmpeg目录下原创 2022-02-18 13:00:01 · 2755 阅读 · 0 评论 -
FFMPEG 编码解码独立功能 替代硬件板卡模块记录
之前公司用的编解码用的是硬件模块 有寒武纪 海康 还有华为的等等,程序调用的是统一的接口 ,因为不用的硬件厂商的API不一样,所以需要做一层抽象封装,这样程序调用的时候可以不用关注到底是哪个硬件。然后有一个需求 不用硬件板卡 直接用FFMPEG 借助CPU来进行编解码。差不多一周时间实现了记录下 支持WINDOWS 也支持 LINUX:哦对了 其实是有两个模块 ,一个是FFMPEG 拉RTSP的流另一个是FFMPEG 编解码 两个独立 可以单独调用 也可以两个一起用。先看下文件结构.原创 2022-02-15 11:58:52 · 751 阅读 · 0 评论 -
winodws gstreamer 入门 环境搭建 helloworld
目前公司的视频转码项目都是基于ffmpeg拉去rtsp流在做的。最近 发现BOSS上的不少公司 要求了解使用gstreamer 之前也不是很知道,知道最近在看寒武纪的CNStream项目,然后发现里面使用了所谓的pipeline流水线模式,其实看名字大概就能知道 应该是仿照Navidia公司的DeepStream来的,DeepStream我没看过也不了解,不过我猜应该也是采用了这种pipeline流水线模式,将不同的element组装起来 搭建成一个项目。我猜 这两个都应该来自于gstream吧正好春节原创 2022-02-13 16:12:46 · 915 阅读 · 0 评论 -
海思3531平台 NVR 的项目总结 视频拉流 转码 推流....
从8月份开始到现在 ,从0开始写这个项目 早就准备写个项目总结,无奈,一直拖拖拉拉的 ,知道最近 正好 最后二期需求 也完成的差不多了 ,抽空记录下来 。首先介绍些硬件平台,海思HI3531DV200 硬件功能还是比较强悍的 据芯片手册上可以支持到8路4K的视频解码编码(记不太清楚了可能有误...不重要 )。我们需求4路就可以 所以绰绰有余。前期项目的需求是4路RTSP输入,每路送入VDEC之后通过VPSS VENC 可以编码成4路不同的分辨率(只能比原视频小 不支持放大输出)所以最大一共可以...原创 2021-12-24 16:23:38 · 2759 阅读 · 8 评论 -
RTMP 推送H265的实现(推流端、服务器、播放端)ffmpeg 播放H265
众所周知的原因原生的RTMP只支持H264 并不支持H265的传输,之前的项目基于海思3531DV200平台的多路输入 多路输出 基于FFMpeg 拉RTSP的流 然后通过海思硬件解码然后在编码成较小的分辨率 通过RTMP推流到服务器端 项目已经基本结束。 然后领导 要求要实现RTMP H265的实现。从上周五2021.12.03 接到这个任务,到今天12.10正好一星期 已经基本上实现。中间穿插了一些其他的杂事。下面来说说这个过程吧 。之前测试的都是3531拉流推流 到Nginx ...原创 2021-12-10 12:00:25 · 12095 阅读 · 9 评论 -
rtmp推流超时时间不起作用 linux srs_librtmp srs_rtmp_set_timeout setsockopt 设置超时时间 失败 返回error 2
最近在调试rtmp推流 用的是srs_librtmp.cpp这个开源库调试过程中发现 如果正常推流过程中,突然rtmp服务器ping不通的话 会导致 程序卡死在srs_h264_write_raw_frames 这个函数中 ,跟踪到最后发现是 在这个函数 srs_hijack_io_writev中卡死在::writev这个函数里面了 一直不返回但是这个过程中如果rtmp服务器恢复的话,这个函数又可以正常返回了,后来发现 rmtp库 提供了一个srs_rtmp_set_timeo...原创 2021-11-04 16:32:37 · 912 阅读 · 0 评论