分享
  1. 首页
  2. 文章

golang直接调用ffmpeg预编译类库(windows)

yang8023tao · · 9269 次点击 · · 开始浏览
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

MinGW介绍

MINGW(Minimalist GNU on Windows)是一个可以在windows下编译Linux程序的仿真linux编译环境,他提供了linux下的C、C++头文件、系统库和一些linux下的编译工具集合,例如gcc、g++和make工具。使得编译出来的二进制可以在windows上运行。(此前的 cygwin 虽然也是 GNU 的 Windows 移植,但是 cygwin 是有版权的,不是 GNU)

MinGW下载

【MinGW】
http://sourceforge.NET/projects/mingw/

【MinGW环境变量配置】
http://jingyan.baidu.com/article/6b97984da0bd8a1ca2b0bf90.html

下载最新的MinGW,运行后他会根据你实际选择需要安装的工具集另行下载这些包,比如gcc、g++之类的。
运行MinGW.exe: 默认安装到C:\MinGW目录下
一般来说工具集选择以下三个就足够了:
MinGW base tools //基本的gcc 编译器
g++ compiler //g++编译器
MingGW Make //Make工具
测试是否安装成功? 
命令行中输入gcc --version或gcc --version后如果出现正确的版本信息就说明 PATH 路径OK了

FFmpeg预编译库下载

http://ffmpeg.zeranoe.com/builds/网站上

1.下载Dev版本,里面包含了ffmpeg的xxx.h头文件以及xxx.lib库文件。
2.下载Shared版本,里面包含了ffmpeg的dll文件。
3.解压之后,
 * 把dev版本文件夹中的Include和lib目录整个儿复制合并到C:\MinGW目录下。
 * 将share版本文件夹中bin目录下对应的所有dll复制合并到C:\MinGW项目路径下

Golang程序

package main
/*
#cgo LDFLAGS: -llibavformat -llibavcodec -llibavutil -llibavdevice -llibavfilter -llibswresample -llibswscale
#include <libavformat/avformat.h>
#include <libavcodec/avcodec.h>
#include <libavutil/avutil.h>
#include <libavutil/opt.h>
#include <libavdevice/avdevice.h>
static const AVStream *go_av_streams_get(const AVStream **streams,unsigned int n)
{
 return streams[n];
}
*/
import "C"
import (
 "fmt"
)
func main() {
 fmt.Println(C.avdevice_version())
}

参考FFmpeg封装类,以便扩展

https://github.com/imkira/go-libav
https://github.com/giorgisio/goav


有疑问加站长微信联系(非本文作者)

本文来自:CSDN博客

感谢作者:yang8023tao

查看原文:golang直接调用ffmpeg预编译类库(windows)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

关注微信
9269 次点击
暂无回复
添加一条新回复 (您需要 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传

用户登录

没有账号?注册
(追記) (追記ここまで)

今日阅读排行

    加载中
(追記) (追記ここまで)

一周阅读排行

    加载中

关注我

  • 扫码关注领全套学习资料 关注微信公众号
  • 加入 QQ 群:
    • 192706294(已满)
    • 731990104(已满)
    • 798786647(已满)
    • 729884609(已满)
    • 977810755(已满)
    • 815126783(已满)
    • 812540095(已满)
    • 1006366459(已满)
    • 692541889

  • 关注微信公众号
  • 加入微信群:liuxiaoyan-s,备注入群
  • 也欢迎加入知识星球 Go粉丝们(免费)

给该专栏投稿 写篇新文章

每篇文章有总共有 5 次投稿机会

收入到我管理的专栏 新建专栏