send/receive h264/aac file/data by rtp/rtsp over udp/tcp
一、安装一些必要的调试工具
1、vlc安装
sudo apt-get install vlc
sudo apt-get install vlc-nox
2、ffmpeg安装,带ffplay,ffplay依赖sdl库
源码都是三步安装./configure && make && sudo make install
以下安装顺序不能乱
yasm 1.2.0.tar.gz
sudo apt-get install libx11-dev
sudo apt-get install xorg-dev
SDL2-2.0.8.tar.gz
ffmpeg-4.1.tar.bz2
3、ffplay编译起来真麻烦,还不如用mplayer和vlc
sudo apt-get install mplayer
二、h264/aac数据的rtp/rtsp收发
早年用live555来开发摄像机,虽然已经有了较完善的解析,封装等功能模块,但是live555代码嵌套太深,看起来费劲。
网上搜了一下,有很多的数据处理的小demo,都列举到此吧,大多数我都跑通了。
1、Send H264 file by RTP over UDP
https://github.com/hmgle/h264_to_rtp
https://github.com/tinydigger/RTPH264Streaming
2、Here is a simply using of rtp/rtsp protocol pushing .h264 object to a VLC client (single video)
https://github.com/GitDolhpin/simple_rtsp
3、Push the h.264 data through the rtp protocol, It can be played in the VLC player/Mplayer
https://github.com/licaibiao/rtp_push_h264
4、Encode h264 data to RTP package and Streaming through network
Use gstreamer as receiver,Run 'rtpencoder test.264 127.0.0.1 5004' as sender
https://github.com/tinydigger/RTPH264Streaming
5、use python to unpacketize rtp h264 packet
python rtph264.py This file can simply dump the rtp h264 packet to file from gstreamer
https://github.com/iantuan/rtp_h264
6、convert a binary h264 rtp packet file to h264 file
https://github.com/bill-hu/rtp2h264
7、RTP抓包文件导出H.264 Payload的Wireshark插件,感谢这位同学做了这么方便的工具
https://blog.csdn.net/jasonhwang/article/details/7359095#
8、H264 RTP打包发送和接收解包
H264 RTP打包发送
https://blog.csdn.net/anobodykey/article/details/7872027
H264 RTP解包
https://blog.csdn.net/anobodykey/article/details/7876047
9、rtp封包/分析/发送
(转)VLC播放RTP打包发送的.264文件
https://www.cnblogs.com/tangxiacun/p/4446009.html
(转)RTP-H264封包分析
https://www.cnblogs.com/tangxiacun/p/4493431.html
10、rtsp over udp
https://www.cnblogs.com/tangxiacun/p/4497786.html
send/receive h264/aac file/data by rtp/rtsp over udp/tcp的更多相关文章
- 开发RTSP 直播软件 H264 AAC 编码
上一篇对摄像头预览,拍照做了大概的介绍,现在已经可以拿到视频帧了,在加上 RTSP 实现,就是直播的雏形,当然还要加上一些 WEB 管理和手机平台的支援,就是一整套直播软件. 介绍一些基础概念:RTP ...
- rtmp 推送h264 + aac 的数据
相关源码下载: http://download.csdn.net/detail/keepingstudying/8340431 需要libfaac,librtmp 的支持, 1.帧的划分 1.1 H. ...
- I.MX6 Android Linux UART send receive with multi-thread and multi-mode demo
/******************************************************************************************* * I.MX6 ...
- H264码流结构分析和rtp打包结构详解
网络抽象层单元类型 (NALU): NALU头由一个字节组成,它的语法如下: +---------------+ |0|1|2|3|4|5|6|7| +-+-+-+-+-+-+-+ ...
- couldn't open file: data/coco.names
在ubuntu下配置yolo(v2)的时候,编译了源码后,尝试运行demo: ./darknet detect cfg/yolo.cfg yolo.weights data/dog.jpg 结果报错提 ...
- [问题解决] initAndListen: 10309 Unable to create/open lock file: /data/db/mongod.lock
错误: 在linux下开启mongoDB的 $ >bin: ./mongod 时报错:initAndListen: 10309 Unable to create/open lock file: ...
- docs/pcs/rest/file data apis list - 百度开发者中心
docs/pcs/rest/file data apis list - 百度开发者中心 更新通知: 2013.6.20 上传.下载新域名正式上线使用,相关接口“上传单个文件”.“分片上传-文件分片上传 ...
- 07-09 07:28:38.350: E/AndroidRuntime(1437): Caused by: java.lang.ClassNotFoundException: Didn't find class "com.example.googleplay.ui.activity.MainActivity" on path: DexPathList[[zip file "/data/app/c
一运行,加载mainActivity就报错 布局文件乱写一通,然后急着运行,报莫名其妙的错误: 07-09 07:28:38.350: E/AndroidRuntime(1437): Caused b ...
- [ilink32 Error] Fatal: Unable to open file 'DATA.DBXMSSQLMETADATAREADER.OBJ'
[ilink32 Error] Fatal: Unable to open file 'DATA.DBXMSSQLMETADATAREADER.OBJ' 清除重新编译OK
随机推荐
- ansible IP
问题解决了,用IP: "{{ ansible_eth0'ipv4' }}" 而不是{{ansible_all_ipv4_addresses}} 修改了之后的playbook 如下: ...
- js学习笔记23----窗口尺寸及窗口事件
窗口尺寸: 可视区的尺寸 document.documentElement.clientWidth document.documentElement.clientHeight 滚动距离 documen ...
- Key-Value是用一个不可重复的key集合对应可重复的value集合
Key-Value是用一个不可重复的key集合对应可重复的value集合.(典型的例子是字典:通过页码的key值找字的value值). 例子: key1—value1; key2—value2; ke ...
- Nginx upstream性能优化
1 目的 完成基于大报文和小报文场景的Nginx压测方案设计,其在长连接和短连接的最佳并发模型测试结果如下表: 大报文在短连接场景QPS在1.8K左右,在长连接场景QPS在2.1K左右,提升 ...
- 多线程环境下调用 HttpWebRequest 并发连接限制
.net 的 HttpWebRequest 或者 WebClient 在多线程情况下存在并发连接限制,这个限制在桌面操作系统如 windows xp , windows 7 下默认是2,在服务器操作 ...
- requirejs源码分析,使用注意要点
本文将深度剖析require.js代码,为了是大家更高效.正确的去使用它,本文不会介绍require的基本使用! 概要 先来一个流程图来概要一下大概流程 在require中,根据AMD(Asynchr ...
- linux使用常见问题
出现RTNETLINK answers: File exists 同时出现connect:network is unreachable 和 Determining IP information for ...
- Leetcode: Merge/Insert Interval
题目 Given a collection of intervals, merge all overlapping intervals. For example,Given [1,3],[2,6],[ ...
- 仿美团ViewPager+GridView
在接下来我要实现一个仿美团的效果 1.首先写一个登录注册界面用到了,很简单... 这里要提醒各位在调用方法时有set... 也有add.... 的方法,为了严谨可以做些正则判断手机号,用se ...
- 构建API
前言 过程,如图: 第一步创建一个帮助类,类里面提供了加密.组装Url等方法,代码如下: using System; using System.Collections.Generic; using S ...