Golang中国
11 回复
stevewang
#1 stevewang • 2014-10-16 00:28

你的需求是什么?

writethesky
#2 writethesky • 2014-10-16 09:10

@stevewang

我要搭建一个视频云处理服务器

转码、切片、以及音视频各项参数的调整

bigbear
#3 bigbear • 2014-10-16 09:24

我也再想这个问题, ffmpeg编译好麻烦啊, github上有cgo封装ffmpeg的项目, 有3个呢.

bigbear
#4 bigbear • 2014-10-16 09:28

楼主如果弄出来, 麻烦分享下编译过程

writethesky
#5 writethesky • 2014-10-16 09:51

@bigbear 编译确实有点麻烦,官方也有直接编译好的版本

writethesky
#6 writethesky • 2014-10-16 09:54

@bigbear github上没找到呢,搜索的关键词是什么,或者直接给我分享个链接

stevewang
#7 stevewang • 2014-10-16 09:56

没有这方面的经验。 如果I/O没问题的话,我想用第一个方案更简单更稳定。

writethesky
#8 writethesky • 2014-10-16 10:24

@stevewang 哦,我本来也是使用第一个方案进行搭建的,原因也是简单。后来了解到有人用第二个方案,感觉很复杂,所以就在想他们这么做可能是有目的,或许性能、稳定更好。 不过既然您也认为第一个方案更好,那我还是先用第一个方案去弄吧。

还有个问题想顺便请教一下,go 并行执行ffmpeg后会非常占用内存和CPU,go有没有办法监控当前的内存、CPU使用率,从而决定开几条线程去执行任务,或是否延时执行任务,以保证服务器不崩

bigbear
#9 bigbear • 2014-10-16 11:25

搜索 ffmpeg go

nwwyt2
#10 nwwyt2 • 2016-11-01 15:04

我想问下,后来实现了吗?我现在也遇到这样的需求

imjj
#11 imjj • 2016-11-01 20:02

显然第一种方案更好,相对于启动ffmpeg进程来说,ffmpeg本身的执行时间更长,所以启动进程这样的消耗几乎可以忽略不计。

如果是启动ffmpeg进程,你的go主控几乎不会占用CPU和内存,监控系统资源,不想折腾的话,用 os/exec 读取 freempstat 的输出就可以了,这两个都可以以指定间隔不断的输出系统内存和CPU占用。

需要 登录 后方可回复, 如果你还没有账号你可以 注册 一个帐号。