使用ffmpeg而不是flvmdi将元数据添加到flv文件

时间:2012-06-23 13:41:10

标签: php flash ffmpeg metadata netstream

我已经使用netstream为Flash flv电影制作了一个播放器,但它需要一些名为“keyframe”的元数据信息,其中包含两个时间和位置数组,有些flv视频有这个元数据,有些则没有,我可以添加关键帧使用名为“flvmdi”的程序和播放器工作正常的元数据,但由于某些原因我无法在我的服务器上安装此软件。 我知道我们可以在PHP中使用ffmpeg函数为电影添加元数据。 我可以在PHP中使用ffmpeg函数将关键帧数组作为元数据添加到flv文件中吗? 我们如何在php中使用ffmpeg为数组注入flv文件?

1 个答案:

答案 0 :(得分:-1)

使用 ffmpeg 可以插入保留的关键帧 视频(-vcodec拷贝)/音频(-acodec拷贝)编解码器,以可变间隔插入关键帧。

e.g;每1秒: -g 1

ffmpeg -i /INPUT.FLV -acodec copy -vcodec copy -copyts -g 1 /OUTPUT.FLV

将命令分解为变量并修改输入和输出文件/路径,调整-g的值;

$interval = 1;                       // 1sec
$pI = '/usr/local/www/sitex/upload'; // Input
$pO = '/usr/local/www/sitex/encode'; // Output
$fI = 'inp.flv';
$fO = 'out.flv';

    ffmpeg -i $pI+$fI -acodec copy -vcodec copy -copyts -g $interval $pO+$fO