ffmpeg命令转换后的视频没有在Windows上播放

时间:2015-12-07 13:39:18

标签: ffmpeg

我陷入了一个非常奇怪和复杂的问题,希望有人知道解决方案:

我在服务器上使用ffmpeg命令转换用户上传的视频,它也正常工作。今天我发现,如果视频是通过网络摄像头从Windows录制的,那么在Linux和Windows上都能很好地播放,就像用户通过网络摄像头从linux创建视频一样,只能在linux(任何浏览器)上播放。在窗口上,它的屏幕显示加载图标或黑屏,而音频工作正常。

我正在使用以下编解码器:

['-strict', '-2', '-preset slow', '-maxrate 500k', '-bufsize 1000k', vfOption, '-threads 0', '-ab 64k', '-movflags faststart','-vf scale=-1:480', '-metadata:s:v:0 rotate=0', '-vcodec libx264']

我在linux上工作并在我的网站上使用html5播放器。我正在转换mp4格式的视频。

输入:

ffmpeg -i /<server path>/stream_FE2AF05B-E630-1F7B-390B-37325B31B362.flv -strict -2 -vcodec libx264 -preset slow -vb 500k -maxrate 500k -bufsize 1000k -vf 'scale=-1:480 ' -threads 0 -ab 64k -s 640x480 -movflags faststart -metadata:s:v:0 rotate=0 /<server path>/testing.mp4

输出:

ffmpeg version 2.2.5 Copyright (c) 2000-2014 the FFmpeg developers
  built on Aug  1 2014 09:24:02 with gcc 4.8 (Ubuntu 4.8.2-19ubuntu1)
  configuration: --enable-gpl --enable-version3 --enable-nonfree --enable-postproc --enable-libtheora --enable-libx264 --enable-libvpx --enable-libmp3lame
  libavutil      52. 66.100 / 52. 66.100
  libavcodec     55. 52.102 / 55. 52.102
  libavformat    55. 33.100 / 55. 33.100
  libavdevice    55. 10.100 / 55. 10.100
  libavfilter     4.  2.100 /  4.  2.100
  libswscale      2.  5.102 /  2.  5.102
  libswresample   0. 18.100 /  0. 18.100
  libpostproc    52.  3.100 / 52.  3.100
Input #0, flv, from '/<server path>/stream_FE2AF05B-E630-1F7B-390B-37325B31B362.flv':
  Metadata:
    canSeekToEnd    : true
  Duration: 00:00:04.04, start: 0.000000, bitrate: 636 kb/s
    Stream #0:0: Video: flv1, yuv420p, 640x480, 1k tbr, 1k tbn, 1k tbc
    Stream #0:1: Audio: nellymoser, 44100 Hz, mono, flt
[libx264 @ 0x23c5340] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX
[libx264 @ 0x23c5340] profile High, level 5.2
[libx264 @ 0x23c5340] 264 - core 142 r2453 ea0ca51 - H.264/MPEG-4 AVC codec - Copyleft 2003-2014 - http://www.videolan.org/x264.html - options: cabac=1 ref=5 deblock=1:0:0 analyse=0x3:0x113 me=umh subme=8 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=24 lookahead_threads=3 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=2 b_bias=0 direct=3 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=50 rc=cbr mbtree=1 bitrate=500 ratetol=1.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 vbv_maxrate=500 vbv_bufsize=1000 nal_hrd=none filler=0 ip_ratio=1.40 aq=1:1.00
Output #0, mp4, to '/<server path>/testing.mp4':
  Metadata:
    canSeekToEnd    : true
    encoder         : Lavf55.33.100
    Stream #0:0: Video: h264 (libx264) ([33][0][0][0] / 0x0021), yuv420p, 640x480, q=-1--1, 500 kb/s, 16k tbn, 1k tbc
    Metadata:
      rotate          : 0
    Stream #0:1: Audio: aac ([64][0][0][0] / 0x0040), 44100 Hz, mono, fltp, 64 kb/s
Stream mapping:
  Stream #0:0 -> #0:0 (flv -> libx264)
  Stream #0:1 -> #0:1 (nellymoser -> aac)
Press [q] to stop, [?] for help
[mp4 @ 0x23c0200] Starting second pass: moving the moov atom to the beginning of the file2 drop=0    
frame= 4020 fps=706 q=-1.0 Lsize=     355kB time=00:00:04.08 bitrate= 712.0kbits/s dup=3931 drop=0    
video:271kB audio:32kB subtitle:0 data:0 global headers:0kB muxing overhead 16.957901%
[libx264 @ 0x23c5340] frame I:17    Avg QP:27.55  size:  7119
[libx264 @ 0x23c5340] frame P:1013  Avg QP:25.37  size:    88
[libx264 @ 0x23c5340] frame B:2990  Avg QP:27.32  size:    22
[libx264 @ 0x23c5340] consecutive B-frames:  0.8%  0.0%  0.1% 99.1%
[libx264 @ 0x23c5340] mb I  I16..4: 42.0% 55.1%  2.9%
[libx264 @ 0x23c5340] mb P  I16..4:  0.3%  0.4%  0.0%  P16..4:  0.6%  0.1%  0.0%  0.0%  0.0%    skip:98.6%
[libx264 @ 0x23c5340] mb B  I16..4:  0.0%  0.0%  0.0%  B16..8:  0.2%  0.0%  0.0%  direct: 0.0%  skip:99.8%  L0:35.7% L1:64.3% BI: 0.0%
[libx264 @ 0x23c5340] 8x8 transform intra:55.0% inter:84.5%
[libx264 @ 0x23c5340] direct mvs  spatial:87.6% temporal:12.4%
[libx264 @ 0x23c5340] coded y,uvDC,uvAC intra: 33.4% 51.9% 0.7% inter: 0.0% 0.1% 0.0%
[libx264 @ 0x23c5340] i16 v,h,dc,p: 26% 54% 15%  5%
[libx264 @ 0x23c5340] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 17% 16% 53%  3%  1%  2%  2%  3%  3%
[libx264 @ 0x23c5340] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 15% 20% 13% 14%  5%  7%  7% 11%  8%
[libx264 @ 0x23c5340] i8c dc,h,v,p: 43% 31% 23%  3%
[libx264 @ 0x23c5340] Weighted P-Frames: Y:0.0% UV:0.0%
[libx264 @ 0x23c5340] ref P L0: 80.9%  9.0%  6.9%  2.6%  0.7%
[libx264 @ 0x23c5340] ref B L0: 89.4%  8.6%  1.8%  0.2%
[libx264 @ 0x23c5340] ref B L1: 91.0%  9.0%
[libx264 @ 0x23c5340] kb/s:551.72

从窗口上记录的文件输出:

输入:

ffmpeg -i /<server path>/stream_window.flv -strict -2 -vcodec libx264 -preset slow -vb 500k -maxrate 500k -bufsize 1000k -vf 'scale=-1:480 ' -threads 0 -ab 64k -s 640x480 -movflags faststart -metadata:s:v:0 rotate=0 /<server path>/testing_1.mp4

输出:

ffmpeg version 2.2.5 Copyright (c) 2000-2014 the FFmpeg developers
  built on Aug  1 2014 09:24:02 with gcc 4.8 (Ubuntu 4.8.2-19ubuntu1)
  configuration: --enable-gpl --enable-version3 --enable-nonfree --enable-postproc --enable-libtheora --enable-libx264 --enable-libvpx --enable-libmp3lame
  libavutil      52. 66.100 / 52. 66.100
  libavcodec     55. 52.102 / 55. 52.102
  libavformat    55. 33.100 / 55. 33.100
  libavdevice    55. 10.100 / 55. 10.100
  libavfilter     4.  2.100 /  4.  2.100
  libswscale      2.  5.102 /  2.  5.102
  libswresample   0. 18.100 /  0. 18.100
  libpostproc    52.  3.100 / 52.  3.100
Input #0, flv, from '/<server path>/stream_window.flv':
  Metadata:
    canSeekToEnd    : true
  Duration: 00:00:09.22, start: 0.000000, bitrate: 420 kb/s
    Stream #0:0: Video: flv1, yuv420p, 640x480, 1k tbr, 1k tbn, 1k tbc
    Stream #0:1: Audio: nellymoser, 44100 Hz, mono, flt
[libx264 @ 0x1e09fc0] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX
[libx264 @ 0x1e09fc0] profile High, level 5.2
[libx264 @ 0x1e09fc0] 264 - core 142 r2453 ea0ca51 - H.264/MPEG-4 AVC codec - Copyleft 2003-2014 - http://www.videolan.org/x264.html - options: cabac=1 ref=5 deblock=1:0:0 analyse=0x3:0x113 me=umh subme=8 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=24 lookahead_threads=3 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=2 b_bias=0 direct=3 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=50 rc=cbr mbtree=1 bitrate=500 ratetol=1.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 vbv_maxrate=500 vbv_bufsize=1000 nal_hrd=none filler=0 ip_ratio=1.40 aq=1:1.00
Output #0, mp4, to '/<server path>/testing_1.mp4':
  Metadata:
    canSeekToEnd    : true
    encoder         : Lavf55.33.100
    Stream #0:0: Video: h264 (libx264) ([33][0][0][0] / 0x0021), yuv420p, 640x480, q=-1--1, 500 kb/s, 16k tbn, 1k tbc
    Metadata:
      rotate          : 0
    Stream #0:1: Audio: aac ([64][0][0][0] / 0x0040), 44100 Hz, mono, fltp, 64 kb/s
Stream mapping:
  Stream #0:0 -> #0:0 (flv -> libx264)
  Stream #0:1 -> #0:1 (nellymoser -> aac)
Press [q] to stop, [?] for help
[mp4 @ 0x1e06220] Starting second pass: moving the moov atom to the beginning of the file7 drop=0    
frame= 8936 fps=703 q=-1.0 Lsize=     771kB time=00:00:09.26 bitrate= 681.5kbits/s dup=8907 drop=0    
video:585kB audio:73kB subtitle:0 data:0 global headers:0kB muxing overhead 17.106213%
[libx264 @ 0x1e09fc0] frame I:40    Avg QP:29.54  size:  7449
[libx264 @ 0x1e09fc0] frame P:2248  Avg QP:30.88  size:    69
[libx264 @ 0x1e09fc0] frame B:6648  Avg QP:39.17  size:    22
[libx264 @ 0x1e09fc0] consecutive B-frames:  0.8%  0.0%  0.1% 99.1%
[libx264 @ 0x1e09fc0] mb I  I16..4: 36.8% 60.7%  2.5%
[libx264 @ 0x1e09fc0] mb P  I16..4:  0.2%  0.3%  0.0%  P16..4:  0.4%  0.0%  0.0%  0.0%  0.0%    skip:98.9%
[libx264 @ 0x1e09fc0] mb B  I16..4:  0.0%  0.0%  0.0%  B16..8:  0.2%  0.0%  0.0%  direct: 0.0%  skip:99.8%  L0:34.2% L1:65.8% BI: 0.0%
[libx264 @ 0x1e09fc0] 8x8 transform intra:60.6% inter:87.6%
[libx264 @ 0x1e09fc0] direct mvs  spatial:72.8% temporal:27.2%
[libx264 @ 0x1e09fc0] coded y,uvDC,uvAC intra: 36.3% 62.8% 4.7% inter: 0.0% 0.0% 0.0%
[libx264 @ 0x1e09fc0] i16 v,h,dc,p: 33% 46% 15%  7%
[libx264 @ 0x1e09fc0] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 23% 19% 46%  3%  1%  1%  1%  2%  4%
[libx264 @ 0x1e09fc0] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 36% 17% 14%  9%  4%  4%  5%  5%  7%
[libx264 @ 0x1e09fc0] i8c dc,h,v,p: 42% 31% 23%  4%
[libx264 @ 0x1e09fc0] Weighted P-Frames: Y:0.0% UV:0.0%
[libx264 @ 0x1e09fc0] ref P L0: 82.6%  9.9%  5.2%  1.7%  0.5%
[libx264 @ 0x1e09fc0] ref B L0: 87.1% 11.0%  1.4%  0.4%
[libx264 @ 0x1e09fc0] ref B L1: 90.3%  9.7%
[libx264 @ 0x1e09fc0] kb/s:536.03

有人能想出可能出现的问题吗?

@LordNeckbeard:请找到上面的命令及其输出。感谢

0 个答案:

没有答案