php - 使用 FFMPEG 转换 WebM 文件格式

标签 php video ffmpeg ffmpeg-php

我正在使用 followng 命令将视频转换为 webm 格式

ffmpeg -i video/ds2.mp4 -acodec libvorbis -ac 2 -ab 96k -ar 44100 -b:a 345k -s 640x360 video/ds2.webm

我收到以下错误:

1) 编解码器“libvorbis”的样本格式“s16”不兼容

2) strptime() 在这个系统上不可用,不能转换数据字符串

你知道为什么我不能转换,测试转换为 FLV 并且它工作得很好

控制台输出

C:\inetpub\wwwroot>ffmpeg -i video/testavi.avi video/ds2.webm
ffmpeg version N-35709-g7d531e8, Copyright (c) 2000-2011 the FFmpeg developers
  built on Dec 12 2011 13:56:52 with gcc 4.6.2
  configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-ru
ntime-cpudetect --enable-avisynth --enable-bzlib --enable-frei0r --enable-libope
ncore-amrnb --enable-libopencore-amrwb --enable-libfreetype --enable-libgsm --en
able-libmp3lame --enable-libopenjpeg --enable-librtmp --enable-libschroedinger -
-enable-libspeex --enable-libtheora --enable-libvo-aacenc --enable-libvo-amrwben
c --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxavs --enable-
libxvid --enable-zlib
  libavutil    51. 32. 0 / 51. 32. 0
  libavcodec   53. 43. 0 / 53. 43. 0
  libavformat  53. 24. 0 / 53. 24. 0
  libavdevice  53.  4. 0 / 53.  4. 0
  libavfilter   2. 53. 0 /  2. 53. 0
  libswscale    2.  1. 0 /  2.  1. 0
  libpostproc  51.  2. 0 / 51.  2. 0
Input #0, avi, from 'video/testavi.avi':
  Metadata:
    encoder         : Lavf51.12.1
  Duration: 00:00:13.03, start: 0.000000, bitrate: 36427 kb/s
    Stream #0:0: Video: msmpeg4 (MP43 / 0x3334504D), yuv420p, 1920x1080, 30 tbr,
 30 tbn, 30 tbc
    Stream #0:1: Audio: mp3 (U[0][0][0] / 0x0055), 44100 Hz, stereo, s16, 192 kb
/s
File 'video/ds2.webm' already exists. Overwrite ? [y/N] y
w:1920 h:1080 pixfmt:yuv420p tb:1/1000000 sar:0/1 sws_param:
[libvpx @ 0000000001CA9BB0] v0.9.7-p1
Output #0, webm, to 'video/ds2.webm':
  Metadata:
    encoder         : Lavf53.24.0
    Stream #0:0: Video: vp8, yuv420p, 1920x1080, q=-1--1, 200 kb/s, 1k tbn, 30 t
bc
    Stream #0:1: Audio: vorbis, 44100 Hz, stereo, s16, 128 kb/s
Stream mapping:
  Stream #0:0 -> #0:0 (msmpeg4 -> libvpx)
  Stream #0:1 -> #0:1 (mp3 -> libvorbis)
Press [q] to stop, [?] for help
Problem signature:
  Problem Event Name:   APPCRASH
  Application Name: ffmpeg.exe
  Application Version:  0.0.0.0
  Application Timestamp:    4ee64f02
  Fault Module Name:    ffmpeg.exe
  Fault Module Version: 0.0.0.0
  Fault Module Timestamp:   4ee64f02
  Exception Code:   c0000005
  Exception Offset: 000000000091e090
  OS Version:   6.1.7601.2.1.0.272.7
  Locale ID:    1033
  Additional Information 1: ab8f
  Additional Information 2: ab8f35a907f8f11a8d2e787a8e40efbd
  Additional Information 3: f4d5
  Additional Information 4: f4d524f8bf76a4b71cc6a7afa6412ca9

Read our privacy statement online:
  http://go.microsoft.com/fwlink/?linkid=104288&clcid=0x0409

If the online privacy statement is not available, please read our privacy statement offline:
  C:\Windows\system32\en-US\erofflps.txt

和控制台未删减的输出
C:\inetpub\wwwroot>ffmpeg.exe -i "video/testavi.avi" -acodec libvorbis -b:a 96k
-ac 2 -vcodec libvpx -b:v 400k -f webm -s 384x216 "video/testavi.webm"
ffmpeg version N-35709-g7d531e8, Copyright (c) 2000-2011 the FFmpeg developers
  built on Dec 12 2011 13:56:52 with gcc 4.6.2
  configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-ru
ntime-cpudetect --enable-avisynth --enable-bzlib --enable-frei0r --enable-libope
ncore-amrnb --enable-libopencore-amrwb --enable-libfreetype --enable-libgsm --en
able-libmp3lame --enable-libopenjpeg --enable-librtmp --enable-libschroedinger -
-enable-libspeex --enable-libtheora --enable-libvo-aacenc --enable-libvo-amrwben
c --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxavs --enable-
libxvid --enable-zlib
  libavutil    51. 32. 0 / 51. 32. 0
  libavcodec   53. 43. 0 / 53. 43. 0
  libavformat  53. 24. 0 / 53. 24. 0
  libavdevice  53.  4. 0 / 53.  4. 0
  libavfilter   2. 53. 0 /  2. 53. 0
  libswscale    2.  1. 0 /  2.  1. 0
  libpostproc  51.  2. 0 / 51.  2. 0
Input #0, avi, from 'video/testavi.avi':
  Metadata:
    encoder         : Lavf51.12.1
  Duration: 00:00:13.03, start: 0.000000, bitrate: 36427 kb/s
    Stream #0:0: Video: msmpeg4 (MP43 / 0x3334504D), yuv420p, 1920x1080, 30 tbr,
 30 tbn, 30 tbc
    Stream #0:1: Audio: mp3 (U[0][0][0] / 0x0055), 44100 Hz, stereo, s16, 192 kb
/s
[buffer @ 0000000001D7FF60] w:1920 h:1080 pixfmt:yuv420p tb:1/1000000 sar:0/1 sw
s_param:
[scale @ 0000000001D7E9E0] w:1920 h:1080 fmt:yuv420p -> w:384 h:216 fmt:yuv420p
flags:0x4
[libvpx @ 0000000001BF7C10] v0.9.7-p1
Output #0, webm, to 'video/testavi.webm':
  Metadata:
    encoder         : Lavf53.24.0
    Stream #0:0: Video: vp8, yuv420p, 384x216, q=-1--1, 400 kb/s, 1k tbn, 30 tbc

    Stream #0:1: Audio: vorbis, 44100 Hz, 2 channels, s16, 96 kb/s
Stream mapping:
  Stream #0:0 -> #0:0 (msmpeg4 -> libvpx)
  Stream #0:1 -> #0:1 (mp3 -> libvorbis)
Press [q] to stop, [?] for help

最佳答案

您发布的命令有效。您发布的两条消息是警告,而不是 fatal error 。

顺便说一句,我使用这个命令来创建 WebM 视频:

ffmpeg.exe -i "blank.mp4" -acodec libvorbis -b:a 96k -ac 2 -vcodec libvpx -b:v 400k -f webm -s 384x216 "blank.webm"

关于php - 使用 FFMPEG 转换 WebM 文件格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9821042/

相关文章:

php - 从 map 中清除像素

javascript - HTML5 视频在特定类别时自动播放和自动停止

video - avi 文件开头的特殊不可见帧。如何正确识别/处理它们?

ffmpeg - 如何使用 ffmpeg 捕获音频流

php - MySQL GROUP BY 优先考虑某些行

php - 通过一个mysql查询更新多行

java - 如何解密 IRC Bot 的河豚加密消息

android - 获取直接的 Vimeo 视频 url Android

javascript - HTML 5视频或音频播放列表

youtube-dl 的 Powershell 脚本