macOS编译ffmpeg中的播放器ffplay

栏目: IT技术 · 发布时间: 4年前

内容简介:之前写过一篇关于编译ffmpeg的文章,地址:linux安装ffmpeg本文在那篇基础上,讲怎么编译ffmpeg的播放器ffplay。本次实验环境:

之前写过一篇关于编译ffmpeg的文章,地址:linux安装ffmpeg

本文在那篇基础上,讲怎么编译ffmpeg的播放器ffplay。

本次实验环境:

  • macOS Catalina 10.15.1
  • FFmpeg 3.4

在ffmpeg目录下执行 ./configure (携带好需要的参数),输出的信息包含了会编译哪些可执行程序:

Programs:
ffmpeg			  ffprobe		    ffserver

可以看到,并不包含ffplay。这是由于ffplay依赖sdl库,我本地环境没有,所以需要先安装sdl库。

在ffmpeg目录下执行 ./configure -h ,输出的信息可以看到这么一行:

--disable-sdl2           disable sdl2 [autodetect]

说明使用的是sdl2,并且如果当前环境有sdl2的话,会自动检测并使用。

这里我们选择源码安装sdl2:

$wget https://www.libsdl.org/release/SDL2-2.0.12.tar.gz
$cd SDL2-2.0.12/
$./configure
$make && make install

再次回到ffmpeg目录下执行 ./configure (携带好需要的参数),显示如下信息:

Programs:
ffmpeg			  ffplay		    ffprobe		      ffserver

说明会包含ffplay了,执行make编译:

$make -j8

编译完就可以看到生成好的ffplay等可执行文件了。尝试使用ffplay播放一个文件,一切正常。

最后,再贴一个macOS编译SDL1.2的方法,尽管我本次编译ffplay使用的SDL2,不需要SDL1.2,但是我在编译SDL1.2时也遇到了一些问题,把相关内容贴在这,留给需要的人。

实验环境: macOS Catalina 10.15.1

https://www.libsdl.org/download-1.2.php 这个网站找到源码下载地址。

下载SDL1.2.15,编译,安装:

$wget https://www.libsdl.org/release/SDL-1.2.15.tar.gz
$cd SDL-1.2.15/
$./configure
$make && make install

编译报错:

./include/SDL_syswm.h:58:10: fatal error: 'X11/Xlib.h' file not found
#include <X11/Xlib.h>
         ^~~~~~~~~~~~
1 error generated.

缺少X11,直接下载dmg安装包文件,安装XQuertz,下载地址: https://dl.bintray.com/xquartz/downloads/XQuartz-2.7.11.dmg

再次尝试编译SDL,输出如下信息:

./src/video/quartz/SDL_QuartzVideo.h:94:5: error: unknown type name 'CGDirectPaletteRef'
    CGDirectPaletteRef palette;            /* palette of an 8-bit display */

解决方法是把报错的那行代码注释掉。

再次尝试编译SDL,输出如下信息:

./src/video/x11/SDL_x11sym.h:168:17: error: conflicting types for '_XData32'
SDL_X11_SYM(int,_XData32,(Display *dpy,register long *data,unsigned len),(dpy,data,len),return)

我们修改报错的代码,在register后面增加 _Xconst ,修改后如下:

SDL_X11_SYM(int,_XData32,(Display *dpy,register _Xconst long *data,unsigned len),(dpy,data,len),return)

再次尝试编译SDL,编译通过。

原文链接: https://pengrl.com/p/20043/

原文出处: yoko blog ( https://pengrl.com )

原文作者: yoko ( https://github.com/q191201771 )

版权声明:本文欢迎任何形式转载,转载时完整保留本声明信息(包含原文链接、原文出处、原文作者、版权声明)即可。本文后续所有修改都会第一时间在原始地址更新。

macOS编译ffmpeg中的播放器ffplay


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

正则表达式必知必会

正则表达式必知必会

Ben Forta / 杨涛、王建桥、杨晓云 / 人民邮电出版社 / 2007 / 29.00元

正则表达式是一种威力无比强大的武器,几乎在所有的程序设计语言里和计算机平台上都可以用它来完成各种复杂的文本处理工作。本书从简单的文本匹配开始,循序渐进地介绍了很多复杂内容,其中包括回溯引用、条件性求值和前后查找,等等。每章都为读者准备了许多简明又实用的示例,有助于全面、系统、快速掌握正则表达式,并运用它们去解决实际问题。 本书适合各种语言和平台的开发人员。一起来看看 《正则表达式必知必会》 这本书的介绍吧!

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具