如何从头开始创建MP4视频?

时间:2016-03-16 12:08:08

标签: go gif mp4

我正在尝试使用Go将服务转换为MP4。

对于GIF,有一个内置包“image / gif”,其中包含解码GIF的工具。

但是MP4没有这样的包。

所以我正在考虑自己创建MP4文件。

解码GIF后,我可以访问其图像和参数,如延迟,所以如果我找出像“MP4文件的模板”这样的东西,我可以使用这些信息创建一个,对吗?

1 个答案:

答案 0 :(得分:1)

Mp4不是视频数据的通用标准。它现在有几十种称为MPEG-4的标准。但如果你的意思是.Mp4大多数时候你的意思是某个容器中的H.264。 正确实施H.264(与现成解决方案一样快速和稳定)是非常艰苦的工作,需要先进的计算机科学技能,专业编程技能,H.264相关标准的专业知识,以及很多时间您可以在国际电联网站上找到的草案包含671页,并且它引用了少数(或几十个)其他标准。 另一个坏消息:标准草案不是现行标准。你需要买它。 H.264实现的一些方面:帧数据压缩,熵编码,代码校正,视频滤波器,颜色配置文件。所有这些都是非常复杂的事情。

那么为什么不尝试使用ffmpeg呢? 您可以使用" os / exec"执行ffmpeg可执行文件。包:

out, err := exec.Command("ffmpeg", "-f", "gif", "-i", gifFileName, mp4FileName).Output()

甚至尝试使用ffmpeg绑定go https://github.com/giorgisio/goav

使用现成的解决方案可以节省多年的工作量;)