任何人使用ffmpeg
我有一个相当简单的wmv用户从电影制作人用标准输出导出并希望使用
转换为.flvC:> 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
我看到很多人因为这个问题而解决了这个问题或原因
任何想法都会有所帮助 提前谢谢
答案 0 :(得分:9)
在ffmpeg中,选项必须为它们所涉及的输入文件添加前缀。将-ar 44100
移到前面即可。
答案 1 :(得分:2)
我知道问题已经有了答案,但我认为这可能有助于某人。 如果您面临音频采样率问题,请使用以下命令
ffmpeg -i video.avi -ar 22050 video.flv
-i input file name
-ar audio sampling rate in Hz
答案 2 :(得分:1)
对于它可能有什么帮助,你可以看到源音频是48khz,而flv拒绝它。 ffmpeg显然忽略了你的-ar标志。您的第一步需要重新采样音频...您可以尝试转码为某种中间格式以获得转换的采样率,然后从那里转码为flv。
答案 3 :(得分:0)
更准确地说:在ffmpeg中,选项必须以与其相关的输出文件为前缀。
将-ar 44100
移到输出文件名的前面 它会起作用。