当前位置: 首页 > news >正文

FFmpeg 推流给 FreeSWITCH

FFmpeg 推流,貌似不难,网上有很多资料,

接到一个任务,推流给 FreeSWITCH,最开始以为很容易,

实则不然,FreeSWITCH uuid_debug_media <uuid>, 一直没人任何反应

仔细一查,FreeSWITCH 收到的 rtp包 一般都是 172 字节,包括 12 字节的 rtp 头,和 160 字节的净荷。

但 FFMpeg 发出的 rtp 包 连 seq 都是乱的。

找呀找,终于找到了这里:

https://ffmpeg.org/ffmpeg-protocols.html

pkt_size 设置为 172

网上查到的好多资料是 FFMpeg 推流给 vlc,但 FreeSWITCH 跟 vlc 不一样


ffmpeg -i b.wav  文件长度4秒

ffmpeg -re -i b.wav -ac 1 -ar 8000  -acodec pcm_alaw -f rtp rtp://192.168.99.205:6666?pkt_size=172
 

SDP:
v=0
o=- 0 0 IN IP4 127.0.0.1
s=No Name
c=IN IP4 192.168.99.205
t=0 0
a=tool:libavformat LIBAVFORMAT_VERSION
m=audio 6666 RTP/AVP 8
b=AS:64

size=      34kB time=00:00:04.00 bitrate=  68.9kbits/s speed=0.999x
video:0kB audio:31kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 7.697835%
 

抓包之后用 wireshark 进行分析,是这样:


拉流可能是这样的:

ffplay -ar 8000 -f alaw -f rtp -i rtp://192.168.99.203:6666

但暂时还没做测试

http://www.lryc.cn/news/493924.html

相关文章:

  • .npmrc文件的用途
  • C++游戏开发入门:如何从零开始实现自己的游戏项目?
  • Redis设计与实现第16章 -- Sentinel 总结1(初始化、主从服务器获取信息、发送信息、接收信息)
  • Windows10+VirtualBox+Ubuntu:安装虚拟机VirtualBox,虚拟机中安装Ubuntu
  • Torchtune在AMD GPU上的使用指南:利用多GPU能力进行LLM微调与扩展
  • C底层 函数栈帧
  • 【模块一】kubernetes容器编排进阶业务容器化案例
  • 可视化建模以及UML期末复习篇----相关软件安装
  • Appflyer记录卸载事件
  • JDK17 AbstractQueuedSynchronizer 二 条件队列
  • 8 设计模式之简单工厂模式
  • 计算机的错误计算(一百六十九)
  • Android 图形系统之三:SurfaceControl
  • Laravel8.5+微信小程序实现京东商城秒杀方案
  • Makefile 入门指南:构建自动化编译流程
  • C#热更原理与HybridCLR
  • 里氏替换原则:Java面向对象设计的基石
  • 恒创科技:服务器操作系统和客户端操作系统之间的区别
  • 做异端中的异端 -- Emacs裸奔之路4: 你不需要IDE
  • Unity3d C# 摄像头检测敌方单位(目标层级)并在画面中标注(含源码)
  • js 16进制加密
  • 性能测试之压测
  • CentOS修改yum.repos.d源,避免“Could not resolve host: mirrorlist.centos.org”错误
  • Python 三目运算实战详解
  • JVM 性能调优 -- CMS 垃圾回收器 GC 日志分析【Full GC】
  • PS的学习
  • 数据集搜集器(百科)008
  • Java学习,反射
  • 数据结构 (18)数的定义与基本术语
  • Flink的双流join理解