FFMPEG wmv 转换为 flv
Posted
技术标签:
【中文标题】FFMPEG wmv 转换为 flv【英文标题】:FFMPEG wmv conversion to flv 【发布时间】:2010-11-08 19:30:09 【问题描述】:任何使用 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
我看到很多人有这个问题的解决方案或原因
任何想法都会有所帮助 提前谢谢
【问题讨论】:
请格式化您的问题。适当的新行和引用/代码格式 谢谢,希望更好,命令行输出还是有点乱 【参考方案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的主要内容,如果未能解决你的问题,请参考以下文章