[英]How to extract audio form video using ffmpeg in C++?
我正在开发一个使用 FFmpeg 播放音频/视频的 C++ 应用程序。 现在我想增强应用程序以允许用户从视频中提取音频。 FFmpeg 如何用于此目的? 我搜索了很多关于这个,但我找不到关于它的教程。
你需要
avformat_open_input
]avformat_find_stream_info
]if (inputFormatContext->streams[index]->codec->codec_type ==
AVMEDIA_TYPE_AUDIO) {
inputAudioStream = inputFormatContext->streams[index];
}
int ret = av_read_frame(inputFormatContext, &packet);
if (ret == 0) {
if (packet.stream_index == inputAudioStream->index) {
// packet.data will have encoded audio data.
}
}
这似乎是一个简单的脚本任务……为什么要使用重炮(C/C++)来打苍蝇?
我使用 Applescript 通过 Bash shell 构建/运行 ffmpeg 命令行。 我涉及 Applescript 的唯一原因是我可以将它作为一个 droplet 调用(即将文件拖放到应用程序上并让它在没有交互的情况下运行。)
我知道您可能使用的是 Windows,这意味着没有 Applescript 和 Bash。 但是肯定比 C 更轻的东西可以构建/运行 ffmpeg 命令行。 这真的很简单:
ffmpeg -i infile.mp4 -b 160k outfile.mp3
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.