实时音频流容器格式

2024-01-25

当我开始接收实时音频(无线电)流(例如 MP3 或 AAC)时,我认为接收到的数据不是原始比特流(即原始编码器输出),但它们总是被包装成某种容器格式。如果这个假设是正确的,那么我想我无法从流的任意位置开始流式传输,但我必须等待某个同步字节。是对的吗?通常会有一些同步字节吗?同步字节后面是否有任何标头,我可以从中猜测使用的编解码器、通道数、采样率等?

当我连接到实时流时,我会收到从最近的同步字节开始的数据,还是会从实际位置获取数据,并且我必须首先检查同步字节?

像icecast这样的一些流在HTTP响应中使用标头,其中包含与流相关的信息,但我认为我可以跳过它们并直接处理steam格式。

那是对的吗?
问候,
STeN


当您查看 SHOUTcast/Icecast 时,遇到的数据是纯 MPEG Layer III 音频数据,仅此而已。 (前提是您没有请求元数据。)

It can在任意位置被剪切,因此需要同步到流。这通常是通过查找潜在的标头并使用该标头中的数据来查找顺序标头来完成的。一旦找到一些帧头,您就可以安全地假设您已同步到流并开始解码以进行播放。

同样,这些没有“容器格式”。这只是原始数据。

现在,如果您想要元数据,则必须从服务器请求它。然后,数据每隔一段时间就被注入到流中x字节数。看http://www.smackfu.com/stuff/programming/shoutcast.html http://www.smackfu.com/stuff/programming/shoutcast.html.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

实时音频流容器格式 的相关文章

  • 如何在 Android 上的 PhoneGap 中设置音频播放速率?

    有谁能够让音频播放速率在 Android 上工作吗 媒体播放器似乎覆盖 忽略音频标签的播放速率属性 None
  • Java 原始音频输出

    只是想知道Java中是否有像模块这样的库皮奥迪埃 http pyaudiere org 在 Python 中 这仅允许您创建音调并播放它们 如以下示例 Python 代码 device audiere open device tone de
  • 如何禁用 WebBrowser 控件中的点击声音

    我使用 Javascript 单击网络浏览器控件中的链接 但我不想听到IE的 咔哒 声 有什么办法可以做到这一点吗 P S 我不想更改系统设置 我见过这个 如何仅在您的应用程序中禁用网络浏览器 点击声音 https stackoverflo
  • 声音在模拟器中工作,而不是在真实 iPhone 中工作

    有几短音效播放的样本在模拟器中很好 但在真正的 iPhone 中根本不行3GS 以下是 Apple SysSound 示例中的代码 CFBundleRef mb CFBundleGetMainBundle CFURLRef soundFil
  • 如何使用 PyAudio 选择特定的输入设备

    通过 PyAudio 录制音频时 如何指定要使用的确切输入设备 我的电脑有两个麦克风 一个内置 一个通过 USB 我想使用 USB 麦克风进行录音 这流类 https people csail mit edu hubert pyaudio
  • FFMPEG Seeking 带来音频伪影

    我正在使用 ffmpeg 实现音频解码器 在读取音频甚至搜索已经可以工作时 我无法找到一种在搜索后清除缓冲区的方法 因此当应用程序在搜索后立即开始读取音频时 我没有任何工件 avcodec flush buffers似乎对内部缓冲区没有任何
  • 如何使用 iPhone SDK 加快或减慢背景音乐曲目的速度?

    是否有一种简单的方法来控制使用音频队列服务播放的声音文件循环的播放速度 节奏 例如 如果游戏正在播放背景音乐 我想让BGM随着时间的流逝而加快 但不改变音乐的音调 谢谢 据我所知 没有什么简单的方法可以做到这一点 在 Mac 上 您可能会使
  • 如何在不使用 Cocos2D 的情况下将声音实现到现有应用程序中

    例如 iOS SDK下载页面上有示例代码 我正在使用计算器应用程序 iPhoneUnitTests 我想知道是否可以轻松地向已构建的应用程序上的按钮添加声音 播放短声音 例如按钮声音 实际上非常简单 这是一个简单的例子 您必须链接 Audi
  • 在 Android 媒体播放器上播放 MediaStore 中的音频

    有没有办法通过使用 MediaPLayer 播放从 MediaStore 获得的音频 或者我走的方向完全错误 到目前为止 我已经查看了 MediaStore Audio 但没有什么能真正帮助我 我只需要知道我是否走在正确的轨道上 首先 我假
  • Python 可以使用单独的媒体播放器打开 mp3 文件吗? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 是否可以开一个mp3Python 中的文件 可以使用Popen 我并不是要在程序中运行它 我的意思是作为媒体播放器中的一个单独窗口或其
  • AVAudioPlayer 重置当前播放的声音并从头开始播放

    我在使用 AVAudioPlayer 时遇到问题 我想重置当前正在播放的播放器并再次播放 我尝试以下但没有运气 声音播放一次 但第二次我选择按钮时它会停止声音 第三次再次启动声音 Stop the player and restart it
  • Python 中的二进制相移键控

    我目前正在编写一些代码 以使用音频转换通过激光传输消息 文件 和其他数据 我当前的代码使用 python 中 binascii 模块中的 hexlify 函数将数据转换为二进制 然后为 1 发出一个音调 为 0 发出不同的音调 这在理论上是
  • 录制视频和音频并上传到服务器

    我想为网站添加视频录制功能 我一直在搜索并尝试所有可能的可用解决方案 但还没有任何工作正常 我已经尝试过以下解决方案 WebRTC 我知道使用 WebRTC 我们可以从网络摄像头和麦克风获取流 我发现了很多关于相同内容的文章 但没有一篇解释
  • C# 从mp4文件中提取mp3文件

    有没有简单的方法从 mp4 文件中提取 mp3 文件 我已经尝试过更改文件扩展名 但这不允许我编辑 mp3 描述 谢谢你 Use Xabe FFmpeg https xabe net product xabe ffmpeg 它是免费的 非商
  • 如何在Android中设置音频均衡器

    我正在制作一个媒体播放器 其中需要使用 搜索栏 将均衡器效果设置为 低音 可怕 摇滚 流行 中 我得到了一个链接 其中使用了一些 NDK 库来执行此操作 是否有任何 Java 库可以执行此操作 请解释执行此操作的逻辑是什么 Override
  • 如何使用 Android 手机通话时播放声音?

    是否可以通过编程方式与电话进行交互 例如 您可以通过程序向呼叫者播放音频吗 Google 尚未公开任何允许我们向特定正在进行的调用提供数据的 API 不过 您可以控制通话 检查这篇文章 here http prasanta paul blo
  • 我在 android 上使用 java 时遇到异常 (java.lang.NoClassDefFoundError),为什么?

    这是我运行的线路 AudioInputStream clip1 AudioSystem getAudioInputStream new File wavFile1 这是我得到的异常 来自 LogCat 错误 AndroidRuntime 3
  • 在 Python 中使用音频流 RTMP 通过管道和 OpenCV 到 FFmpeg

    我正在尝试使用音频流式传输 FFmpeg 我将在下面展示我的代码 导入模块 import subprocess as sp 创建变量 rtmpUrl rtmp a rtmp youtube com live2 key camera path
  • Java 声音可视化器

    我正在尝试制作一个java声音可视化工具 但我完全不知道如何在实时处理音频后立即从提取的音频中获取字节 我可以将程序与 wav 文件同步 但这不是我想要做的 我想用程序生成声音 然后播放它 而不将其保存在任何地方 谢谢您的帮助 本文可以帮助
  • AudioTrack、SoundPool 或 MediaPlayer,我应该使用哪个?

    如果我需要能够 播放多个音频文件 具有不同的持续时间 例如 5 到 30 秒 独立设置右 左声道的音量 应用声音效果 如混响 失真 那么 我应该使用哪个 API 另外 我在 AudioTrack API 上找不到太多文档 有谁知道在哪里可以

随机推荐

  • Selenium - 如何获取窗口中打开的选项卡数量?

    我的测试用例 打开浏览器并访问 URL 单击主页上的链接 gt 这将打开一个新窗口 新选项卡 返回主页 单击另一个链接 确保步骤 2 中先前打开的子窗口 子选项卡上显示新内容 我可以通过获取窗口句柄的计数来检查打开的窗口数量 并断言它等于
  • Java中如何模拟文件IO?

    我怎样才能创建一个类MockFile模仿java io Filew r t 文件读写 我到处都用我自己的方法而不是new FileInputStream and new FileOutputStream 所以这部分没有问题 我总是委托给适当
  • 获取参数的调用变量名

    关于这个问题从调用方法中获取参数名称 https stackoverflow com questions 15205457 get the name of parameters from a calling method and 在 C 中
  • R 中没有重复的 Left_Join

    我想做一种vlookup 正如您所知 Excel vlookup 函数从数据中获取第一个值 另一方面 left join 函数的工作原理类似 但是 当第一个数据在查找值上不唯一时 left join 函数会重复 de 值 我想对 Excel
  • gradle 将外部插件的 jar 存储在哪里?

    我正在使用一个名为 jsonschema2pojo 的外部 gradle 插件 为此 我在 build gradle 文件中添加了以下代码 我可以成功使用该插件 但我找不到必须下载并存储在某处的 jar 在哪里可以找到为外部插件下载的 ja
  • 如何仅在 bash 中存在脚本时才执行该脚本?

    我想知道是否有一种更简单的方法可以仅在该脚本存在时才在 bash 中执行该脚本 我想要的相当于 if x name then name fi or x name name 我正在寻找的是类似的东西 exec if exist name 这消
  • Python-如何使用 re 来匹配整个字符串[重复]

    这个问题在这里已经有答案了 我正在验证用户输入的文本 以便它只接受字母而不接受数字 到目前为止 当我输入数字 例如 56 时 我的代码工作正常 它警告我应该只输入字母 而当我输入字母时 它不会返回任何内容 就像它应该做的那样 我的问题是 当
  • 使用YouTube Data API时如何避免视频信息获取的遗漏?

    假设 我想要实现的目标 我想使用YouTube Data API V3来无遗漏地获取视频ID 并找出问题的原因是在代码中还是在YouTube API端 的视频设置中 Problem 以下代码用于从YouTube Data API获取视频信息
  • “尝试向 Flutter 发送平台消息,但 FlutterJNI 与原生 C++ 分离。”启动后台服务并关闭应用程序后

    我正在尝试构建一个使用某些包作为位置的应用程序 https pub dev packages location https pub dev packages location 和指南针 https pub dev packages flut
  • 为什么采用一种定义规则,而不是一种声明规则?

    我已阅读以下材料 https www wikiwand com en One Definition Rule https www wikiwand com en One Definition Rule http en cppreferenc
  • 如何自动启用网络位置提供程序

    我正在通过网络获取纬度和经度 它给了我纬度和经度 但是如果我的NETWORK LOCATION PROVIDER未选中 它永远不会向我提供当前位置的纬度和经度 我想要的是 我怎样才能启用NETWORK LOCATION PROVIDER在不
  • Hibernate Spatial - “遇到无效的字节序标志值”异常

    我正在尝试在 PostgreSQL 9 3 上的 Hibernate Spatial 4 0 中运行一个简单的查询 我的表中有许多带有纬度 经度值的对象 并且我正在尝试查询位于特定纬度 经度的给定半径内的对象 几何值似乎没有任何问题地被持久
  • 如何在pygame中检测两个矩形物体或图像之间的碰撞

    我正在制作一款游戏 玩家必须使用碗来接住掉落的物品 我有一些列表中的项目图像和一个用于接住项目的碗的图像 物品会继续下落 如果到达边界 下边缘 就会重置到屏幕顶部 我完成了这个逻辑 允许物品掉落 但我不知道如何检测碗和物品之间何时发生碰撞
  • 在 PyAudio 模块中安装时出现错误

    经过无数次尝试后 我仍然无法安装 PyAudio 而不会出现此错误 我尝试过使用许多方法 包括 pipwin 但它没有被识别为真正的函数 如何安装 PyAudio ERROR Command errored out with exit st
  • 检查提交消息中的特定字符串 - SVN Precommit Hook

    我期望 svn 提交消息中出现以下格式 描述 更改的一些描述 实体 变更请求编号 如果提交时的注释不遵循上述格式 则应抛出错误消息 这个想法是检查提交消息中的关键字符串 Description 和 Entity 我还在检查消息中是否存在评论
  • 为每个页面添加固定的页眉/页脚 jsPDF

    我在用jsPDF https github com MrRio jsPDF从我的网络应用程序的动态 HTML 内容生成 PDF 现在我正在尝试为这些 PDF 提供独特的布局 我想为 PDF 的每一页添加 页眉 和 页脚 jsPDF 会自动生
  • 为面向文档的数据库设计记录键 - 最佳实践

    我们的团队已经开始开发由 Couchbase DB 支持的应用程序 对于我们每个人来说 这都是第一次使用非 SQL 数据库 我们已经开始定义我们的实体 并采用 Couchbase 手册建议的使用 类型 前缀的做法 Entity A key
  • iOS - RestKit 并清除所有数据?

    我使用 RestKit 进行 Web 服务调用 缓存和 etag 我实现了自己的 coredata 模型和 ManagedObjects 用户退出后 我需要清除数据库中的所有数据 我能够成功删除 sqlite 文件并重新创建它 但我找不到清
  • SQLite查询进度条

    我在用sqlite来自 C 我想实现一个进度条 通知用户搜索的进度 Using sqlite3 progress handler http www sqlite org sessions c3ref progress handler htm
  • 实时音频流容器格式

    当我开始接收实时音频 无线电 流 例如 MP3 或 AAC 时 我认为接收到的数据不是原始比特流 即原始编码器输出 但它们总是被包装成某种容器格式 如果这个假设是正确的 那么我想我无法从流的任意位置开始流式传输 但我必须等待某个同步字节 是