在浏览器中运行ffmpeg - 选项?

24

我需要创建一个网络应用程序,它将利用FFmpeg进行合成和转换视频源。我找到了videoConverter.js。https://bgrins.github.io/videoconverter.js/

有没有其他选择? 我能使用C#解决方案吗?


绝对没有办法在浏览器中运行FFmpeg。即使使用emscripten,大多数库也无法在浏览器中运行。C#也不能在浏览器中运行。您确定一定要在浏览器中运行吗?为什么不能将其传递给服务器来完成工作?如果不行,为什么一定要使用FFmpeg? - Brad
绝对没有办法在浏览器中运行FFmpeg。即使使用emscripten也不行。你有看过videoconverter.js库吗? - Bachalo
我已经尝试过了,虽然这是一个非常好的实验,但它不适用于生产使用。我应该澄清一下我的意思...你所要求的是一个真正的项目中会用到的东西,对吗?如果是这样,那么你很快就会发现像FFmpeg编译成JavaScript这样的速度是行不通的。根据你使用的部分,你还会发现一些库和编解码器缺失。即使你使用他们的演示,你也会看到我在说什么。本地编解码器要快得多。 - Brad
如果你能更详细地解释一下你想要做什么(以及为什么你认为FFmpeg是唯一的解决方案),那么也许我们可以帮助你找到另一种方法。对于合成,画布可以非常灵活。转换……从什么到什么,目的是什么? - Brad
1
时间在流逝,WebAssembly已经进入了我们的视野,因此我相信未来会出现一种改变游戏规则的转换器。 - DaWe
3个回答

26

其实,5年后你可以在浏览器中运行ffmpeg。

请查看https://github.com/ffmpegwasm/ffmpeg.wasm

"ffmpeg.wasm 是 FFmpeg 的纯WebAssembly / JavaScript移植版本。它使得视频和音频的录制,转换和流媒体处理可以直接在浏览器中进行。"


2
True。您还可以查看有人做了同样的事情的帖子。https://news.ycombinator.com/item?id=26580333 - Austin Burke
目前许多移动浏览器还不支持运行此程序。 - AHmedRef

2

如果你直接在浏览器中运行这样的东西,会非常困难,即使你这样做了,也需要大量的代码。我建议构建一个小型Web应用程序,它位于服务器上,并将媒体文件作为参数以及要传递的任何配置选项,让ffmpeg在服务器上处理所有繁重的工作,而不必重新发明轮子,然后返回修改后的媒体文件。我曾经做过类似的事情,效果非常好,最终是一个非常小型,轻量级的应用程序。


1
但是服务器怎么办?如果您的应用程序用户超过1000K,那么我认为它会给服务器带来很大的负载,因此在这种情况下我们需要从客户端使用。那么如何在浏览器中或作为JS使用ffmpeg呢? - kunal shaktawat

-2
这里有另一个灵感:https://ffmpeg.wide.video/ 浏览器中的FFmpeg可以让您在Web浏览器中对视频进行编码、解码和操作。定义自定义参数或使用预定义模板,直接从文件系统加载文件 - 无需上传!

这不是答案,但实际上是一些有帮助的东西。 - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接