问题标签 [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.
ios - 使用 AVAssetWriter 创建白噪声音轨
我目前正在使用AVAssetWriter
生成 Quicktime mov。视频轨道生成正确。现在我想添加一个“垃圾”mp4a 音轨。音频可能只是白噪声。我主要关心的是包含视频和音频轨道的 mov文件。
如何设置CMSampleBufferRef
仅包含 mp4a 格式的白噪声?这是我到目前为止所尝试的:
当NULL
为 audioFormatDescript 传递时,mov 文件已成功生成,但仅包含一个视频轨道(并且没有音轨)。当我实际传递 audioFormatDescript 时,mov 文件似乎已损坏。我可能实际上必须通过一些样本,但我不确定如何。
注意:我已经验证了appendSampleBuffer
返回YES
(为简洁起见,我省略了该代码)。
aac - 如何从 RTP 数据包中解包 Mp4a-latm 内容?
我们如何从 RTP 数据包中打包的 mp4a-latm 内容中提取原始 AAC 帧?
我已经阅读了 RFC 3016,但没有什么是具体的和更清晰的。
我还看到了 ffmpeg 的代码,他们是如何做到的。我知道他们正在使用配置数据并对其进行解析,但是他们如何使用它以及他们对原始数据进行了什么处理尚不清楚。
有人可以帮忙吗?
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 播放器。
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 很高兴。
我试图通过一个非常简单的从 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
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 根本不播放,并声称视频已损坏。
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 播放?
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 音频编解码器一起使用的正确编码器?
谢谢。