首页 > 后端开发 > 正文

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

2024-11-21 11:34:19 | 我爱编程网

PHP使用ffmpeg实现后台视频转码,如何监听转化的进度相关内容,小编在这里做了整理,希望能对大家有所帮助,关于PHP使用ffmpeg实现后台视频转码,如何监听转化的进度信息,一起来了解一下吧!

本文目录一览:

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

php调用dll文件里面的函数

1、首先从 www.php.net 网站上下载php源码,此处以php-5.2.17版本为例,下载后解压至E:盘根目录下(目录可以自己随意定)。
2、下载安装VC++ 6.0,因为PHP源码是利用6.0版本写的,所以使用这个版本编译不会出现意外,别的版本未测试。
3、把VC++ 6.0安装目录中的 Microsoft Visual Studio\Common\MSDev98\Bin 绝对路径添加到系统环境变量中。
4、进入E:\php-5.2.17\ext目录,复制skeleton文件夹,并重命名为要开发扩展的名字,本例为“myfun”。
5、重命名skeleton.c为myfun.c,skeleton.dsp为myfun.dsp
6、编辑myfun目录中的php_skeleton.h、myfun.c、myfun.dsp这三个文件,替换内容中所有extname为myfun,EXTNAME为MYFUN。(一定要严格区分大小写)
下面就进入到编码阶段:
7、打开php_skeleton.h文件(头文件),找到PHP_FUNCTION(confirm_myfun_compiled);,在 PHP_FUNCTION(confirm_myfun_compiled);,下面编写PHP_FUNCTION(mb_MessageBox);,声 明一个mb_MessageBox函数,此函数的作用仅是输出js弹出一个alert消息框,用于测试。
8、下面定义函数入口,打开myfun.c文件,找到PHP_FE(confirm_myfun_compiled,NULL) ;,在下面编写 PHP_FE(mb_MessageBox,NULL),此处注意一下,PHP_FE是定义的一个宏,所以后面不用加引号。
9、在myfun.c最后面编写函数的实体部分:

PHP_FUNCTION(mb_MessageBox)
{
char *arg = NULL;
int arg_len, len;
char *strg;

if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &arg, &arg_len) == FAILURE) {
return;
}

len = spprintf(&strg, 0, "<script>alert('%s')</script>",arg); //此处正是输入的js代码
RETURN_STRINGL(strg, len, 0);
}

到这代码书写就完成了,下面开始编译:
10、开始->运行,输入CMD,打开命令行窗口。
11、进入myfun的目录,输入 msdev myfun.dsp /MAKE "myfun - Win32 Release_TS",回车编译。
12、如果没有错误,在E:\php-5.2.17下会生成一个Release_TS文件夹,在里面就可以找到php_myfun.dll文件。
至此扩展dll开发完成,下面在php中进行测试:
13、把php_myfun.dll复制到原php目录中的ext文件夹内。
14、打开php.ini文件,添加当前dll的扩展 extension=php_myfun.dll
15、重启apache,在网站目录下新建一文件,输入以下内容:
<?php
echo mb_MessageBox("测试PHP扩展DLL by 马犇");
?>
浏览即可看到效果

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

PHP 'ffmpeg' 不是内部或外部命令,也不是可运行的程序 或批处理文件。

LZ,system()是执行外部程序的函数,如果你要按扩展去使用它的话,不能这么用。

ffmpeg扩展的文档地址: -php.sourceforge.net/doc/api/ 我爱编程网

若你要用system()的方法去运行FFMPEG的话(不推荐这样做),你应该首先下载一个ffmpeg

地址:

然后写成这样

system("FFMPEG安装路径/ffmpeg.exe -i 1111.amr out.mp3");

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

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

我爱编程网(https://www.52biancheng.com)小编还为大家带来PHP使用ffmpeg实现后台视频转码,如何监听转化的进度的相关内容。

如果进程是由php发起,可以直接从stdout中获得ffmpeg输出的已编码时长,除以片长得到进度百分比。
另外一种方法是,用ffmpeg的report参数打印程序输出到某个指定文件中,读取提取该文件中的已编码时长,同上,除以片长得到进度百分比....

以上就是PHP使用ffmpeg实现后台视频转码,如何监听转化的进度全部内容了,了解更多相关信息,关注我爱编程网。更多相关文章关注我爱编程网:www.52biancheng.com

免责声明:文章内容来自网络,如有侵权请及时联系删除。
标签: PHP
与“PHP使用ffmpeg实现后台视频转码,如何监听转化的进度”相关推荐
如何在php中实现ffmpeg视频转码
如何在php中实现ffmpeg视频转码

PHP下编码转换函数mb_convert_encoding与iconv的使用说明在PHP编程中,编码问题通常在处理中文数据时出现。例如,当你使用如ZendStudio或Editplus编写程序,使用GBK编码输入数据,但数据库采用UTF-8编码时,数据需要转换以避免乱码。关于如何转换,PHP提供了两个函数:`mb_convert_encoding`和`iconv`。`mb_convert_e

2024-12-15 17:27:47
java如何实现:一个一直在运行的监听程序,每当监听到数据,就把数据发给jsp页面
java如何实现:一个一直在运行的监听程序,每当监听到数据,就把数据发给jsp页面

java如何实现:一个一直在运行的监听程序,每当监听到数据,就把数据发给jsp页面方法1:可以利用ServletContext类的对象application解决,这个属于整个web应用都公用的内部对象。例如在监听器中publicclassGetConnListenerimplementsServletContextListener{//例如这个是要传的数据Stringdata="

2024-03-26 01:02:20
如何用Python实现对字符串进行频率统计?
如何用Python实现对字符串进行频率统计?

如何用Python实现对字符串进行频率统计?下面是一个Python的实现,可以输入任意字符串,统计其中元音字母(不区分大小写)出现的次数和频率:例如,输入字符串"HelloWorld!",程序会输出:这里使用了一个字符串变量vowels来保存元音字母,使用一个计数器变量count来记录元音字母出现次数,然后遍历输入的字符串s,如果当前字符是元音字母(不区分大小写),则将计数器加

2024-01-14 08:21:43
php怎么实现将对象转化为json字符串
php怎么实现将对象转化为json字符串

php中json_decode()和json_encode()的使用方法PHP中json_decode和json_encode的使用方法:一、json_encode方法json_encode函数用于将PHP变量转换为JSON字符串。它接受一个PHP的值并将其转换为JSON格式。语法如下:phpstringjson_encode示例:

2024-08-11 14:14:23
谁知道如何用纯JAVA代码播放视频文件(可以播放一种视频文件,如mp4,就可以了)
谁知道如何用纯JAVA代码播放视频文件(可以播放一种视频文件,如mp4,就可以了)

谁知道如何用纯JAVA代码播放视频文件(可以播放一种视频文件,如mp4,就可以了)你好!我们所说的mp4仅仅只是一种视频封装格式,里面的视频流却有各种编码格式!就像瓶子装水一样,“瓶子”有各种形状,如mp4aviwmvrmvb等等…而其中装的是什么液体就不一定了!所以,看似都是.mp4文件,它的编码格式可能是H.246编码,也可能是...KG70的MP4功能和JAVA能播放MP43GP

2024-06-13 23:59:31
php能实现汉字转url编码的方法吗?
php能实现汉字转url编码的方法吗?

php能实现汉字转url编码的方法吗?是的,PHP可以实现汉字转URL编码。PHP提供了内置函数来实现汉字的URL编码转换。常用的函数是urlencode,它可以对字符串进行URL编码,确保字符串中的特殊字符和非ASCII字符能够被正确转换为URL格式。汉字作为非ASCII字符,同样可以通过这个函数进行编码转换。具体解释如下:一、urlencode函数的基本用

2024-11-16 19:19:33
php 能实现汉字转url编码的方法吗?
php 能实现汉字转url编码的方法吗?

PHP下编码转换函数mb_convert_encoding与iconv的使用说明在PHP编程中,编码问题通常在处理中文数据时出现。例如,当你使用如ZendStudio或Editplus编写程序,使用GBK编码输入数据,但数据库采用UTF-8编码时,数据需要转换以避免乱码。关于如何转换,PHP提供了两个函数:`mb_convert_encoding`和`iconv`。`mb_convert_e

2025-01-30 03:18:10
php 如何实现推荐视频不重复,如何实现根据每个人行为标签随机推荐,并且不会重复出现已经推荐过的?
php 如何实现推荐视频不重复,如何实现根据每个人行为标签随机推荐,并且不会重复出现已经推荐过的?

php如何实现推荐视频不重复,如何实现根据每个人行为标签随机推荐,并且不会重复出现已经推荐过的?不管有好多种方案,你必须处理几个问题点:1、每个人的行为标签,标签是否有侧重点,如人员A,拥有3个标签,a,b,c,三个标签的比重是多少,侧重点是那个标签?2、推荐视频的话,视频对应的特点标签要记录,这个是通过标签筛选视频3、为某人推荐了视频后,要将推荐信息记录下来,后续筛选直接去重

2024-10-23 14:04:13