[英]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.