代码之家  ›  专栏  ›  技术社区  ›  Brandon Grossutti

FFMPEG WMV转换为FLV

  •  4
  • Brandon Grossutti  · 技术社区  · 15 年前

    任何使用ffmpeg的人

    我有一个相当简单的WMV,由一个用户从影音制作导出,具有标准输出,并希望使用转换为.flv

    C:>ffmpeg-i“e:\jab core 4 reducenters.wmv”-vcodec flv“c:\net projects\svn\integratedalgorithmics\src\mediaadmin\mediaadmin\bin\debug\movies\jab core 4 reducenters.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 ?)
    

    第一次出错时我加了th-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
    

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

    有什么主意会有帮助的 提前谢谢

    4 回复  |  直到 15 年前
        1
  •  1
  •   Dave Gamble    15 年前

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

        2
  •  9
  •   phihag    15 年前

    在ffmpeg中,选项必须以它们相关的输入文件为前缀。移动 -ar 44100 在前面,它会起作用的。

        3
  •  2
  •   TilalHusain    13 年前

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

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

    -i input file name
    -ar audio sampling rate in Hz
    
        4
  •  0
  •   Stephan    12 年前

    更精确地说:在ffmpeg中,选项必须以 输出 相关文件。
    移动 -ar 44100 前线 输出文件名的 它会起作用的。

    推荐文章