【问题标题】:What are all of the file extensions supported by FFmpegFFmpeg 支持的所有文件扩展名是什么
【发布时间】:2018-10-08 16:51:46
【问题描述】:

我将如何获取 FFmpeg 支持的所有文件扩展名的列表,以便在 JavaFX 中 FileChooser 使用的 ExtensionFilter 中使用?

我熟悉 FFmpeg 中的“-codecs”和“-formats”选项,但它们列出的格式和编解码器名称不一定与其文件扩展名一致。

例如(“ffmpeg -formats”的部分输出)

  • D aac 原始 ADTS AAC(高级音频编码)
  • DE ac3 原始 AC-3
  • E matroska Matroska

从 ffmpeg 的输出中解析 aac 和 ac3 可以很好地为这些类型的文件创建文件扩展名,但 matroska 具有“.mkv”文件扩展名。

【问题讨论】:

    标签: java javafx ffmpeg


    【解决方案1】:

    没有直接可用的列表。你必须跑

    对于输入格式,ffmpeg -demuxers
    对于输出格式,ffmpeg -muxers

    然后对于每个条目,运行

    对于输入格式,ffmpeg -h demuxer=entry
    对于输出格式,ffmpeg -h muxer=entry

    每个格式读数都会显示类似,

    Muxer matroska [Matroska]:
        Common extensions: mkv.
        Mime type: video/x-matroska.
        Default video codec: h264.
    ...
    

    Demuxer avi [AVI (Audio Video Interleaved)]:
        Common extensions: avi.
    ...
    

    然后您可以从Common extensions 条目中收集所有扩展。

    【讨论】:

    • 感谢您对细节的关注和快速响应。这正是我所需要的。
    • 要获得一个漂亮的列表,运行ffmpeg -demuxers -hide_banner | tail -n +5 | cut -d' ' -f4 | xargs -i{} ffmpeg -hide_banner -h demuxer={} | grep 'Common extensions' | cut -d' ' -f7 | tr ',' $'\n' | tr -d '.' 与复用相同,只需将demux 替换为mux
    猜你喜欢
    • 1970-01-01
    • 2015-03-04
    • 2010-09-08
    • 1970-01-01
    • 2014-01-18
    • 2016-02-18
    • 1970-01-01
    • 2011-03-23
    • 2011-08-23
    相关资源
    最近更新 更多