2016-06-09 56 views
0

我试图检索使用video.js插件(https://github.com/collab-project/videojs-record)录制的.webm视频文件的持续时间。无法使用ffmpeg检索webm文件的持续时间

我使用的ffmpeg得到持续时间,但它总是返回N/A:

ffprobe version 3.0.2-static http://johnvansickle.com/ffmpeg/ Copyright (c) 2007-2016 the FFmpeg developers 
    built with gcc 5.3.1 (Debian 5.3.1-16) 20160424 
    configuration: --enable-gpl --enable-version3 --enable-static --disable-debug --enable-libmp3lame --enable-libx264 --enable-libx265 --enable-libwebp --enable-libspeex --enable-libvorbis --enable-libvpx --enable-libfreetype --enable-fontconfig --enable-libxvid --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvo-amrwbenc --enable-gray --enable-libopenjpeg --enable-libopus --enable-libass --enable-gnutls --enable-libvidstab --enable-libsoxr --enable-frei0r --enable-libfribidi --disable-indev=sndio --disable-outdev=sndio --enable-librtmp --enable-libmfx --enable-libzimg --cc=gcc 
    libavutil  55. 17.103/55. 17.103 
    libavcodec  57. 24.102/57. 24.102 
    libavformat 57. 25.100/57. 25.100 
    libavdevice 57. 0.101/57. 0.101 
    libavfilter  6. 31.100/6. 31.100 
    libswscale  4. 0.100/4. 0.100 
    libswresample 2. 0.101/2. 0.101 
    libpostproc 54. 0.100/54. 0.100 
Input #0, matroska,webm, from '/home/demoss/public_html/source/bALRt9I697PVQh4zglou.webm': 
    Metadata: 
    encoder   : Chrome 
    Duration: N/A, start: 0.000000, bitrate: N/A 
    Stream #0:0(eng): Video: vp8, yuv420p, 640x480, SAR 1:1 DAR 4:3, 30 fps, 30 tbr, 1k tbn, 1k tbc (default) 
    Stream #0:1(eng): Audio: opus, 48000 Hz, mono, fltp (default) 
duration=N/A 

我不觉得,因为它在我的VideoJS播放器上播放,而不问题的视频中被破坏做。

任何指针,为什么它不返回的持续时间将不胜感激。我不介意使用替代库以及

感谢

+0

请提供一个示例输入文件。 – LordNeckbeard

+0

不幸的是,视频是内部的,我无法分享它抱歉,但我可以使用我的答案中提到的命令转换它。谢谢! –

回答

0

我可以使用以下命令将WEBM转换为MP4:

ffmpeg -fflags +genpts -i myfile.webm -r 24 mynew.mp4 

我不太清楚它是如何工作在内部,但我希望专家们可以对此进行扩展。

希望这可以帮助别人

2

如果ffprobe/ffmpeg不显示格式或流持续时间,那么你可以将文件完全解码找时间:

ffmpeg -i input.webm -f null - 
... 
frame= 2087 fps=0.0 q=-0.0 Lsize=N/A time=00:01:23.48 bitrate=N/A speed= 123x 

参考time=在二线输出中的最后一行。在这个例子中,文件持续时间是00:01:23.48。

根据您的输入的持续时间和复杂性,这可能需要一些时间。

另见FFmpeg Wiki: FFprobe Tips - Duration

相关问题