(2021年3月) mpv 和 ffmpeg 的区别

目的是什么?

如果要做一个视频播放器或音频播放器,应该用 mpv 还是 ffmpeg?

写这篇文章的意义?

我刚开始接触 mpv 和 FFmpeg 这两者时搞不清他们的关系,现在搞清楚了就记下来,给读者节省一点时间。

总结

没心情写长文,长话短说。

如果要做一个视频播放器,用 mpv 是最好的,比 ffmpeg 方便很多。
只需要把文件地址交给 mpv,让它来解析就行,怎么给参数 mpv 的网站写的很清楚:
https://mpv.io/manual/master/#command-interface

如果你用 ffmpeg,你需要用它的 API 去解析视频,解析音频,然后做音视频同步,等等,
更加细节的东西。
比如:https://github.com/rambodrahmani/ffmpeg-video-player

你需要了解 FFmpeg 里各种结构体的概念,怎么用 C 去写,等等。很费时间。

其他信息

  • macOS 上的 IINA 播放器用的就是 mpv
  • mpv 基于 MPlayer 和 mplayer2,而它们基于 FFmpeg 等一系列其他工具

mpv 文档开篇原话:

mpv is a media player based on MPlayer and mplayer2

结论

用 mpv。
在 macOS 上已经有 IINA 证明了用 mpv 是可行的。
Windows 那边的情况我暂时不了解。