代码之家  ›  专栏  ›  技术社区  ›  dancavallaro

对MPEG-2视频进行程序化转码

  •  2
  • dancavallaro  · 技术社区  · 17 年前

    我需要能够以编程方式将mpeg-2文件转码为.mp4、.mp3、.wmv、.rm(可选)和.flv(可选),并希望生成缩略图。我找到了Java媒体框架,但坦率地说,它看起来很糟糕。这将运行一个Linux服务器,所以我可以使用Commons Exec向ffmpeg支付费用——ffmpeg能完成我需要做的一切吗?FFmpeg看起来相当令人望而生畏,这就是为什么我很难找到这些信息,但它肯定是万事通。有什么建议吗?

    4 回复  |  直到 17 年前
        1
  •  5
  •   Stu Thompson Helter Scelter    16 年前

    Ffmpeg是最好和最简单的。要输出/转换视频,请执行以下操作:

    ffmpeg -i {input}.ext -r {target_frame_rate} -ar {target_audio_rate} -b {target_bitrate} -s {width}x{height} {target}.ext
    

    还有你的截图:

    ffmpeg -i {input}.ext -r 1 -ss 00:00:04:005 -t 00:00:01 -an -s {width}x{height} {target_name}%d.jpg
    

    15 fps是flv的标准,flv的音频采样率应为44100。使用选项: -r 指定帧速率为1fps(一帧用作屏幕截图), -ss 寻求你想要的职位 hh:mm:ss:fff , -t 是持续时间(1秒以匹配您的帧率), -an 告诉ffmpeg忽略音频,并且 -s 是屏幕截图的大小。这个 %d 是必要的,因为它将是您使用的屏幕截图数量的递增数字。鉴于上述情况, d 将始终是数字1(一帧,一个屏幕截图)。祝你好运。

        2
  •  2
  •   Brandon    17 年前

    一个有趣的网络服务 encoding.com 将为您转码文件。

        3
  •  2
  •   Art Clarke    16 年前

    您还可以使用 Xuggler Java提供了比JMF更好的编解码器和编码支持。

        4
  •  0
  •   codelogic    17 年前

    Linux上流行的转码应用程序是ffmpeg, transcode 和 mencoder 转码和mencoder都使用ffmpeg,这三种都可以处理您所需的任务,包括FLV转码和视频缩略图。ffmpeg可能是三者中最受欢迎的,所以你可能会找到更好的在线支持。同样值得一提的是,ffmpeg支持多线程转码。

    我建议使用ffmpeg。