问题标签 [mp4a]

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 投票
1 回答
2143 浏览

ios - 使用 AVAssetWriter 创建白噪声音轨

我目前正在使用AVAssetWriter生成 Quicktime mov。视频轨道生成正确。现在我想添加一个“垃圾”mp4a 音轨。音频可能只是白噪声。我主要关心的是包含视频和音频轨道的 mov文件

如何设置CMSampleBufferRef仅包含 mp4a 格式的白噪声?这是我到目前为止所尝试的:

NULL为 audioFormatDescript 传递时,mov 文件已成功生成,但仅包含一个视频轨道(并且没有音轨)。当我实际传递 audioFormatDescript 时,mov 文件似乎已损坏。我可能实际上必须通过一些样本,但我不确定如何。

注意:我已经验证了appendSampleBuffer返回YES(为简洁起见,我省略了该代码)。

0 投票
0 回答
556 浏览

aac - 如何从 RTP 数据包中解包 Mp4a-latm 内容?

我们如何从 RTP 数据包中打包的 mp4a-latm 内容中提取原始 AAC 帧?

我已经阅读了 RFC 3016,但没有什么是具体的和更清晰的。

我还看到了 ffmpeg 的代码,他们是如何做到的。我知道他们正在使用配置数据并对其进行解析,但是他们如何使用它以及他们对原始数据进行了什么处理尚不清楚。

有人可以帮忙吗?

0 投票
0 回答
962 浏览

h.264 - 如何解码 RTP/MP4A-LATM 音频有效载荷

我正在 J2ME 中实现 RTSP 以连接到 Wowza。我有 RTSP 部分工作,并提取 RTP 数据包。我能够解码和显示 h264 视频流。

我在理解如何创建适当的音频流以传递给 J2ME Player 对象时遇到问题。

作为 RTSP 设置交换的一部分,我从 SDP 获得以下信息

m=audio 0 RTP/AVP 96 a=rtpmap:96 MP4A-LATM/24000/1 a=fmtp:96 profile-level-id=15;object=2;cpresent=0;config=400026103FC0 a=control:trackID=1

由此我知道我可以期待包含 MP4A-LATM 格式音频的 RTP 数据包,并且(最重要的是)mux 配置数据不与流一致。多路复用器配置数据为 400026103FC0

我只是不知道如何解释配置字符串,以及如何配置 J2ME 播放器。

0 投票
4 回答
1300 浏览

javascript - 为 Firefox 可以播放的 MP4 构建 ESDS 盒

我正在生成 MP4 文件(带有 h.264 视频和 AAC 音频),方法是从 JavaScript 中的 MPEG-TS 进行转换,以通过 blob URL 在浏览器中播放。在 Chrome 中一切正常,如果我从开发人员控制台中获取 blob URL 并下载它们,生成的文件也可以在 Windows Media Player 上正常播放。然而,Firefox 声称它们已损坏。

我已将问题缩小到音频元数据中的 ESDS 框的问题。如果我通过其他方式(如 ffmpeg)重新打包源 MPEG-TS 文件,并在十六进制编辑器中手动编辑我生成的文件,以将其他软件生成的等效文件粘贴到 ESDS 框中,那么 Firefox 很高兴。

构建 ESDS 盒的代码。(我正在跟踪这个问题

我试图通过一个非常简单的从 MPEG-specs 中转录材料的过程来编写它,但这并不能保证我没有把它搞砸。由于 Chrome 和 Windows Media 可以很好地播放我的文件,我不确定这是否真的是我的文件中的错误,他们能够以某种方式忽略,或者这是否是 Firefox 的问题。我怀疑前者,但我不确定。

任何人都对如何构建合适的 ESDS 盒有任何见解,或者可能是一个简单易懂的参考?

编辑:以下是为同一个输入文件生成的一些不同的 ESDS 部分(作为十六进制字节,从我的十六进制编辑器中复制出来):

矿:

00 00 00 27 65 73 64 73 00 00 00 00 03 22 00 00
02 04 14 40 15 00 00 00 00 00 3a f1 00 00 2d e6
05 02 12 10 06 01 02

mpegts

00 00 00 33 65 73 64 73 00 00 00 00 03 80 80 80
22 00 02 00 04 80 80 80 14 40 15 00 00 00 00 00
00 00 00 00 00 00 05 80 80 80 02 12 10 06 80 80
80 01 02

ffmpeg:

00 00 00 2c 65 73 64 73 00 00 00 00 03 80 80 80
1b 00 02 00 04 80 80 80 0d 40 15 00 00 00 00 01
5f 42 00 00 00 00 06 80 80 80 01 02

奇怪的是,我之前没有注意到这一点,Firefox 将使用 ffmpeg 的输出播放视频,但 Firefox 和 Windows Media 都不会真正播放声音(Chrome 会)。不过,Firefox 和 Windows Media 都乐于使用 mpegts 的输出来播放有声视频。使用我的,Chrome 和 Windows Media 将播放有声视频,但 Firefox 根本不播放,并声称视频已损坏。

0 投票
1 回答
368 浏览

html - 无法在 Firefox 中播放 .mp4 音频文件,可在 Chrome 中使用

我一直在尝试通过 Firefox 播放文件以查看它是否与网站兼容,并且无法弄清楚为什么它无法播放而在 Chrome 上可以播放。它只是显示一个错误框,“无法播放视频,因为文件已损坏”。我浏览了有关 .mp4 文件和 Firefox 支持的编解码器类型的信息,但除了最近关于 FF 应该如何在 2015 年播放此内容的帖子外,我没有找到太多信息。这是该文件的 ffprobe。

Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'two.mp4': Metadata: major_brand : mp42 minor_version : 0 compatible_brands: M4A mp42isom creation_time : 2015-08-06 08:17:05 encoder : Nero AAC codec / 1.5.4.0 Duration : 00:03:28.77, start: 0.000000, bitrate: 131 kb/s Chapter #0:0 : start 0.027333, end 208.768000 Metadata: title : Stream #0:0(und): Audio: aac (LC) (mp4a / 0x6134706D), 96000 Hz, stereo, flt p, 128 kb/s (default)

为什么这个本地文件不能在 Windows 41.0.2 上通过 FF 播放?

0 投票
0 回答
587 浏览

audio - 使用 udp 和 ffmpeg 将 mp4a 流式传输到 localhost

我正在使用以下命令将视频和音频流式传输到本地主机: ffmpeg -re -i out.mp4 -map 0:0 -vcodec libx264 -f h264 udp://127.0.0.1:1234 -map 0:1 -编解码器 libfaac -f mp4a udp://127.0.0.1:2020

FFmpeg 无法识别我的音频编解码器和音频格式,因此我收到以下错误消息: 错误

我需要使用什么音频格式和编解码器?我要发送的视频的编解码信息如下: 使用的编解码器

当我将音轨转换为 mp3 时,我可以运行上述命令并正确传输视频和音频。但是我不想将我所有的视频音轨都转换为 mp3。

(我对 ffmpeg 文档中的所有编码器、解码器、编解码器名称感到困惑)除了阅读编解码器和选项的整个列表之外,有没有办法找到与 mp4a 音频编解码器一起使用的正确编码器?

谢谢。