视频缩略图

2024-01-03

我正在开发一个人们可以提交视频链接的网站。然后我就嵌入它。但是,我想获取视频的缩略图而不将视频保存在我的服务器中。这样当我列出视频时,我可以使用缩略图而不是嵌入所有视频。

我的服务使用 PHP。假设视频为 SWF 格式。

或标签中是否有任何内容可以让我“抓取”缩略图?或者在PHP中,有什么我可以远程获取远程视频的缩略图(或帧)吗?

任何想法?


您可以使用“ffmpeg”。通过使用PHP来调用它。

shell_exec  ("ffmpeg -i \"$FILENAME.flv\" -ss 00:00:04 -f image2 \"$FILENAME.jpg\"");

很遗憾,我还没有测试过,所以先尝试一下。

EDIT: 只是为了好玩,我把它变成了一个函数。这里是:

<?php
 
function GetThumbnailFileName($FileName, $ScreenShortSecond = 10) {
    $VDOLastModifiedDate = filemtime($FileName);
    $Thumbnail_FileName  = sprintf("%s-(%s::%02d).jpg", $FileName, $VDOLastModifiedDate, $ScreenShortSecond);
     
    if (!file_exists($Thumbnail_FileName)) {
        $FFMPEG_Command = sprintf(
            "ffmpeg -i \"%s\" -y -ss \"00:00:%02d\" -f image2 \"%s\" > /dev/null 2>&1",
            $FileName, 0 + $ScreenShortSecond, $Thumbnail_FileName
        );
        system($FFMPEG_Command);
    }
     
    if (!file_exists($Thumbnail_FileName))
        return null;
     
    return $Thumbnail_FileName;
}
 
$FileName  = "Test.flv";
$Thumbnail = GetThumbnailFileName($FileName);
if ($Thumbnail != null)
     echo "Thumbnail file is: \"$Thumbnail\"\n";
else echo "Fail creating a Thumbnail of \"$FileName\".";
 
?>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

视频缩略图 的相关文章

  • 准备好的语句需要 0 个参数,给定 1 个参数..,使用 php 手册示例 [重复]

    这个问题在这里已经有答案了 我直接从 php 手册示例中获取了这个 它几乎与我需要的相同 但我仍然收到此错误 有人可以告诉我我错过了什么吗 stmt link gt prepare SELECT obitBody Photo FROM tn
  • 使用 md5 加密的 PHP 和 Mysql 查询出现问题

    我使用普通的 php mysql 插入查询并使用 md5 加密密码 这是插入查询 sql mysql query INSERT INTO user username password role approved values usernam
  • Laravel - 停止并发访问记录

    在 Laravel 中 有什么方法可以停止同时与同一条记录交互 例如 如果用户 A 正在编辑一条记录 那么我同时需要阻止用户 B 编辑同一条记录 注意 我在 Laravel 5 2 中使用 SESSION DRIVER file 目前大约有
  • 如何在 Zend Framework 中存储 cron 作业的脚本?

    因为 ZF 的所有 URL 都依赖于 mod 重写 所以我并不清楚应该在哪里存储用于 cron 作业的本地脚本 有人有什么建议 或者有 正式接受 的方式吗 我用模块化目录结构 http framework zend com manual e
  • 覆盖供应商自动加载编辑器

    有没有办法让您创建的自动加载文件在调用供应商自动加载之前运行 我们似乎遇到了 SimpleSAML 的自动加载覆盖我们创建的自动加载文件之一的问题 我是 Composer 的新手 似乎无法在网上找到任何解决方案 我尝试将我们的自动加载文件包
  • Zend IMAP 搜索和过滤器

    我如何使用 Gmail 中的过滤器进行搜索 就像获取带有特定标签的电子邮件列表或来自特定电子邮件地址的邮件列表一样 我无法在文档中找到它 注意 我使用 oAuth 进行身份验证 我希望这与搜索无关 Gmail 上的标签实际上是 从 IMAP
  • FFmpeg - 来自 NodeJS 的 RTMP 流,流比实时更快

    我的目标是在 Node 中渲染画布 并将该画布流式传输到 RTMP 服务器 最终是 Twitch 但现在我正在在本地 RTMP 服务器上测试 流式传输到 RTMP 的标准方式似乎是ffmpeg 所以我使用它 从 NodeJS 中作为子进程生
  • Node.js 中的 PHP exit()/die() 等价物是什么

    什么是 PHP die http www php net manual de function die php http www php net manual de function die php 在 Node js 中等效吗 https
  • Android GCM 服务器的 API 密钥

    我有点困惑我应该为 GCM 服务器使用哪个 API 密钥 在文档中它说使用 android api 密钥 这对我不起作用并且总是给出未经授权的 http developer android com google gcm gs html ht
  • 未捕获的异常“Google_IO_Exception”,消息为“HTTP 错误:无法连接”

    我有一个任务 查询 运行一些从 gmail 邮箱检索数据的 php 代码 直到上周五 2015 年 4 月 10 日 它一直工作正常 现在我收到以下错误日志 E 11 58 26 094 2015 04 15 200 3 38 KB 14
  • 在 Woocommerce 购物车中设置最小小计金额

    我正在尝试将最低订单金额设置为 25 美元 到目前为止 我找到了这段代码 如果未达到最低限度 它似乎可以阻止结账 但它使用的小计包含税费 我需要在总计中排除税费 add action woocommerce checkout process
  • 如何编写在正文中包含锚标记的 Zend Framework URL?

    使用 Zend Framework 中设置的标准 MVC 我希望能够显示始终具有锚点的页面 现在我只是在 phtml 文件中添加一个带有 anchor 的无意义参数
  • 使用 DOJO 自动完成文本框

    我正在寻找一种使用 DOJO 进行文本框自动建议的简单方法 我将查询的数据库表 使用 PHP 脚本 以 JSON 形式返回 有超过 100 000 条记录 因此这确实不应该采用 FilteringSelect 或 ComboBox 的形式
  • 如何在php中使用preg添加html属性

    我正在寻找在 php 中编写一个脚本来扫描 html 文档并根据它找到的内容向元素添加新标记 更具体地说 我是扫描文档并为每个元素搜索CSS标记 float right left 如果找到它 它会添加align right left 基于它
  • 将 MySQL 结果作为 PHP 数组

    mysql 表 config name config value allow autologin 1 allow md5 0 当前的 php 代码 sth mysql query SELECT rows array while r mysq
  • 如何从字符串中删除所有数字?

    我想删除字符串 0 9 中的所有数字 我写了这段有效的代码 words preg replace 0 words remove numbers words preg replace 1 words remove numbers words
  • php下拉菜单人口

    我正在尝试编写一个 php 脚本 该脚本将根据主下拉菜单的选择填充第二个下拉菜单 我想使用 jquery 来完成所有非页面刷新的事情 但我发现现有的所有东西都很难理解和修改 你知道有什么写得很好且易于理解的东西吗 或者可能是现有的教程 下面
  • mysqli bind_param 中的 NULL 是什么类型?

    我正在尝试将参数绑定到 INSERT INTO MySQLi 准备好的语句 如果该变量存在 否则插入 null 然后我知道 type variable i corresponding variable has type integer d
  • 如何使用 Google 帐户对我们网站中的用户进行身份验证

    如何在我们的网站中使用 Google 帐户对用户进行身份验证 我希望用户重定向到谷歌登录页面 然后将他重定向到我的网站 我想要这个 PHP 实现 你要OAuth http code google com apis accounts docs
  • 在 PHP 中模拟 jQuery.ajax 请求

    我必须在 PHP 中模拟 AJAX 请求 就像在 jQuery 中一样 我当前的代码在这里 原始 AJAX 调用 不得修改 ajax type POST url someFile php data data success function

随机推荐

  • ListPopupWindow 不遵守 WRAP_CONTENT 宽度规范

    我正在尝试使用 ListPopupWindow 通过ArrayAdapter 最终这将是一个更复杂的自定义适配器 代码如下 如截图所示 得到的结果ListPopupWindow看起来就像内容宽度为零一样 它显示了正确的项目数量 这些项目仍然
  • HighCharts - 将系列与值而不是百分比进行比较

    只需一个简单的答案 是否有一种简单的方法可以比较一系列值而不是百分比 像 比较 值 而不是 比较 百分比 之类的东西 或者我是否必须手动添加给定时间间隔的数据点 谢谢 是的 但该选项称为value 来自绘图选项 系列 比较 http api
  • 会话重放、会话固定、会话劫持

    谁能明确区分会话固定 会话重放和会话劫持攻击吗 我读了很多文章 但会话劫持和会话重放攻击之间的问题仍然不清楚 固定和劫持最终都有相同的目标 获得会话的访问权限 它们的区别仅在于实现这一目标的方式不同 会话劫持的行为很简单stealing现有
  • Jekyll:javascript 中的液体标签

    假设我有两个链接 所有帖子 和 个人 当用户单击 个人 链接时 他应该只能看到类别为 个人 的帖子 现在 液体标签是 for post in site posts 我想了解是否有办法访问该变量site posts来自 javascript
  • 构造函数内的 Try/catch 块

    在构造函数中使用 try catch 块是一种不好的编程习惯吗 或者只要我们的程序优雅地处理类型初始化器异常就没有什么区别 在 C 中 如果构造函数内有任何异常 框架总是会抛出 typeinitilizer 异常 谢谢 沙米卡 System
  • 随机化数组的有效方法 - Shuffle 代码

    我在面试中被问到这个问题 我给出了各种解决方案 但面试官并不相信 我有兴趣找到解决方案 请提出您的看法 问 编写一个高效的数据结构来实现 ipod 中的 shuffle 它必须播放所有歌曲 每次以不同的随机顺序播放 同一首歌曲不应重复 大部
  • 将 GitLab CI 变量写入文件

    我如何将 GitLab CI 变量写入配置文件 如下所示 test stage test script touch config json echo database DB NAME gt gt config json 变量无法解决 我总是
  • 如何在 Mac 10.8.3 上安装 qpdf?

    跑步时R CMD check在 Mac 构建服务器上的包上 我收到警告 qpdf is needed for checks on size reduction of PDFs 我似乎无法得到qpdf http sourceforge net
  • 自定义 SQL GROUP BY 子句

    我有一个非常定制的 SQL 查询 但在实现时遇到问题 我正在使用 SQL Server 2008 我在此查询中只有一张表 但我正在寻找非常具体的数据 该查询的要求是 对于每个不同的 PartNumber 列 我需要选择要选择的最新 最大 P
  • 如何让 LINQ 全外连接正常运行?

    我正在构建一个 WPF 应用程序来监视用户计算机上的目录 该应用程序从受监控的目录上传文件 然后将一些信息保存到 SQLite 数据库中 部分业务处理是对已经上传的文件不重新处理 对已经上传但自上次上传后发生变化的文件重新上传 我有两个构建
  • 在 C++ 中将值从 X 更改为 X 会导致数据争用吗?

    我有可处理具有不同布局的大数据块的代码 布局将决定哪些数据是固定的 哪些数据是不固定的 一旦数据被固定在一个块中 它通常就不会再改变 所以所有读取数据的代码总是会看到相同的数据 但是 其他服务可以在这些块中进行更改 只要它们确定没有代码将读
  • 如何扩展 Phaser 3 游戏及其资产以使其在智能手机和平板电脑上运行?

    我刚开始使用 Phaser 3 和 Apache C rdova 创建移动 Android 游戏 我创建了一个 1200 x 800 像素的游戏 它在平板电脑上看起来不错 但在智能手机上却不然 如何缩放它以适应多种屏幕尺寸 此外 我需要帮助
  • Sencha touch 2:在itemTpl中获取项目索引

    在XTemplate的文档中 可以使用 来获取当前数组索引 当我在 xlist 的 itemTpl 中使用它时 我总是得到 1 而不是索引 xtype list store myStore itemTpl new Ext XTemplate
  • 多个项目和一种解决方案有什么好处? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 如何在 this(...) 或 super(...) 之前“插入”代码?

    有没有办法在调用之前进行初步计算super or this 构造函数 考虑以下示例 public class Test private final int n private final int m private final int st
  • 使用 JUnit 5 并行执行测试用例

    是否可以与 JUnit 5 并行执行测试用例 我正在寻找类似的东西threadPoolSize and invocationCount from TestNG http testng org doc documentation main h
  • 为 string.Contains 构建表达式树[重复]

    这个问题在这里已经有答案了 我正在努力构建一个表达式树 以便我可以动态地对某些数据进行过滤 我已经想出了这个 但它失败了var lambda line foreach var rule in request Where Rules var
  • 是什么使 Bean 成为 CDI Bean?

    例如 在这个问题的最佳答案中 Java EE 6 javax annotation ManagedBean 与 javax inject Named 与 javax faces ManagedBean https stackoverflow
  • 空类构造函数(样式)

    什么是定义不需要任何构造函数参数的类的 Pythonic 方法 class MyClass class body 或者我们需要一个显式的构造函数吗 IE class MyClass def init pass class body 您的第一
  • 视频缩略图

    我正在开发一个人们可以提交视频链接的网站 然后我就嵌入它 但是 我想获取视频的缩略图而不将视频保存在我的服务器中 这样当我列出视频时 我可以使用缩略图而不是嵌入所有视频 我的服务使用 PHP 假设视频为 SWF 格式 或标签中是否有任何内容