前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >在macOS系统上编译支持H265编码的ffplay播放器|技术创作特训营第一期

在macOS系统上编译支持H265编码的ffplay播放器|技术创作特训营第一期

原创
作者头像
liuzhen007
发布2023-08-21 07:37:59
1.6K3
发布2023-08-21 07:37:59
举报
文章被收录于专栏:流媒体音视频

1、编译环境

1.1 硬件环境

1)MacBook Air 2022

2)苹果 M2 芯片

1.2 软件环境

1)苹果系统 13.0

2)FFmpeg 5.1

2、编译步骤

2.1 安装x265

1)下载x265代码

命令:

代码语言:javascript
复制
git clone https://bitbucket.org/multicoreware/x265_git.git

2)编译x265

命令:

代码语言:javascript
复制
cd x265_git/build/xcode
cmake -DCMAKE_INSTALL_PREFIX=$(pwd)/build -DENABLE_SHARED=OFF ../../source
make -j10

3)安装x265

命令:

代码语言:javascript
复制
make install

2.2 安装FFmpeg

1)下载FFmpeg代码

命令:

代码语言:javascript
复制
git clone https://github.com/FFmpeg/FFmpeg.git

切换到5.1.2分支,命令:

代码语言:javascript
复制
cd FFmpeg 
git checkout n5.1.2

2)替换FLV代码

命令:

代码语言:javascript
复制
git clone -b 5.1 https://github.com/runner365/ffmpeg_rtmp_h265.git
cp ffmpeg_rtmp_h265/flv.h FFmpeg/libavformat/
cp ffmpeg_rtmp_h265/flv*.c FFmpeg/libavformat/

3)安装FFmpeg

设置FFmpeg与x265的配置关系,命令:

代码语言:javascript
复制
export PKG_CONFIG_PATH=/project/x265_git/build/xcode/build/lib/pkgconfig \
./configure \
  --prefix=$(pwd)/build \
  --enable-gpl --enable-nonfree --enable-pthreads --extra-libs=-lpthread \
  --disable-asm --disable-x86asm --disable-inline-asm \
  --enable-decoder=aac --enable-decoder=aac_fixed --enable-decoder=aac_latm --enable-encoder=aac \
  --enable-libx264 --enable-libx265 \
  --pkg-config-flags='--static' \
  --enable-sdl \
  --enable-ffplay

编译及安装,命令:

代码语言:javascript
复制
make -j10
make install

2.3 解决报错

1)ERROR: x265 not found using pkg-config

解决:

代码语言:javascript
复制
wget https://pkg-config.freedesktop.org/releases/pkg-config-0.29.2.tar.gz
tar -xvf pkg-config-0.29.2.tar.gz
cd pkg-config-0.29.2
./configure --with-internal-glib
make -j9
make install

2)ERROR: sdl2 requested but not found

解决:

代码语言:javascript
复制
brew install SDL2

3、验证结果

3.1 生成H265媒体流

利用刚才生成ffplay时,同时生成的ffmpeg文件,我们可以生成一路包含H265编码的RTMP媒体流,命令:

代码语言:javascript
复制
./ffmpeg -stream_loop -1 -re -i source.flv -c:a copy -c:v libx265 -f flv rtmp://localhost/live/h265stream

3.2 播放H265媒体流

实用ffplay播放刚才生成的H265媒体流验证一下编译结果,命令:

代码语言:javascript
复制
./ffplay rtmp://localhost/live/h265stream

3.3 效果截图


#【选题思路】

现在音视频技术非常火,windows系统下支持H265编码格式的ffplay播放器比较多,但是macOS系统下的ffplay播放器却非常少,几乎是没有,就更不用说编译的教程了。所以,我就想把自己知道的知识分享出来,希望可以帮助到大家。stormzhang老师说技术文章的软硬件环境要写的足够细致,我感觉很对。因为自己经常照着网上的教程操作,结果一地鸡毛,最后发现是环境问题,所以我在开头重点描述了相关信息。

#【创作提纲】

1、描述编译播放器的软硬件环境。

2、介绍编译步骤,包括哪些重点内容和模块,比如x265、FFmpeg等。

3、生成ffplay播放器后,如何验证播放效果。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1、编译环境
    • 1.1 硬件环境
      • 1.2 软件环境
      • 2、编译步骤
        • 2.1 安装x265
          • 2.2 安装FFmpeg
            • 2.3 解决报错
            • 3、验证结果
              • 3.1 生成H265媒体流
                • 3.2 播放H265媒体流
                  • 3.3 效果截图
                  • #【选题思路】
                  • #【创作提纲】
                  领券
                  问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档