LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 708|回复: 7

有关mplayer的解码器疑问问下大家

[复制链接]
发表于 2011-11-6 21:42:28 | 显示全部楼层 |阅读模式
现在的mplayer放real媒体格式已经不需要下那个codecs了,一直以为是ffmpeg的功劳,但今天试装mplayer2的时候提示需要新装ffmpeg,于是发现我系统中原来是没有装ffmpeg的,这就奇怪了,在没装ffmpeg的情况下用mplayer播文件照样提示
  1. 正打开视频解码器:[ffmpeg] FFmpeg's libavcodec codec family
  2. 所选视频编解码器为:[ffrv40] vfm: ffmpeg (FFmpeg RV40)
  3. ==========================================================================
  4. ==========================================================================
  5. 正打开音频解码器:[ffmpeg] FFmpeg/libavcodec audio decoders
  6. AUDIO: 44100 Hz, 2 ch, s16le, 192.0 kbit/13.61% (ratio: 24000->176400)
  7. 所选音频编解码器为:[ffaac] afm: ffmpeg (FFmpeg AAC (MPEG-2/MPEG-4 Audio))
复制代码

这不是也在用ffmpeg吗?我找了半天也没找到它调用的解码库在哪,哪位能指点一下?

据这篇文章
http://blog.splayer.org/index.ph ... %E7%AE%80%E6%9E%90/
来看,mplayer应该是ffmpeg紧密不分的?
发表于 2011-11-6 22:23:08 | 显示全部楼层
mplayer和ffmpeg不分家,貌似是mplayer代码集成了那些解码器。如果真的想用 ffmpeg 播放视频,你应该试试 ffplay
"想不用ffmpeg去写媒体播放器,就像是造汽车而不用车轮。"
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-11-6 22:37:08 | 显示全部楼层
开始也这么想,但是equery f mplayer里除了几个可执行文件就是doc了,应该没有解码器的,难道在mplayer依赖的其他包里?如果这样为啥不依赖ffmpeg得了~
回复 支持 反对

使用道具 举报

发表于 2011-11-7 08:12:54 | 显示全部楼层

  • 从mplayer的源码来看,mplayer自带ffmpeg...
    1. mplayer-1.0_rc4_p20110322/ffmpeg/
    2. mplayer-1.0_rc4_p20110322/ffmpeg/.gitignore
    3. mplayer-1.0_rc4_p20110322/ffmpeg/ffprobe.c
    4. mplayer-1.0_rc4_p20110322/ffmpeg/libavcodec/
    5. mplayer-1.0_rc4_p20110322/ffmpeg/libavcodec/qtrle.c
    6. mplayer-1.0_rc4_p20110322/ffmpeg/libavcodec/mdec.c
    7. mplayer-1.0_rc4_p20110322/ffmpeg/libavcodec/eatgv.c
    8. mplayer-1.0_rc4_p20110322/ffmpeg/libavcodec/mpeg12.c
    9. mplayer-1.0_rc4_p20110322/ffmpeg/libavcodec/mpegaudioenc.c
    10. mplayer-1.0_rc4_p20110322/ffmpeg/libavcodec/pngenc.c
    11. mplayer-1.0_rc4_p20110322/ffmpeg/libavcodec/g729dec.c
    12. mplayer-1.0_rc4_p20110322/ffmpeg/libavcodec/dwt.h
    13. mplayer-1.0_rc4_p20110322/ffmpeg/libavcodec/eacmv.c
    14. mplayer-1.0_rc4_p20110322/ffmpeg/libavcodec/aacps.h
    15. mplayer-1.0_rc4_p20110322/ffmpeg/libavcodec/wnv1.c
    16. mplayer-1.0_rc4_p20110322/ffmpeg/libavcodec/unary.h
    17. mplayer-1.0_rc4_p20110322/ffmpeg/libavcodec/h261_parser.c
    18. mplayer-1.0_rc4_p20110322/ffmpeg/libavcodec/mpegaudio.c
    19. mplayer-1.0_rc4_p20110322/ffmpeg/libavcodec/h264_ps.c
    20. ...
    复制代码
  • mplayer的9999版本可以使用系统的ffmpeg而非自带的版本。
  • mplayer2(mplayer forked的改良版本)使用系统的ffmpeg。
回复 支持 反对

使用道具 举报

发表于 2011-11-7 09:13:41 | 显示全部楼层
ffmpeg 广义上可以指 ffmpeg 解决方案,包括基础库部分 libavcodec 和 狭义的命令行工具 ffmpeg。

mplayer 和其他类似的播放器,依赖的都是基础库部分,他们或者显式声明依赖 libavcodec,或者直接内置 libavcodec 的源码。

所以 mplayer 广义上一定依赖 ffmpeg 解决方案,狭义上不依赖 ffmpeg 命令行工具。

进一步的,ffmpeg 解决方案已经在几个月前更名为 Libav,包括基础库部分 libavcodec 和命令行工具 avconv(与原来的 ffmpeg 不同)。ffmpeg 作为框架名称已经被废弃,作为命令行工具已经被改良过的 avconv 代替。

http://libav.org/
回复 支持 反对

使用道具 举报

发表于 2011-11-7 18:16:26 | 显示全部楼层
Post by AutoXBC;2154465

进一步的,ffmpeg 解决方案已经在几个月前更名为 Libav,包括基础库部分 libavcodec 和命令行工具 avconv(与原来的 ffmpeg 不同)。ffmpeg 作为框架名称已经被废弃,作为命令行工具已经被改良过的 avconv 代替。

http://libav.org/


其实ffmpeg没有更名,是ffmpeg的开发者发生了分裂。某些淘气的开发者fork了ffmpeg并更名为libav... 哪个是改良的我个人不太清楚,不过鉴于ffmpeg的版本号涨的更快,我目前仍在使用ffmpeg...

https://lwn.net/Articles/423702/
回复 支持 反对

使用道具 举报

发表于 2011-11-8 08:57:53 | 显示全部楼层
不了解内情,查了一下 debian 系的已经全体将旧的 ffmpeg 项目踢出仓库了。
回复 支持 反对

使用道具 举报

发表于 2011-11-8 09:30:06 | 显示全部楼层
抓snapshot为版本的ffmpeg....
个人看好libav.....

ebuild处理也蛮方便的,mask掉media-video/ffmpeg,装media-video/libav

其余依赖media-video/ffmpeg的包都改为依赖virtual/ffmpeg

酱紫就自动转到media-video/libav了....
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表