FFMPEG wmv 转换为 flv

Posted

技术标签:

【中文标题】FFMPEG wmv 转换为 flv【英文标题】:FFMPEG wmv conversion to flv 【发布时间】:2010-11-08 19:30:09 【问题描述】:

任何使用 ffmpeg 的人

我有一个相当简单的 wmv,由用户从电影制作者导出,带有标准输出,并希望使用

转换为 .flv

C:>ffmpeg -i "E:\Jab Core 4 Recounters.wmv" -vcodec flv "C:\Net Projects\SVN\IntegratedAlgorithmics\src\MediaAdmin\MediaAdmin\bin\Debug\Movies\Jab Core 4 Recounters .flv" -ar 44100

我收到的输出/错误是

FFmpeg version 0.5, Copyright (c) 2000-2009 Fabrice Bellard, et al.
  configuration: --enable-gpl --enable-postproc --enable-swscale --enable-avfilt
er --enable-avfilter-lavf --enable-pthreads --enable-avisynth --enable-libfaac -
-enable-libfaad --enable-libmp3lame --enable-libspeex --enable-libtheora --enabl
e-libvorbis --enable-libxvid --enable-libx264 --enable-memalign-hack
  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
  libavfilter    0. 4. 0 /  0. 4. 0
  libswscale     0. 7. 1 /  0. 7. 1
  libpostproc   51. 2. 0 / 51. 2. 0
  built on Mar 16 2009 16:09:18, gcc: 4.2.4 [Sherpya]
[wmv3 @ 0x1c0d490]Extra data: 8 bits left, value: 0

Seems stream 1 codec frame rate differs from container frame rate: 1000.00 (1000
/1) -> 30.00 (30/1)
Input #0, asf, from 'E:\Jab Core 4 Recounters.wmv':
  Duration: 00:01:55.99, start: 5.000000, bitrate: 813 kb/s
    Stream #0.0: Audio: wmav2, 48000 Hz, stereo, s16, 192 kb/s
    Stream #0.1: Video: wmv3, yuv420p, 640x480, 586 kb/s, 30 tbr, 1k tbn, 1k tbc

Output #0, flv, to 'C:\Net Projects\SVN\IntegratedAlgorithmics\src\MediaAdmin\Me
diaAdmin\bin\Debug\Movies\Jab Core 4 Recounters.flv':
    Stream #0.0: Video: flv, yuv420p, 640x480, q=2-31, 200 kb/s, 90k tbn, 30 tbc

    Stream #0.1: Audio: libmp3lame, 48000 Hz, stereo, s16, 64 kb/s
Stream mapping:
  Stream #0.1 -> #0.0
  Stream #0.0 -> #0.1
[wmv3 @ 0x1c0d490]Extra data: 8 bits left, value: 0
[libmp3lame @ 0x1c0d8d0]flv does not support that sample rate, choose from (4410
0, 22050, 11025).
Could not write header for output file #0 (incorrect codec parameters ?)

当我第一次遇到错误时,我添加了 -ar 开关

我在文件上的编解码器信息如下

General
Complete name                    : E:\Jab Core 4 Recounters.wmv
Format                           : Windows Media
File size                        : 11.3 MiB
Duration                         : 2mn 0s
Overall bit rate mode            : Variable
Overall bit rate                 : 780 Kbps
Maximum Overall bit rate         : 949 Kbps
Encoded date                     : UTC 2009-03-07 07:02:41.121
Writing application              :  6.0.6000.16386 / Windows Movie Maker
Application                      : Windows Movie Maker 6.0.6000.16386

Video
ID                               : 2
Format                           : VC-1
Format profile                   : MP@ML
Codec ID                         : WMV3
Codec ID/Info                    : Windows Media Video 9
Codec ID/Hint                    : WMV3
Duration                         : 2mn 0s
Bit rate mode                    : Variable
Bit rate                         : 587 Kbps
Width                            : 640 pixels
Height                           : 480 pixels
Display aspect ratio             : 4/3
Frame rate                       : 30.000 fps
Resolution                       : 24 bits
Scan type                        : Progressive
Bits/(Pixel*Frame)               : 0.064
Stream size                      : 8.46 MiB (75%)
Language                         : en-us

Audio
ID                               : 1
Format                           : WMA2
Format profile                   : L3
Codec ID                         : 161
Codec ID/Info                    : Windows Media Audio 2
Description of the codec         : Windows Media Audio 9.2 - VBR Quality 90, 48 kHz, stereo 1-pass VBR
Duration                         : 2mn 0s
Bit rate mode                    : Variable
Bit rate                         : 186 Kbps
Channel(s)                       : 2 channels
Sampling rate                    : 48.0 KHz
Resolution                       : 16 bits
Stream size                      : 2.68 MiB (24%)
Language                         : en-us

我看到很多人有这个问题的解决方案或原因

任何想法都会有所帮助 提前谢谢

【问题讨论】:

请格式化您的问题。适当的新行和引用/代码格式 谢谢,希望更好,命令行输出还是有点乱 【参考方案1】:

对于它可能有什么帮助,您可以看到源音频为 48khz,flv 拒绝它。 ffmpeg 显然忽略了您的 -ar 标志。您的第一步需要重新采样音频...您可以尝试转码为某种中间格式以转换采样率,然后从那里转码为 flv。

【讨论】:

任何想法我可以转换以最终将其转换为 flv 都在 ffmpeg 中 可以想象你可以有两个 ffmpeg 调用,input->temp,temp->flv。我想这将是一个寻找好的中介的实验过程。我个人的偏好是将视频剥离到一个临时文件(MOV / AVI?),并将音频剥离到另一个(WAV?)。然后手动重新采样音频,并将两者合并到您的输出 FLV 中。【参考方案2】:

在 ffmpeg 中,选项必须在与它们相关的输入文件之前加上前缀。将-ar 44100移到最前面就可以了。

【讨论】:

嗨 - 我在使用 wmv 文件时遇到了类似的问题 - 你试过吗?有用吗? @undefined 是的,我偶然发现了一个 wmv 文件的相同问题,找到了这个 *** 问题,解决了它,几天后在这里写了它【参考方案3】:

更准确地说:在 ffmpeg 中,选项必须在它们相关的 输出 文件前添加前缀。 将 -ar 44100 移动到 输出文件名 的前面,它将工作。

【讨论】:

【参考方案4】:

我知道问题已经有了答案,但我认为它可能会对某人有所帮助。 如果您遇到音频采样率问题,请使用以下命令

ffmpeg -i video.avi -ar 22050 video.flv

-i input file name
-ar audio sampling rate in Hz

【讨论】:

以上是关于FFMPEG wmv 转换为 flv的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 ffmpeg 将 MP4 转换为 WMV 以获得更好的质量?

如何用中等质量的ffmpeg将vob转换为wmv?

FFmpeg 常用转换命令

linux使用ffmpeg转换音频格式

FFMPEG视频转换问题

PHP 和 FFMPEG - 执行智能视频转换