【问题标题】:Error while invoking FFMPEG to create thumbnail image from flash movie调用 FFMPEG 从 Flash 电影创建缩略图时出错
【发布时间】:2010-11-19 14:51:06
【问题描述】:

我正在使用以下 C# 代码从 flv 文件创建缩略图。我正在使用 FFMPEG 从 Flash 电影中提取缩略图

    string inputfile = "D:\\Shyju\\mpgg\\WebSite1\\lss_section3.flv";
    string thumbname = "D:\\Shyju\\mpgg\\WebSite1\\test123.jpg";
    Process process = new Process();
    string thumbargs = "-i \"" + inputfile + "\" -vframes 1 -ss 00:00:07 -s 100x66 \"" + thumbname + "\"";
    process.StartInfo.FileName = "D:\\Shyju\\newFFMPEG\\ffmpeg.exe";
    // string thumbargs = "-i \"" + inputfile + "\" -vframes 1 -ss 00:00:07 -s 100x66 \"" + thumbname + "\"";
    process.StartInfo.Arguments = thumbargs;
    //"-i \"D:\\Shyju\\mpgg\\WebSite1\\viva_home.swf\" -an -ss 00:00:03 -s 120×90 -vframes 1 -f mjpeg \"D:\\Shyju\\mpgg\\WebSite1\\testThumbNail.jpg\"";

    process.StartInfo.UseShellExecute = false;
    process.StartInfo.RedirectStandardError = true;
    process.StartInfo.CreateNoWindow = false;
    process.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;

    process.Start();
    string output2 = process.StandardError.ReadToEnd();
    process.WaitForExit();
    process.Close();

当我运行代码时,我没有得到预期的缩略图。但是在变量 output2 中,我得到了以下信息。

ffmpeg version 0.4.9-pre1, build 4751, Copyright (c) 2000-2004 Fabrice Bellard
  configuration:  --enable-memalign-hack --enable-mp3lame --enable-mingw32 --extra-cflags=-I/local/include --extra-ldflags=-L/local/lib --enable-amr_nb 
  built on Mar 29 2005 07:26:02, gcc: 3.2.3 (mingw special 20030504-1)
[flv @ 0040F954]skipping flv packet: type 18, size 224, flags 0
[flv @ 0040F954]Unsupported video codec (4)  
[flv @ 0040F954]Unsupported video codec (4)  
[flv @ 0040F954]Unsupported video codec (4)  

//这条线出现了20多次

[flv@0040F954]不支持的视频编解码器(4)

似乎流 1 来自电影源:1000.00 (1000/1) -> 0.25 (1/4) 输入 #0,flv,来自 'D:\Shyju\mpgg\WebSite1\lss_section3.flv': 持续时间:不适用,比特率:不适用 流#0.0:音频:mp3、44100 Hz、立体声 流#0.1:视频: 无法为“D:\Shyju\mpgg\WebSite1\test123.jpg”找到合适的输出格式

程序正在 Windows 机器上执行。 谁能告诉我我的代码有什么问题?

【问题讨论】:

    标签: c# ffmpeg


    【解决方案1】:

    Linux 下的 ffmpeg 使用 BSD 样式选项,因此请尝试使用 -(1 个破折号)而不是 --(2 个破折号)来设置选项。

    【讨论】:

      【解决方案2】:

      如果我没记错的话,输出文件名必须是 test%d.jpg - %d 将自动填写。见 http://ffmpeg.org/faq.html#SEC21 那应该是诀窍(错误消息是错误的) 见即http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/2005-May/000696.html

      【讨论】:

      • 在缩略图文件名中添加了 %d。但没有响应。
      猜你喜欢
      • 1970-01-01
      • 2011-12-12
      • 2012-10-18
      • 1970-01-01
      • 2011-12-31
      • 2014-09-07
      • 2015-01-24
      • 1970-01-01
      • 2013-12-20
      相关资源
      最近更新 更多