FFMPEG commands in JavaScript
是否可以使用以下命令:ffmpeg -i video_1920.mp4 -vf scale = 640:360 video_640.mp4 -hide_banner以降低纯JavaScript中视频的分辨率。 例如,我有一个下拉菜单,其中有标记,因此我想通过单击带有JS的菜单超链接来选择视频质量。 如何正确实施,请提供帮助。
-
您不应该对结果的描述提出疑问。 显示您尝试过的内容以及失败之处。
-
我不知道如何用JS来实现这一点。在Windows上没有很多在js中使用ffmpeg的示例。
-
您是说从服务器端js(例如node.js服务器)调用ffmpeg吗? 看看stackoverflow.com/questions/21921790/可能有帮助
-
我只是问是否可以写那行并将其转换为JS变量?就像var ResolutionChange = ffmpeg -i video_1920.mp4 -vf scale = 640:360 video_640.mp4 -hide_banner以便以后使用。
-
您预计该ffmpeg会在哪里运行? 在您的服务器,PC或移动设备上?
-
在我的服务器上(网站)
如果您想在浏览器中进行工作,即在用户计算机上而不是在服务器上进行工作,那么有许多项目可以用Javascript提供ffmpeg包装器。 我相信,这是目前最受欢迎的一个:
-
https://github.com/Kagami/ffmpeg.js?files=1
您将需要进行一些测试-视频处理需要大量计算,并且可能无法在浏览器中正常运行。
如果您想在服务器端执行此操作,例如在基于Javascript的服务器(例如node)中,那么再次有可用的库-例如:
-
https://github.com/fluent-ffmpeg/node-fluent-ffmpeg
-
不,我想在服务器上将1个高清视频分成4种分辨率格式,然后用JS在Dropbox菜单中选择了该格式。但是我不知道如何实现该=(
-
您是说要实施ABR方法-即让视频播放器为网络条件选择最佳分辨率吗?还是只希望用户手动进行操作?请注意,大多数常见播放器使用的ABR方法将允许用户无论如何手动选择比特率。
-
好吧,如果您只是想简单地使用静态视频文件,则可以拥有4个不同的视频文件,并使用JavaScript将视频元素的src更改为用户选择的任何一个。如果您希望使用ABR方法,那么在使用通用播放器(例如Shaka或dash.js)时,您将无需执行任何操作,因为它们通常可以选择手动构建,但是您需要注意服务器站点要复杂得多,您可能要使用专用的流服务器或流服务。
-
我只是想这样:当用户以HD格式加载视频文件时,我的php脚本中的FFMPEG插件会将HD分辨率分为几个较低的分辨率(因此服务器上会有几个视频分辨率)。该视频并选择质量,我向他加载了更喜欢的分辨率。我只是想实现它,但我不知道如何。对不起我的英语不好。
-
好了,您可以使用上面的服务器ffmpeg库,并运行ffmpeg命令自己创建每个比特率,然后将其静态存储。您可以在此处看到一些示例命令:trac.ffmpeg.org/wiki/Creating%20multiple%20outputs。如果您确实想使用ABR,那么使用DASH就是一个很好的例子:bitmovin.com/mp4box-dash-content-generation-x264