如何在 C++ 中使用 ffmpeg 从视频中提取音频?
我正在使用 FFmpeg 提取有关视频文件的信息。 但我想提取音频通道以使用 FMOD 读取它。
我怎样才能做到这一点?是不是很简单呢?
你知道关于 C++ FFmpeg 的好教程吗?
谢谢
I'm using FFmpeg to extract informations about a video file.
But i want to extract the audio channels to read it with FMOD.
How can I do that ? Is it simple ?
Do you know a good tutorial about FFmpeg in C++ ?
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
有关 FFMPEG 的教程,请查看以下问题:FFmpeg API 书籍、教程等。教程是用 C 语言编写的,但 FFMPEG 也是用 C 语言编写的。它们有点过时了,无法使用最新的 FFMPEG 进行编译,但所需的更改并不是那么大。我已经开始在我的 github 上更新它们。
按照您的方式完成教程(慢速大约需要一周时间),您就足以知道从哪里获取音频。如果您只需要流,您可以将音频数据包转储到文件中。如果你想对音频进行转码,那么就需要付出更多的努力。
由于 ffmpeg 源代码是开放的,请随意查看一下。要查看的主要文件是 ffmpeg.c。它很大,所以您最好先亲自学习教程。
For tutorials on FFMPEG, have a look at this question: FFmpeg API books, tutorial, etc. The tutorials are in C, but so is FFMPEG. They're a bit out of date and won't compile with the most recent FFMPEG, but the required changes aren't that great. I've started updating them on my github.
Work your way through the tutorials (it will take around a week at a slow pace) and you'll enough to know where to grab the audio from. If you just want the stream, you can probably just dump the audio packets to a file. If you want to transcode the audio, then it will require more effort.
Since the ffmpeg source is open, feel free to look around yourself. The main file to look at is
ffmpeg.c
. It's big, so you're better off getting your hands dirty with the tutorial first.