从音频缓冲区和视频缓冲区 C++ Windows 构造 mp4 文件

Posted

技术标签:

【中文标题】从音频缓冲区和视频缓冲区 C++ Windows 构造 mp4 文件【英文标题】:Construct mp4 file from audio buffer and video buffer C++ Windows 【发布时间】:2015-06-08 05:31:42 【问题描述】:

目前,我正在从远程端接收视频流(H264 编码缓冲区)和音频流(PCMU 编码缓冲区),我可以将它们解码并呈现为音频和视频。现在我想提供一些 API,比如 -

string fileName = "dir/dir2/..../rec.mp4";
startRecord()
stopRecord() 

用户可以随时开始录制并停止录制,视频和音频流将被写入组合的 mp4 文件。我可以使用ffmpeg,通过它我可以将.h264.wav 文件合并为.mp4 文件。但我想使用任何库直接从流(不是 .h264 或 .wav 文件)以编程方式执行此操作或编写我自己的库。有可能吗?

【问题讨论】:

【参考方案1】:

详情请参阅this answer。但是,mp4 不支持 G.711 PCM mu-law 编码数据,可以使用 avimov 或将数据从 pcm 转码到 aac 将起作用。

【讨论】:

以上是关于从音频缓冲区和视频缓冲区 C++ Windows 构造 mp4 文件的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Windows 10 上使用 C++ 将连续的原始音频数据记录到循环缓冲区中?

在 C++ 中处理音频缓冲区时,如何执行从 float -> double -> float 的转换

GraphicsScene 中的 Qt GLWidget 用于从图像数据(C++、Windows)中快速显示视频?

您如何找到音频延迟? (Windows/OSX)

从视频文件中提取音频并在 OpenAL 中播放

使用前置摄像头录制视频时分别获取视频和音频缓冲区