好得很程序员自学网
  • 首页
  • 后端语言
    • C#
    • PHP
    • Python
    • java
    • Golang
    • ASP.NET
  • 前端开发
    • Angular
    • react框架
    • LayUi开发
    • javascript
    • HTML与HTML5
    • CSS与CSS3
    • jQuery
    • Bootstrap
    • NodeJS
    • Vue与小程序技术
    • Photoshop
  • 数据库技术
    • MSSQL
    • MYSQL
    • Redis
    • MongoDB
    • Oracle
    • PostgreSQL
    • Sqlite
    • 数据库基础
    • 数据库排错
  • CMS系统
    • HDHCMS
    • WordPress
    • Dedecms
    • PhpCms
    • 帝国CMS
    • ThinkPHP
    • Discuz
    • ZBlog
    • ECSHOP
  • 高手进阶
    • Android技术
    • 正则表达式
    • 数据结构与算法
  • 系统运维
    • Windows
    • apache
    • 服务器排错
    • 网站安全
    • nginx
    • linux系统
    • MacOS
  • 学习教程
    • 前端脚本教程
    • HTML与CSS 教程
    • 脚本语言教程
    • 数据库教程
    • 应用系统教程
  • 新技术
  • 编程导航
    • 区块链
    • IT资讯
    • 设计灵感
    • 建站资源
    • 开发团队
    • 程序社区
    • 图标图库
    • 图形动效
    • IDE环境
    • 在线工具
    • 调试测试
    • Node开发
    • 游戏框架
    • CSS库
    • Jquery插件
    • Js插件
    • Web框架
    • 移动端框架
    • 模块管理
    • 开发社区
    • 在线课堂
    • 框架类库
    • 项目托管
    • 云服务

当前位置:首页>CMS系统>Dedecms
<tfoot draggable='sEl'></tfoot>

php支持ffmpeg php支持两种数组

很多站长朋友们都不太清楚php支持ffmpeg,今天小编就来给大家整理php支持ffmpeg,希望对各位有所帮助,具体内容如下:

本文目录一览: 1、 windows php怎么使用ffmpeg 2、 php 怎么使用linux下的ffmpeg 3、 如何在php中实现ffmpeg视频转码 4、 PHP使用ffmpeg实现后台视频转码,如何监听转化的进度 5、 怎样在windows下配置ffmpeg-php 6、 php5.6 怎么安装 ffmpeg扩展 windows php怎么使用ffmpeg

Windows下FFmpeg快速入门

FFmpeg简介

FFmpeg是什么?

FFmpeg是用于录制、转换和流化音频和视频的完整解决方案,

包括

libavcodec

,一套领先的音/视频编解码类库。FFmpeg

在Linux上开发,当可以在大多数操作系统下编译,包括Windows。

Note

FFmpeg对GCC的依赖很强,所以就算是在Windows上,

用VC编译FFmpeg也不是一件轻松的事情。请尽量使用

GCC来编译FFmpeg,比较事半功倍。

FFmpeg的组成结构

FFmpeg主要由一下几个部分组成:

libavcodec:

一个包含了所有FFmpeg音视频编解码器的库。

为了保证最优性能和高可复用性,大多数编解码器从头开发的。

libavformat:

一个包含了所有的普通音视格式的解析器和

产生器的库。

ffmpeg:命令行的视频格式转换程序。

ffplay:视频播放程序。(需要SDL支持)

ffserver:多媒体服务器

三个实例程序,这三个实例较为复杂,基本可以作为API使用手册:

了解完组成结构后,你会发现,如果你在寻找一种视频格式转换

的方式,那FFmpeg绝对是你的第一选择,libavcodec

则又是重

中之重。如果遇上API不会使用的情况,可以参考ffmpeg.c、ffplay.c、

ffserver.c、apiexample.c(解码)和output_example.c(编码)。

FFmpeg的编译

要使用FFmpeg,第一步就是编译,编译FFmpeg是一个复杂的过程,如果你想加快速度,领略FFmpeg

的风采,则可以跳过这一步,直接进入下一章节。

FFmpeg的SDK

FFmpeg是一个复杂的工程,第一步编译,特别是Windows下的编译

过程,更是复杂。

因此,好心的网友提供了Windows下编译好的

dll和lib库文件,以及相关的头文件。新手们则可直接下载,并开始编写

FFmpeg库的程序了。

以上两者已经足以完成FFmpeg的入门,最新的SDK版本是3.0,

对应于FFmpeg的版本是

r10087。新手们可以从编译源代码库中的

output_example.c开始,同时参考

SDK入门宝典

。

编译output_example.c的时候需要注意以下问题:

VC的是不支持C语言中的inline,所以可以把相关的inline删除。

对于snprintf的支持,可以考虑下载

snprintf.h和snprintf.c放入工程中。

php 怎么使用linux下的ffmpeg

格式转换 (将file.avi 转换成output.flv)

C代码

#ffmpeg -i file.avi output.flv

-i 表示输入文件

:现在有个视频video.avi,有个音频 audio.mp3,将其合并成output.avi

两个命令(file.avi 是中间文件,用完可删)

C代码

#ffmpeg -i video.avi -vcodec copy -an video2.avi

#ffmpeg -i video2.avi -i audio.mp3 -vcodec copy -acodec copy output.avi

-i 表示输入文件

-vcodec copy 表示 force video codec (‘copy’ to copy stream) 这个不知怎么译 ,估计是直接copy

-acodec copy 这个说的应该是音频了 跟上面一样

-an:表示 disable audio 估计是audio no 之类的缩写,表示去掉video.avi 原有的音频

如何在php中实现ffmpeg视频转码

具体代码如下:

<?php

$ch = curl_init();

$timeout = 5;

curl_setopt ($ch, CURLOPT_URL, '');

curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);

curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);

$file_contents = curl_exec($ch);

curl_close($ch);

echo $file_contents;

?>

PHP 独特的语法混合了C、Java、Perl以及PHP自创的语法。

它可以比CGI或者Perl更快速地执行动态网页。用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML(标准通用标记语言下的一个应用)文档中去执行,

执行效率比完全生成HTML标记的CGI要高许多;

PHP还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快。

PHP使用ffmpeg实现后台视频转码,如何监听转化的进度

如果进程是由php发起,可以直接从stdout中获得ffmpeg输出的已编码时长,除以片长得到进度百分比。

另外一种方法是,用ffmpeg的report参数打印程序输出到某个指定文件中,读取提取该文件中的已编码时长,同上,除以片长得到进度百分比....

怎样在windows下配置ffmpeg-php

首先介绍下我使用的集成环境wamp。

PHP: php5.2.6

Apache: apache2.2.8

1.下载ffmpeg-php

2. 解压ffmpeg-php-win32-all.zip 后有下面几个文件:

avcodec-51.dll

avformat-51.dll

avutil-49.dll

php_ffmpeg.dll

pthreadGC2.dll

3. 将四个文件拷贝到windows\system32文件夹下面(小插曲:之前自己再配置时候按照网上的文章只拷贝两个文件 avcodec-51.dll, avformat-51.dll到这个文件,结果发现并不能配置成功。后来将后面avutil-49.dll, pthreadGC2.dll全部拷贝过去就成功了,很有可能这四个文件是有一定关联使用的。)

avcodec-51.dll, avformat-51.dll, avutil-49.dll, pthreadGC2.dll

4. 然后需要到apache\bin文件下找到php.ini文件下允许使用dll文件加入extension=php_ffmpeg.dll 并允许 extension=php_gd2.dll, extension=php_gettext.dll这两个

改动后如下(去掉前面的分号就代表允许执行)

extension=php_gd2.dll

extension=php_gettext.dll

extension=php_ffmpeg.dll

5. 重新启动wamp后使用phpinfo()函数看到一下信息配置: //我两个环境一个apache一个IIS,iis不用重启就生效了,apache没试不知道, add by aboc

ffmpeg

ffmpeg-php version 0.5.2.1

libavcodec version Lavc51.43.0

libavformat version Lavf51.12.2

ffmpeg-php gd support enabled

以上就表明ffmpeg在php环境中配置成功了。

6. 下面我们建立一个php的页面来测试是不是可以使用ffmpeg的一些函数功能。建立testvideo.php文件

代码如下:

<?php

extension_loaded('ffmpeg'); //可不要

$ffmpegInstance = new ffmpeg_movie('C:\wamp\www\top10.mp4'); //这里要用绝对路径

echo "getDuration: " . $ffmpegInstance->getDuration()."<br>" .

"getFrameCount: " . $ffmpegInstance->getFrameCount()."<br>" .

"getFrameRate: " . $ffmpegInstance->getFrameRate()."<br>" .

"getFilename: " . $ffmpegInstance->getFilename()."<br>" .

"getComment: " . $ffmpegInstance->getComment()."<br>" .

"getTitle: " . $ffmpegInstance->getTitle()."<br>" .

"getAuthor: " . $ffmpegInstance->getAuthor()."<br>" .

"getCopyright: " . $ffmpegInstance->getCopyright()."<br>" .

"getArtist: " . $ffmpegInstance->getArtist()."<br>" .

"getGenre: " . $ffmpegInstance->getGenre()."<br>" .

"getTrackNumber: " . $ffmpegInstance->getTrackNumber()."<br>" .

"getYear: " . $ffmpegInstance->getYear()."<br>" .

"getFrameHeight: " . $ffmpegInstance->getFrameHeight()."<br>" .

"getFrameWidth: " . $ffmpegInstance->getFrameWidth()."<br>" .

"getPixelFormat: " . $ffmpegInstance->getPixelFormat()."<br>" .

"getBitRate: " . $ffmpegInstance->getBitRate()."<br>" .

"getVideoBitRate: " . $ffmpegInstance->getVideoBitRate()."<br>" .

"getAudioBitRate: " . $ffmpegInstance->getAudioBitRate()."<br>" .

"getAudioSampleRate: " . $ffmpegInstance->getAudioSampleRate()."<br>" .

"getVideoCodec: " . $ffmpegInstance->getVideoCodec()."<br>" .

"getAudioCodec: " . $ffmpegInstance->getAudioCodec()."<br>" .

"getAudioChannels: " . $ffmpegInstance->getAudioChannels()."<br>" .

"hasAudio: " . $ffmpegInstance->hasAudio();

?>

7.执行后如果拿到视频的一些信息如下就表示环境配置成功了,那我们就可以开始开发我们的视频转换了。

执行结果:

getDuration: 811.13336181641

getFrameCount: 12167

getFrameRate: 15

getFilename: C:\wamp\www\top10.mp4

getComment:

getTitle:

getAuthor:

getCopyright:

getArtist:

getGenre:

getTrackNumber: 0

getYear: 0

getFrameHeight: 240

getFrameWidth: 320

getPixelFormat: yuv420p

getBitRate: 269769

getVideoBitRate:

getAudioBitRate:

getAudioSampleRate: 48000

getVideoCodec: mpeg4

getAudioCodec: mpeg4aac

getAudioChannels: 2

hasAudio: 1

视频截图的话如下方法: //add by aboc

$ff_frame = $ffmpegInstance->getFrame(rand(1,$ffmpegInstance->getFrameCount())); //随机截取某一帧

$gd_image = $ff_frame->toGDImage();

imagejpeg($gd_image,'/data/upload/help/202303/13/1a18217e42ba5a0a955c074be11c216d.jpg');

imagedestroy($gd_image);

echo '<img src="/data/upload/help/202303/13/1a18217e42ba5a0a955c074be11c216d.jpg" />';

php5.6 怎么安装 ffmpeg扩展

下载ffmpeg-php扩展包和ffmpeg.exe,解压后有以下文件

avcodec-51.dll

avformat-51.dll

avutil-49.dll

php_ffmpeg.dll

pthreadGC2.dll

将四个文件拷贝到windows/system32目录下

将php_ffmpeg.dll拷贝到php的ext目录下。

然后需要到apache/bin文件下找到php.ini文件下允许使用dll文件加入extension=php_ffmpeg.dll

extension=php_gd2.dll

extension=php_gettext.dll

extension=php_ffmpeg.dll

重启apache,输出phpinfo();方法查看环境配置

测试

关于php支持ffmpeg的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。

查看更多关于php支持ffmpeg php支持两种数组的详细内容...

声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://haodehen.cn/did168822
更新时间:2023-04-11   阅读:35次

上一篇: php日期加几天 php时间戳加30天

下一篇:php实习需要自带电脑吗 php要学吗

相关资讯

最新资料更新

  • 1.Dedecms实现列表缩图添加alt锚文本信息的解决方法
  • 2.DEDECMS教程:去除列表页文章标题加粗标签的方法
  • 3.详解织梦模板DEDE首页列表页AJAX无限加载瀑布流修正版
  • 4.dedecms如何在列表页调用body内容字段的方法示例
  • 5.织梦DeDeCMS动态热点文章排行调用方法
  • 6.修改dedecms文章标题长度限制的方法
  • 7.dede网站内容页如何调取栏目页标题及关键字组合为seo标题
  • 8.dedecms v5.7与v5.6栏目增加缩略图的方法
  • 9.dedecms实现任意页面调用当前会员信息的方法
  • 10.DEDE在图集列表中调出图集的所有图片
  • 11.dedecms首页调用随机文章及自动更新功能实例
  • 12.dedecms 图片页面分离简单方法
  • 13.dede调用文章第一张图片(非缩略图)的实现方法
  • 14.dedecms内容模型自定义字段在{dede:arclist}中调用不显示的解决方法
  • 15.dedecms实现将表单订单发送到邮箱实例代码
  • 16.详解火车头采集器免登录采集数据发布到DEDECMS织梦的方法
  • 17.dedecms列表页与详情页调用tag标签的方法
  • 18.织梦DedeCms取消后台登陆验证码的方法示例
  • 19.dedecms批量更新静态时提示:没有该栏目数据 可能缓存的解决方法
  • 20.Dedecms实现自动统计当前栏目文档总数的方法

CopyRight:2016-2025好得很程序员自学网 备案ICP:湘ICP备09009000号-16 http://haodehen.cn
本站资讯不构成任何建议,仅限于个人分享,参考须谨慎!
本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。
本网站刊载的所有内容(包括但不仅限文字、图片、LOGO、音频、视频、软件、程序等)版权归原作者所有。任何单位或个人认为本网站中的内容可能涉嫌侵犯其知识产权或存在不实内容时,请及时通知本站,予以删除。

网站内容来源于网络分享,如有侵权发邮箱到:kenbest@126.com,收到邮件我们会即时下线处理。
网站框架支持:HDHCMS   51LA统计 百度统计
Copyright © 2018-2025 「好得很程序员自学网」
[ SiteMap ]