ffmpeg将mov转换为flv

时间:2013-02-07 01:42:07

标签: ffmpeg

我正在尝试将mov视频转换为flv,但仍然会在下面收到这些错误。 我使用了2个命令,两个命令都在下面。

ffmpeg -y -i video.mov -deinterlace -acodec copy -r 25 -qmin 3 -qmax 6 video.flv


FFmpeg version SVN-r16573, Copyright (c) 2000-2009 Fabrice Bellard, et al.
configuration: --extra-cflags=-fno-common --enable-memalign-hack --enable-pthreads --enable-libmp3lame --enable-libxvid --enable-libvorbis --enable-libtheora --enable-libspeex --enable-libfaac --enable-libgsm --enable-libx264 --enable-libschroedinger --enable-avisynth --enable-swscale --enable-gpl
libavutil     49.12. 0 / 49.12. 0
libavcodec    52.10. 0 / 52.10. 0
libavformat   52.23. 1 / 52.23. 1
libavdevice   52. 1. 0 / 52. 1. 0
libswscale     0. 6. 1 /  0. 6. 1
built on Jan 13 2009 02:57:09, gcc: 4.2.4
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'vid\video.mov':
Duration: 00:03:16.00, start: 0.000000, bitrate: 398 kb/s
Stream #0.0(eng): Video: mpeg4, yuv420p, 800x600 [PAR 1:1 DAR 4:3], 30.00 tb(r)
Stream #0.1(eng): Audio: pcm_u8, 8000 Hz, mono, s16, 64 kb/s
Output #0, flv, to 'vid\video.flv':
Stream #0.0(eng): Video: flv, yuv420p, 800x600 [PAR 1:1 DAR 4:3], q=3-6, 200 kb/s, 25.00 tb(c)
Stream #0.1(eng): Audio: pcm_u8, 8000 Hz, mono, s16, 64 kb/s
Stream mapping:
Stream #0.0 -> #0.0
Stream #0.1 -> #0.1
[NULL @ 0x1714390]codec not compatible with flv
Could not write header for output file #0 (incorrect codec parameters ?)

第二个命令:

ffmpeg -y -i video.mov -deinterlace -ar 44100 -r 25 -qmin 3 -qmax 6 video.flv

音频重采样器仅适用于每个样本16位,欢迎使用补丁。

使用较新版本的ffmpeg:

ffmpeg version N-49610-gc2dd5a1 Copyright (c) 2000-2013 the FFmpeg developers
built on Feb  5 2013 13:20:59 with gcc 4.7.2 (GCC)
configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-libass --enable-libbluray --enable-libcaca --enable-libfreetype --enable-libgsm --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxavs --enable-libxvid --enable-zlib
  libavutil      52. 17.101 / 52. 17.101
  libavcodec     54. 91.100 / 54. 91.100
  libavformat    54. 61.104 / 54. 61.104
  libavdevice    54.  3.103 / 54.  3.103
  libavfilter     3. 35.101 /  3. 35.101
  libswscale      2.  2.100 /  2.  2.100
  libswresample   0. 17.102 /  0. 17.102
  libpostproc    52.  2.100 / 52.  2.100
Guessed Channel Layout for  Input Stream #0.1 : mono
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'vid\video.mov':
  Metadata:
    major_brand     : qt  
    minor_version   : 512
    compatible_brands: qt  
    creation_time   : 1970-01-01 00:00:00
  Duration: 00:02:50.39, start: 0.000000, bitrate: 370 kb/s
    Stream #0:0(eng): Video: mpeg4 (Simple Profile) (mp4v / 0x7634706D), yuv420p, 1366x768 [SAR 1:1 DAR 683:384], 308 kb/s, 11.50 fps, 11.50 tbr, 23 tbn, 23 tbc
    Metadata:
      creation_time   : 1970-01-01 00:00:00
      handler_name    : DataHandler
    Stream #0:1(eng): Audio: pcm_u8 (raw  / 0x20776172), 8000 Hz, mono, u8, 64 kb/s
    Metadata:
      creation_time   : 1970-01-01 00:00:00
      handler_name    : DataHandler
[flv @ 026347a0] FLV does not support sample rate 8000, choose from (44100, 22050, 11025)
Output #0, flv, to 'vid\video.flv':
  Metadata:
    major_brand     : qt  
    minor_version   : 512
compatible_brands: qt  
    encoder         : Lavf54.61.104
    Stream #0:0(eng): Video: flv1 ([2][0][0][0] / 0x0002), yuv420p, 1366x768 [SAR 1:1 DAR 683:384], q=2-31, 200 kb/s, 1k tbn, 11.50 tbc
    Metadata:
      creation_time   : 1970-01-01 00:00:00
      handler_name    : DataHandler
    Stream #0:1(eng): Audio: mp3 ([2][0][0][0] / 0x0002), 8000 Hz, mono, s16p
    Metadata:
      creation_time   : 1970-01-01 00:00:00
      handler_name    : DataHandler
Stream mapping:
  Stream #0:0 -> #0:0 (mpeg4 -> flv)
  Stream #0:1 -> #0:1 (pcm_u8 -> libmp3lame)
Could not write header for output file #0 (incorrect codec parameters ?): Invalid data found when processing input
请再说一件事: 如果我使用这个较新版本的ffmpeg使用以下命令创建视频,我会得到一个非常模糊的视频。 这就像空白屏幕上的几个黑点:

ffmpeg -i img%d.png -i audio.wav -acodec copy output.mov

这可能是什么原因?

1 个答案:

答案 0 :(得分:1)

你可以试试这个简单的:

ffmpeg -y -i video.mov video.flv

在第一个命令中,音频编解码器为pcm_u8,与flv不兼容。由于您使用了-acodec copy,因此会导致错误。在第二个命令中,重新采样导致问题。