批量将mp4转换为webm

Converting mp4 to webm in a batch

我有一大批 (400+) mp4 文件要转换为 webm。

我试过:

ffmpeg -i myfile.mp4 -c:v libvpx -minrate 1M -maxrate 1M  -b:v 1M myfile.webm

但是当我尝试播放时文件已损坏。有人能帮忙吗?这是其中一个 mp4 文件的输入数据...我对这些东西的了解还不够好,无法了解这一切的含义,但我尽力提取出我认为可能相关的位。

Format                                   : MPEG-4
File size                                : 2.18 MiB
Duration                                 : 1s 857ms
Overall bit rate mode                    : Variable
Overall bit rate                         : 9 829 Kbps

Video
Codec ID                                 : 20
Bit rate mode                            : Constant
Bit rate                                 : 9 808 Kbps
Width                                    : 1 280 pixels
Height                                   : 720 pixels
Display aspect ratio                     : 16:9
Frame rate mode                          : Constant
Frame rate                               : 59.940 fps
Bit depth                                : 8 bits
Scan type                                : Progressive
Compression mode                         : Lossy
Bits/(Pixel*Frame)                       : 0.178
Stream size                              : 2.15 MiB (99%)
Writing library                          : Lavc54.59.100

当我用自己的 MP4 文件执行此操作时,输出实际上在 mplayervlc 中都能正常播放;你可能想阅读 ffmpeg 的官方 examples on this

您应该定义要使用的音频格式;无论告诉你文件是什么 "broken" 可能不喜欢它所看到的,这可能是 MP4 容器中开头的内容:

 ffmpeg -i input.mp4 -c:v libvpx -qmin 0 -qmax 50 -crf 5 -b:v 1M -c:a libvorbis output.webm