ffmpeg - 使用 ffmpeg 或 gstreamer 将 RTP (OPUS) 流转换为 HLS (AAC) 流
问题描述
我目前在 rtp://127.0.0.1:5006 本地播放的 OPUS 编解码器中有一个 RTP 协议流
我想将此流转换为带有 AAC 编解码器(或其他更容易)的 HLS 协议,以便仅使用浏览器的设备更容易访问它。
我知道 ffmpeg 和 gstreamer 能够做到这一点,但我只是迷失在各种参数/参数中。
目前,我有一个描述我的流的 SDP 文件(不确定这是否正确,我只是在谷歌搜索/阅读规范后编写的)
v=0
t=0 0
m=audio 5006 RTP/AVP 98
c=IN IP4 127.0.0.1
a=recvonly
a=rtpmap:98 opus/48000/2
a=fmtp:98 stereo=0; sprop-stereo=0; useinbandfec=1c
有任何想法吗?
解决方案
通过使用以下命令,我能够使它工作。SDP 文件似乎也可以正常工作。
ffmpeg -protocol_whitelist file,udp,rtp -i input.sdp -c:a aac -b:a 128k -ac 2 -f hls -hls_time 4 -hls_playlist_type event outputstream.m3u8
如果其他人像我一样在理解这些论点时遇到问题,请花时间在https://ffmpeg.org/ffmpeg.html中搜索论点并理解它们。那时一切都变得更加简单。
推荐阅读
- python - 等待代码执行是否在时间限制之前完成,如果没有在限制内完成则中止
- python - 比较两个列表中的值并从第三个列表中返回相似或最接近的值
- r - 如何用缺失值前后的平均值填充向量中的缺失值
- java - 没有可用的“ru.spb.repository.UserRepository”类型的合格bean:预计至少有1个有资格作为自动装配候选者的bean
- javascript - 对 DataTable 的默认更改
- vb.net - 如何用我自己的代码“替换”异常?
- .net - 解析 dacpac docker microsoft sql server 时出错
- reactjs - 打字稿:如何为泛型类型定义对象键的类型
- python - Python:如何为 pandas 数据框中的每个 ID 保存不同的 .csv?
- python - 迭代数据框并组合来自不同列的值