从.NET生成时从FFMpeg获取错误

时间:2014-02-21 16:31:51

标签: c# .net process ffmpeg pipe

当我从命令行运行FFMpeg时,就像这样

ffmpeg.exe -hwaccel auto -re -i "C:\Users\Public\Videos\Sample Videos\Wildlife.wmv" -an -sn -c:v bmp -pix_fmt bgr24 -f rawvideo - > junk.bin

它工作正常。但是,当我产生完全相同的东西(减去> junk.bin)时,我会在几秒钟的播放后得到这个令人讨厌的“坏标题”错误。是什么造成的?我很难相信我的进程阻塞管道比文件系统更长,但它应该能够无限制地阻塞管道而不会破坏解码。截断的stderr在下面。我生成该东西的代码是here

ffmpeg version N-60761-g916a792 Copyright (c) 2000-2014 the FFmpeg developers
  built on Feb 19 2014 21:57:22 with gcc 4.8.2 (GCC)
  configuration: --target-os=mingw32 --enable-shared --enable-runtime-cpudetect
  libavutil      52. 65.100 / 52. 65.100
  libavcodec     55. 52.102 / 55. 52.102
  libavformat    55. 33.100 / 55. 33.100
  libavdevice    55. 10.100 / 55. 10.100
  libavfilter     4.  1.103 /  4.  1.103
  libswscale      2.  5.101 /  2.  5.101
  libswresample   0. 17.104 /  0. 17.104
cygwin warning:
  MS-DOS style path detected: C:\Users\Public\Videos\Sample Videos\Wildlife.wmv
  Preferred POSIX equivalent is: /cygdrive/c/Users/Public/Videos/Sample Videos/Wildlife.wmv
  CYGWIN environment variable option "nodosfilewarning" turns off this warning.
  Consult the user's guide for more details about POSIX paths:
    http://cygwin.com/cygwin-ug-net/using.html#using-pathnames
[asf @ 0x600059480] Stream #0: not enough frames to estimate rate; consider increasing probesize
Guessed Channel Layout for  Input Stream #0.0 : stereo
Input #0, asf, from 'C:\Users\Public\Videos\Sample Videos\Wildlife.wmv':
  Metadata:
    SfOriginalFPS   : 299700
    WMFSDKVersion   : 11.0.6001.7000
    WMFSDKNeeded    : 0.0.0.0000
    comment         : Footage: Small World Productions, Inc; Tourism New Zealand | Producer: Gary F. Spradling | Music: Steve Ball
    title           : Wildlife in HD
    copyright       : © 2008 Microsoft Corporation
    IsVBR           : 0
    DeviceConformanceTemplate: AP@L3
  Duration: 00:00:30.09, start: 0.000000, bitrate: 6977 kb/s
    Stream #0:0(eng): Audio: wmav2 (a[1][0][0] / 0x0161), 44100 Hz, stereo, fltp, 192 kb/s
    Stream #0:1(eng): Video: vc1 (Advanced) (WVC1 / 0x31435657), yuv420p, 1280x720, 5942 kb/s, 29.97 tbr, 1k tbn, 1k tbc
Output #0, rawvideo, to 'pipe:':
  Metadata:
    SfOriginalFPS   : 299700
    WMFSDKVersion   : 11.0.6001.7000
    WMFSDKNeeded    : 0.0.0.0000
    comment         : Footage: Small World Productions, Inc; Tourism New Zealand | Producer: Gary F. Spradling | Music: Steve Ball
    title           : Wildlife in HD
    copyright       : © 2008 Microsoft Corporation
    IsVBR           : 0
    DeviceConformanceTemplate: AP@L3
    encoder         : Lavf55.33.100
    Stream #0:0(eng): Video: bmp, bgr24, 1280x720, q=2-31, 200 kb/s, 90k tbn, 29.97 tbc
Stream mapping:
  Stream #0:1 -> #0:0 (vc1 -> bmp)
Press [q] to stop, [?] for help
frame=    3 fps=0.0 q=0.0 size=    8100kB time=00:00:00.10 bitrate=662902.1kbits/s    
frame=   29 fps= 26 q=0.0 size=   78302kB time=00:00:00.96 bitrate=662902.3kbits/s    
frame=   50 fps= 30 q=0.0 size=  135003kB time=00:00:01.66 bitrate=662902.2kbits/s    
frame=   65 fps= 30 q=0.0 size=  175503kB time=00:00:02.16 bitrate=662902.2kbits/s    
frame=   80 fps= 30 q=0.0 size=  216004kB time=00:00:02.66 bitrate=662902.1kbits/s    
frame=   95 fps= 30 q=0.0 size=  256505kB time=00:00:03.16 bitrate=662902.1kbits/s    
[asf @ 0x600059480] ff asf bad header 74  at:5053733
[asf @ 0x600059480] invalid packet_length -1908511255 at:5053740
[asf @ 0x600059480] ff asf bad header d4  at:5053759
[asf @ 0x600059480] ff asf skip 55629 (unknown stream)
[asf @ 0x600059480] ff asf bad header 0  at:5181733
[asf @ 0x600059480] ff asf skip 7991 (unknown stream)
[asf @ 0x600059480] ff asf bad header 0  at:5189733
[asf @ 0x600059480] ff asf skip 7991 (unknown stream)
[asf @ 0x600059480] ff asf bad header 0  at:5197733
[asf @ 0x600059480] ff asf skip 7991 (unknown stream)
[asf @ 0x600059480] ff asf bad header 0  at:5205733
[asf @ 0x600059480] ff asf skip 7991 (unknown stream)
[asf @ 0x600059480] ff asf bad header 0  at:5213733
[asf @ 0x600059480] ff asf skip 7991 (unknown stream)
[asf @ 0x600059480] ff asf bad header 0  at:5221733
[asf @ 0x600059480] ff asf skip 7991 (unknown stream)
[asf @ 0x600059480] ff asf bad header 0  at:5229733
[asf @ 0x600059480] ff asf skip 7991 (unknown stream)
[asf @ 0x600059480] ff asf bad header 0  at:5237733
[asf @ 0x600059480] ff asf skip 7991 (unknown stream)
[asf @ 0x600059480] ff asf bad header 0  at:5245733
[asf @ 0x600059480] ff asf skip 7991 (unknown stream)
[asf @ 0x600059480] ff asf bad header 0  at:5357733
[asf @ 0x600059480] ff asf skip 7991 (unknown stream)
[asf @ 0x600059480] ff asf bad header 0  at:5365733
[asf @ 0x600059480] ff asf skip 7991 (unknown stream)
[asf @ 0x600059480] ff asf bad header 0  at:5373733
[asf @ 0x600059480] ff asf skip 7991 (unknown stream)
[asf @ 0x600059480] ff asf bad header 0  at:5381733
[asf @ 0x600059480] ff asf skip 7991 (unknown stream)
[asf @ 0x600059480] ff asf bad header 0  at:5493733
[asf @ 0x600059480] ff asf skip 7991 (unknown stream)
[asf @ 0x600059480] ff asf bad header 0  at:5501733
[asf @ 0x600059480] ff asf skip 7991 (unknown stream)
[asf @ 0x600059480] ff asf bad header 0  at:5509733
[asf @ 0x600059480] ff asf skip 7991 (unknown stream)
[asf @ 0x600059480] ff asf bad header 0  at:5517733
[asf @ 0x600059480] ff asf skip 7991 (unknown stream)
[asf @ 0x600059480] ff asf bad header 0  at:5629733
[asf @ 0x600059480] ff asf skip 7991 (unknown stream)
[asf @ 0x600059480] ff asf bad header 0  at:5637733
[asf @ 0x600059480] ff asf skip 7991 (unknown stream)
[asf @ 0x600059480] ff asf bad header 0  at:5645733
[asf @ 0x600059480] ff asf skip 7991 (unknown stream)
[asf @ 0x600059480] ff asf bad header 0  at:5653733
[asf @ 0x600059480] ff asf skip 7991 (unknown stream)
[asf @ 0x600059480] ff asf bad header 0  at:5701733
[asf @ 0x600059480] ff asf skip 7991 (unknown stream)
[asf @ 0x600059480] ff asf bad header 0  at:5709733
[asf @ 0x600059480] ff asf skip 7991 (unknown stream)
[asf @ 0x600059480] ff asf bad header 0  at:5717733
[asf @ 0x600059480] ff asf skip 7991 (unknown stream)
[asf @ 0x600059480] ff asf bad header 0  at:5725733
[asf @ 0x600059480] ff asf skip 7991 (unknown stream)
[asf @ 0x600059480] ff asf bad header 0  at:5805733
[asf @ 0x600059480] ff asf skip 7991 (unknown stream)
[asf @ 0x600059480] ff asf bad header 0  at:5813733
[asf @ 0x600059480] ff asf skip 7991 (unknown stream)
[asf @ 0x600059480] ff asf bad header 0  at:5821733
[asf @ 0x600059480] ff asf skip 7991 (unknown stream)
[asf @ 0x600059480] ff asf bad header 0  at:5829733
[asf @ 0x600059480] ff asf skip 7991 (unknown stream)
[asf @ 0x600059480] ff asf bad header 0  at:5877733
[asf @ 0x600059480] ff asf skip 7991 (unknown stream)
[asf @ 0x600059480] ff asf bad header 0  at:5885733
[asf @ 0x600059480] ff asf skip 7991 (unknown stream)
[asf @ 0x600059480] ff asf bad header 0  at:5893733
[asf @ 0x600059480] ff asf skip 7991 (unknown stream)
[asf @ 0x600059480] ff asf bad header 0  at:5901733
[asf @ 0x600059480] ff asf skip 7991 (unknown stream)
[asf @ 0x600059480] ff asf bad header 0  at:5949733
[asf @ 0x600059480] ff asf skip 7991 (unknown stream)
[asf @ 0x600059480] ff asf bad header 0  at:5957733
[asf @ 0x600059480] ff asf skip 7991 (unknown stream)
[asf @ 0x600059480] ff asf bad header 0  at:5965733
[asf @ 0x600059480] ff asf skip 7991 (unknown stream)
[asf @ 0x600059480] ff asf bad header 0  at:5973733
[asf @ 0x600059480] ff asf skip 7991 (unknown stream)
[asf @ 0x600059480] packet_obj_size invalid
    Last message repeated 15 times
[asf @ 0x600059480] unexpected packet_replic_size of 2
[asf @ 0x600059480] packet_obj_size invalid
    Last message repeated 7 times
[asf @ 0x600059480] ff asf skip 2562 (unknown stream)
[asf @ 0x600059480] packet_obj_size invalid
    Last message repeated 3 times
[asf @ 0x600059480] ff asf skip 448 (unknown stream)
[asf @ 0x600059480] packet_obj_size invalid
    Last message repeated 9 times
[asf @ 0x600059480] unexpected packet_replic_size of 6
[asf @ 0x600059480] packet_obj_size invalid
    Last message repeated 7 times
[asf @ 0x600059480] packet_frag_size is invalid (1749-9)
[asf @ 0x600059480] packet_obj_size invalid
    Last message repeated 13 times
[asf @ 0x600059480] packet_frag_size is invalid (1749-9)
[asf @ 0x600059480] packet_obj_size invalid
    Last message repeated 24 times
[asf @ 0x600059480] unexpected packet_replic_size of 6
[asf @ 0x600059480] packet_obj_size invalid
    Last message repeated 6 times
[asf @ 0x600059480] unexpected packet_replic_size of 5
[asf @ 0x600059480] packet_obj_size invalid
    Last message repeated 6 times
[asf @ 0x600059480] packet_frag_size is invalid (1749-9)
[asf @ 0x600059480] packet_obj_size invalid
[asf @ 0x600059480] packet_frag_size is invalid (1749-9)
[asf @ 0x600059480] packet_obj_size invalid
    Last message repeated 2 times
[asf @ 0x600059480] unexpected packet_replic_size of 5
[asf @ 0x600059480] packet_obj_size invalid
    Last message repeated 8 times
[asf @ 0x600059480] unexpected packet_replic_size of 5
[asf @ 0x600059480] packet_obj_size invalid
    Last message repeated 39 times
[asf @ 0x600059480] packet_frag_size is invalid (1749-40)

1 个答案:

答案 0 :(得分:0)

尝试删除-re选项。它告诉ffmpeg read from the input at the native framerate,并且硬盘,ffmpeg和输出捕获程序之间可能存在一些同步或瓶颈问题。

由于您的输入存储在本地磁盘上,因此似乎没有任何理由不能正常读取文件。