所以我想编译 FFMpeg C 库(作为静态的)而不是完全默认的荣耀,但仅用于我的目的 - 这样它将包含:
- 2 种编解码器格式 MP3 和 FLV1 (H.263)
- 2 种文件(容器)格式 MP3 和 FLV
当然,我只想限制格式和编解码器的范围。不是 FFmpeg 的函数。
如何做这样的事情?
我的主要观点是什么:
构建这样的 ffmpeg when I call function like
multiplexer::multiplexer(std::string container)
{
av_register_all();
this->format_context = avformat_alloc_context();
if (this->format_context == NULL)
{
std::cout << "Multiplexer: format context is empty." << std::endl;
throw internal_exception();
}
this->format_context->oformat = av_guess_format(container.c_str(), NULL, NULL);
if (this->format_context->oformat == NULL)
{
std::cout << "Multiplexer: invalid container format (" << container << ")." << std::endl;
throw internal_exception();
}
}
我将仅限于 FLV
configure
脚本有一个选项列表。运行 ./configure --help
来查看它们。我不确定选项如何堆叠,但您可以尝试 --disable-everything
然后是 --enable-demuxer=flv
等。
我是一名优秀的程序员,十分优秀!