2023-02-18:ffmpeg是c编写的音视频编解码库,请问用go语言如何调用?例子是03输出版本号。

2023-02-18:ffmpeg是c编写的音视频编解码库,请问用go语言如何调用?例子是03输出版本号。

答案2023-02-18:

github.com/moonfdd/ffmpeg-go 这个库。

这是我自己写的golang绑定ffmpeg库,只依赖动态链接库,不依赖头文件,接口全部是按照头文件改过来的。

这个库目前只能用在windows上,原因是go的回调函数在c中调用,用syscall.NewCallBack函数转换成uintptr,而这个函数只支持windows操作系统。请各位高手提供下跨平台的callback转换函数,拜托了。

立即学习“go语言免费学习笔记(深入)”;

AI图像编辑器 AI图像编辑器

使用文本提示编辑、变换和增强照片

AI图像编辑器 46 查看详情 AI图像编辑器

代码参考ffmpeg5入门教程的第三个例子输出版本号,用golang改写的。

用如下命令便可查看运行结果。

代码语言:shell复制

go run ./examples/a03get_lib_version/main.go

代码用golang编写。代码如下:

代码语言:go复制

package mainimport ("fmt""os""os/exec""github.com/moonfdd/ffmpeg-go/ffcommon""github.com/moonfdd/ffmpeg-go/libavcodec""github.com/moonfdd/ffmpeg-go/libavutil")func main() {os.Setenv("Path", os.Getenv("Path")+";./lib")ffcommon.SetAvutilPath("./lib/avutil-56.dll")ffcommon.SetAvcodecPath("./lib/avcodec-58.dll")codecVer := libavcodec.AvcodecVersion()ver_major := (codecVer >> 16) & 0xffver_minor := (codecVer >> 8) & 0xffver_micro := (codecVer) & 0xfffmt.Printf("FFmpeg version is: %s .navcodec version is: %d=%d.%d.%d.n", libavutil.FFMPEG_VERSION, codecVer, ver_major, ver_minor, ver_micro)fmt.Println("---------------------------------")data, err := exec.Command("./lib/ffmpeg", "-version").Output()if err != nil {fmt.Println("ffmpeg err = ", err)}fmt.Println(string(data))}
2023-02-18:ffmpeg是c编写的音视频编解码库,请问用go语言如何调用?例子是03输出版本号。在这里插入图片描述

以上就是2023-02-18:ffmpeg是c编写的音视频编解码库,请问用go语言如何调用?例子是03输出版本号。的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/466223.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年11月8日 05:30:35
下一篇 2025年11月8日 05:31:19

相关推荐

发表回复

登录后才能评论
关注微信