问题标签 [codec]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
542 浏览

modem - 合勤 ADPCM 编解码器

我有一个 ZyXEL USB Omni56K Duo 调制解调器,想在上面发送和接收语音流,但为了达到足够的质量,我可能需要实现一些“ZyXEL ADPCM”编码,因为普通 PCM 提供的采样率太小,无法传输中等质量的语音,而且它也不能通过 USB 工作(可能是因为即使这个比特率对于其中的 USB-Serial 转换器来说也太高了)。

这个神秘的编解码器在所有 Microsoft WAV 相关库中都是理论上支持的众多编解码器之一,但我没有找到任何实现。

有人可以提供任何语言或一些文档的实现吗?编写自定义 mu-law 解码算法对我来说不是问题。

谢谢。

0 投票
1 回答
8556 浏览

android - Android AudioRecord 和 AudioTrack 编解码器选项?

我目前在 Android 中使用 AudioTrack 和 AudioRecord 类。

我使用纯 PCM 数据,但我想知道其他编解码器有哪些选择?

这个页面看来我只能使用 AMR 窄带进行编码和解码?

我目前设置音频类如下:

所以我的问题是如何将编码从 PCM 更改为其他支持的编解码器之一?

当我尝试在 AudioFormat 上更改 ENCODING_PCM_16BIT 时,我只会获得默认或无效编码的选项以及 PCM 选项。

如果有人知道这里的任何帮助或任何帮助,任何指向 Android 上编码和解码音频的教程的链接都会非常感谢。

谢谢

编辑:我已将代码更改为以下内容:

The code runs properly but I'm wondering does it actually encode the Audio as AMR_NB and if this is not a proper way to do it?

I was getting a buffer overflow when using raw PCM but none have appeared since using the new code with the MediaRecorder.AudioEncoder.AMR_NB used instead of the AudioFormat.PCM

0 投票
1 回答
1056 浏览

multithreading - 哪些供应商/公司拥有多线程视频编解码器解决方案?

如果这里不相关,请。移动到正确的地方。

我想了解哪些供应商/公司开发了多线程视频编解码器(解码器、编码器)作为商业产品?不是像 libavcodec/x264/ffdshow 等开源解决方案......而是可以获取这些解决方案的许可证/性能编号的商业解决方案。

谢谢,

-广告。

0 投票
4 回答
695 浏览

html - 跨浏览器的 HTML 5 音频不兼容怎么办?

我需要使用 HTML 5 音频来播放声音。但是,编解码器支持非常烦人:

  • 火狐:Ogg、Wav
  • Safari:Mp3、Wav
  • 铬:Ogg,MP3
  • 歌剧:Wav

我基本上需要用 Wav 和 Ogg/Mp3 编码。然而,Wav 的尺寸很糟糕,这对我来说非常关键。所以,我想我应该选择 Mp3 + Ogg 将 Opera 和 IE 排除在外吗?

0 投票
5 回答
4736 浏览

c# - 我应该使用哪种音频编解码器?

我应该为我的 C# 软件开发项目选择哪个音频编解码器,其中要转码/传输/使用的原始音频基于以下内容:

  1. 仅用于编码语音
  2. 音频可以是立体声或单声道
  3. 能够支持直播
  4. 文件大小和质量之间的良好权衡
  5. 以编码形式通过 TCP/IP 传输
  6. 无需进一步处理即可由现成的免费播放器播放

请注意,无需考虑是否有现成的免费编解码器库用于执行转码。

0 投票
2 回答
4147 浏览

java - Android - 如何将我自己的音频编解码器添加到 AudioRecord?

我目前有一个环回程序,用于在 Android 设备上测试音频。

它使用 AudioRecord 和 AudioTrack 来记录来自麦克风的 PCM 音频并在听筒中播放 PCM 音频。

这是代码:

正如您在创建 AudioTrack 和 AudioRecord 时看到的,编码是通过 AudioFormat 提供的,但这仅允许 16 位或 8 位 PCM。

我现在有自己的 G711 编解码器实现,我希望能够对来自麦克风的音频进行编码并将其解码到 EarPiece,所以我有encode(short lin[], int offset, byte enc[], int frames)decode(byte enc[], short lin[], int frames)方法,但我不确定如何使用它们来编码和解码来自 AudioRecord 和 AudioTrack 的音频。

任何人都可以帮助我或指出我正确的方向吗?

0 投票
4 回答
14002 浏览

audio - 从哪里开始学习音频或视频编解码器?

我很困惑知道编解码器内部发生了什么。我想了解音频编码器和解码器中的元素。如果你能给我一些链接,我可以找到一些好的学习材料,我会很高兴。

正是我想知道编解码器如何解析媒体文件。

0 投票
1 回答
594 浏览

mp3 - 是否有任何容器可以将 MJPEG 和 MP3 作为视频播放?

所以我有 MP3 轨道和 MJPEG 是否有任何容器可以将这两个组合起来并将它们作为一个容器中的一个视频轨道播放?

0 投票
3 回答
24497 浏览

python - 如何在 Python 中编写原始二进制数据?

我有一个 Python 程序,可以存储数据并将其写入文件。数据是原始二进制数据,内部存储为str. 我正在通过 utf-8 编解码器写出来。但是,我进入UnicodeDecodeError: 'charmap' codec can't decode byte 0x8d in position 25: character maps to <undefined>cp1252.py文件。

在我看来,这就像 Python 正在尝试使用默认代码页来解释数据。它没有默认代码页。这就是我使用的原因str,而不是unicode.

我想我的问题是:

  • 如何在 Python 中表示内存中的原始二进制数据?
  • 当我通过编解码器写入原始二进制数据时,如何对其进行编码/取消编码?
0 投票
1 回答
637 浏览

iphone - 流式音频 - 从哪里开始?

我需要开发一个嵌入式音频流服务器。

要求:

  • 语音质量或更好
  • 用于低功率 wifi 传输
  • 广泛支持现有软件和设备(即 windows 媒体播放器、quicktime、vlc、iPhone、Android 等)。
  • 免版税/专利,或便宜的许可

优先:

  • 基于 TCP/IP 的低开销流协议
  • 语音级编解码器(易于在软件中实现,无需 DSP,如果需要,可使用 32 位 CPU)
  • 如果它支持 HTML5 浏览器会很好,但是是否有任何最新浏览器支持的编解码器(例如 raw)比 MP3 的开销更低?

所以:

  • 我应该查看哪些相关的流媒体协议?
  • 我应该查看哪些相关的编解码器?
  • 我应该查看哪些传输流?
  • 我错过了什么,或者我应该在哪里寻找这种需求?