vs2012 MinGW 编译ffmeg 引用外部库libx264,librtmp[通俗易懂]

vs2012 MinGW 编译ffmeg 引用外部库libx264,librtmp[通俗易懂]VS2012如何编译ffmpeg前面已经有文章讲过,本来主要讲述如何引用外部库libx264,librtmp,ffmpeg版本是3.0.2。1.下载x264源文件并编译源码地址是http://www.videolan.org/developers/x264.html。l…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

VS2012如何编译ffmpeg前面已经有文章讲过,本来主要讲述如何引用外部库libx264,librtmp,

ffmpeg版本是3.0.2。

1. 下载x264源文件并编译

     源码地址是http://www.videolan.org/developers/x264.html。libx264配置、编译命令如下:

     

 ./configure --enable-shared --extra-ldflags=-Wl,--output-def=libx264.def
 make
make install

    生成的def文件可以通过vc自带的lib.exe命令转成libx264.lib文件,转化的命令是:  

lib /def:yourdll.def /machine:i386 /out:yourdll.lib 

  注意:/def一定要加上,否则执行命令会出错。lib.exe路径是C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\lib。

2.下载编译librtmp

   librtmp 依赖openssl等开源库,有人已经建好了vs2012版本的工程可以直接拿来用.主要的注意的需要修改配置,否则编译ffmeg会出错.

   需修改的配置如下图所示:

vs2012 MinGW 编译ffmeg 引用外部库libx264,librtmp[通俗易懂]

           图1 librtmp 配置选项

 3.修改Ffmpeg configure文件:

#enabled librtmp && require_pkg_config librtmp librtmp/rtmp.h RTMP_Socket

替换为

enabled librtmp && require librtmp librtmp/rtmp.h RTMP_Socket -lrtmp -lws2_32 -luser32 -lgdi32 -lwinmm

4. 配置、编译、安装

./configure --toolchain=msvc --enable-shared --enable-gpl --enable-libx264  --enable-version3 
--enable-encoder=libx264 --extra-cflags="-I/home/wgg/libx264/include"
--extra-ldflags="-L/home/wgg/libx264/lib" --prefix="/home/wgg/out-3.0.2-x264" make make install

编译成功以后会生成相应的pdb文件.

   如有问题需要交流,请加群流媒体/Ffmpeg/音视频 127903734,群里有编好的库文件。

转载于:https://my.oschina.net/u/3700450/blog/1545664

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/192615.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 电脑使用哪个录制视频软件比较好

    电脑使用哪个录制视频软件比较好如今社会从一个开放的年代发展为开放的信息时代,人们对于自我表达越发的大胆。追求标新立意,而视频正好迎合了人群的需要。视频的表现方式比图纸更加直观具有冲击力,更展现更加生动丰富的内容。想要录制视频其实不难,只需要一款专业的录制视频软件就可以帮搜我们达到我们想要的效果。使用工具:电脑(有网络)迅捷屏幕录像工具操作步骤:1、首先电脑在线进入百度浏览器搜索迅捷屏幕录像,并且安装在电脑上进行运行。…

    2022年6月16日
    27
  • C++ override使用详解

    C++ override使用详解C++override从字面意思上,是覆盖的意思,实际上在C++中它是覆盖了一个方法并且对其重写,从而达到不同的作用。在我们C++编程过程中,最熟悉的就是对接口方法的实现,在接口中一般只是对方法进行了声明,而我们在实现时,就需要实现接口声明的所有方法。还有一个典型应用就是在继承中也可能会在子类覆盖父类的方法。   公有继承包含两部分:一是“接口”(interface),二是”实现”

    2025年7月10日
    4
  • IIS 安装失败之解决方案[通俗易懂]

    IIS 安装失败之解决方案[通俗易懂]首先删除IIS后,再开始下面的操作:1.运行:regsvr32%windir%/system32/vbscript.dll(其实这一步也可以省,确保万一,还是执行吧)2.运行:msdtc-resetlog3.重新安装IIS…

    2022年6月4日
    36
  • html实战-制作静态网页「建议收藏」

    html实战-制作静态网页「建议收藏」教程视频:http://edu.csdn.net/course/detail/535 从42开始制作的网页:http://www.cnos.co/整体思路:先布局再CSS控制骨架搭好了,初始化样式,后再弄CSS样式。注意:将CSS的样式导入到外部样式表时,要注意图片的位置,以及对外部样式表的引入  1、头部的背景图片的高度128px来自素材的图片高,容器的宽度大

    2025年9月15日
    6
  • HTML Meta中添加X-UA-Compatible和IE=Edge,chrome=1有什么作用

    HTML Meta中添加X-UA-Compatible和IE=Edge,chrome=1有什么作用

    2021年11月6日
    49
  • Qt QStringList的简单使用方法「建议收藏」

    Qt QStringList的简单使用方法「建议收藏」从QList继承而来,它提供快速索引为基础的接入以及快速插入和清除其成员函数用于操作这个字符串列表如append(),insert(),replace(),removeAll(),removeAt(),removeFirst(),removeLast(),andremoveOne()等1.  增加字符串  可以通过append(),或使用  QString

    2022年6月4日
    98

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号