【问题标题】:Take a snapshot of a flv video with php/js/as3使用 php/js/as3 拍摄 flv 视频的快照
【发布时间】:2011-10-31 15:47:17
【问题描述】:
我正在开发一个托管在共享 linux 服务器上的 php 网站。
我需要允许我网站的用户使用 flowplayer 上传和播放 flv 视频。
在视频开始之前显示视频快照会很棒,例如:http://flowplayer.org/demos/plugins/streaming/first-frame.html
我的服务器不支持伪流,也不支持 ffmpeg/mplayer(毕竟是共享主机...)
我在猜测如何仅使用 php 或 javascript 或动作脚本拍摄视频的第 n 帧快照。
我在 flash >= 8 中阅读了一些关于 bitmapdata 类的内容,但我不知道如何在没有用户输入的情况下自动完成所有工作。
有人可以帮我吗?
谢谢。
【问题讨论】:
标签:
php
actionscript-3
flv
snapshot
【解决方案1】:
AFAIK - 如果您的服务器没有 ffmpeg,您将无法使用 PHP。
你绝对不能用 JS 来做。
留下 AS - 你可以从任何显示对象创建位图,然后用 PHP 将其保存为图像文件,这两者都非常简单 - 但是你'将无法通过视频找到第一帧...对于 AS,图像“快照”是显示对象的确切当前可见状态。
如果这足够了 - 获取显示对象的当前状态并将其保存为图像文件 - 发回,我将链接一个示例。
【解决方案2】:
如果您在共享 Linux 服务器上,则可能安装了 ImageMagick。这反过来可能能够从电影中提取特定帧的屏幕截图。然而,这可能只适用于 AVI 文件 - MPEG 电影需要 ffmpeg,而且我不确定 FLV 文件(它们不在 IM 网站上支持的格式列表中)。
你能切换到 VPS 吗?这将为您提供安装所需转换二进制文件所需的 root 访问权限。如今,根据质量和支持,具有 256M-512M 内存的合理设备将花费您 5 美元 pcm(我为 512M 盒子支付 4GBP pcm,它确实坚如磐石)。