由ffmpeg-php转换的FLV中缺少视频长度

时间:2009-10-07 16:24:07

标签: ffmpeg video-processing

我在我的CentOS服务器上使用ffmpeg-php将MP4视频转换为FLV(没有flvtool2的干预,因为它没有安装)。

创建了FLV视频,但没有播放器能够检索视频持续时间,这在尝试搜索视频时会产生严重问题。我正在使用由Moyea的Flash Video MX Pro创建的播放器,但问题也发生在其他FLV播放器上,所以我确定ffmpeg-php没有使用适当的长度数据创建FLV。

我的MP4视频是兼容的,因为ffmpeg-php可以从那时起正确获取视频长度,但它不会将该长度信息应用​​到FLV文件中。我假设flvtool2仅用于检索元数据并且与输出FLV视频长度无关,请告诉我这是否正确。

我用于转换的命令:

$command = "ffmpeg -i myvideo.mp4 -ar 22050 -ab 64k -f flv -s 320x240 -y myvideo.flv";
$result = @shell_exec($command);

这是我的ffmpeg-php版本:

FFmpeg version 0.5, Copyright (c) 2000-2009 Fabrice Bellard, et al.
  configuration: --prefix=/usr --libdir=/usr/lib64 --shlibdir=/usr/lib64 --mandir=/usr/share/man --incdir=/usr/include --extra-cflags=-fPIC --enable-libamr-nb --enable-libamr-wb --enable-libdirac --enable-libfaac --enable-libfaad --enable-libmp3lame --enable-libtheora --enable-libx264 --enable-gpl --enable-nonfree --enable-postproc --enable-pthreads --enable-shared --enable-swscale --enable-x11grab
  libavutil     49.15. 0 / 49.15. 0
  libavcodec    52.20. 0 / 52.20. 0
  libavformat   52.31. 0 / 52.31. 0
  libavdevice   52. 1. 0 / 52. 1. 0
  libswscale     0. 7. 1 /  0. 7. 1
  libpostproc   51. 2. 0 / 51. 2. 0
  built on Jul 24 2009 01:40:27, gcc: 4.1.2 20080704 (Red Hat 4.1.2-44)

非常感谢有关此问题的任何帮助。

1 个答案:

答案 0 :(得分:2)

转换视频后,请使用以下命令:

flvtool2 -U filename.flv

在Ubuntu上安装此软件包的命令是:

sudo apt-get install flvtool2