我在debian version squeeze / sid上使用ffmpeg将flv转换为mp4.I需要在iphone,ipad上查看最终输出。我尝试了很多不同的组合,但没有成功地正确转换文件。
有关示例flv文件的信息如下 - 通过命令ffmpeg -i sample.flv
FFmpeg version SVN-r0.5.9-4:0.5.9-0ubuntu0.10.04.1, Copyright (c) 2000-2009 Fabrice Bellard, et al.
configuration: --extra-version=4:0.5.9-0ubuntu0.10.04.1 --prefix=/usr --enable-avfilter --enable-avfilter-lavf --enable-vdpau --enable-bzlib --enable-libgsm --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-pthreads --enable-zlib --disable-stripping --disable-vhook --enable-runtime-cpudetect --enable-gpl --enable-postproc --enable-swscale --enable-x11grab --enable-libdc1394 --enable-shared --disable-static
libavutil 49.15. 0 / 49.15. 0
libavcodec 52.20. 1 / 52.20. 1
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 Jun 12 2012 16:27:59, gcc: 4.4.3
Input #0, flv, from 'sample.flv':
Duration: 00:01:06.90, start: 2.079000, bitrate: N/A
Stream #0.0: Video: flv, yuv420p, 352x200, 1k tbr, 1k tbn, 1k tbc
Stream #0.1: Audio: nellymoser, 44100 Hz, mono, s16
At least one output file must be specified
当我尝试使用命令时 - ffmpeg -i sample.flv -sameq -ar 22050 sample.mp4
我输出以下错误。
ffmpeg -i sample.flv -sameq -ar 22050 sample.mp4
FFmpeg version SVN-r0.5.9-4:0.5.9-0ubuntu0.10.04.1, Copyright (c) 2000-2009 Fabrice Bellard, et al.
configuration: --extra-version=4:0.5.9-0ubuntu0.10.04.1 --prefix=/usr --enable-avfilter --enable-avfilter-lavf --enable-vdpau --enable-bzlib --enable-libgsm --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-pthreads --enable-zlib --disable-stripping --disable-vhook --enable-runtime-cpudetect --enable-gpl --enable-postproc --enable-swscale --enable-x11grab --enable-libdc1394 --enable-shared --disable-static
libavutil 49.15. 0 / 49.15. 0
libavcodec 52.20. 1 / 52.20. 1
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 Jun 12 2012 16:27:59, gcc: 4.4.3
Input #0, flv, from 'sample.flv':
Duration: 00:01:06.90, start: 2.079000, bitrate: N/A
Stream #0.0: Video: flv, yuv420p, 352x200, 1k tbr, 1k tbn, 1k tbc
Stream #0.1: Audio: nellymoser, 44100 Hz, mono, s16
Output #0, mp4, to 'sample.mp4':
Stream #0.0: Video: mpeg4, yuv420p, 352x200, q=2-31, 200 kb/s, 90k tbn, 1k tbc
Stream #0.1: Audio: 0x0000, 22050 Hz, mono, s16, 64 kb/s
Stream mapping:
Stream #0.0 -> #0.0
Stream #0.1 -> #0.1
Unsupported codec for output stream #0.1
我对ffmpeg和任何帮助都不太熟悉,指针会非常感激。
非常感谢提前。
答案 0 :(得分:1)
这是一个开始:
流#0.1:音频:0x0000,22050 Hz,单声道,s16,64 kb / s
ffmpeg通常会尝试为您指定的输出容器格式选择合适的编码器。在这种情况下,它出于某种原因选择了“音频编码器”0x0000(可能是一个bug /旧版本/没有可用的编解码器)
但是,在这种情况下,您可以告诉它使用哪个编码器。要选择一个,请查看ffmpeg -codecs
的输出。您可以通过将-acodec codec
放在指定的输出文件名之前选择要编码的音频编解码器。
由于您正在为Apple设备编码,请尝试选择产生AAC音频的编码器,因为它往往是Apple最喜欢的音频编解码器。