ffmepg+SDL2编译安装生成ffplay播放器

2023-05-16

ffmpeg+SDL2编译生成ffplay播放器

SDL2:
Simple DirectMedia Layer 是一个跨平台开发库,旨在通过 OpenGL 和 Direct3D 提供对音频、键盘、鼠标、游戏杆和图形硬件的低级访问。它被视频播放软件、模拟器和流行游戏使用,包括Valve的获奖目录和许多Humble Bundle游戏。
SDL 正式支持 Windows、Mac OS X、Linux、iOS 和 Android。可以在源代码中找到对其他平台的支持。
SDL官网:https://www.libsdl.org/index.php

ffmpeg:
FFmpeg 是领先的多媒体框架,能够解码、编码、 转码、复用、解复用、流、过滤和播放人类和机器创造的几乎任何东西。它支持最前沿的最晦涩的古代格式。无论它们是由某个标准委员会、社区还是公司设计的。它还具有高度的可移植性:FFmpeg在各种构建环境、机器架构和配置下编译、运行并通过我们的测试基础设施 FATE,跨越 Linux、Mac OS X、Microsoft Windows、BSD、Solaris 等。
ffmpeg官网:https://ffmpeg.org/

一、编译生成ffplay播放器首先需要安装SDL2的库文件

SDL2安装(联网):
sudo apt-get install libsdl2-2.0 
sudo apt-get install libsdl2-dev
apt-get install libsdl2-mixer-dev
sudo apt-get install libsdl2-image-dev 
sudo apt-get install libsdl2-ttf-dev 
sudo apt-get install libsdl2-gfx-dev

二、编译ffmpeg
编译安装ffmpeg方式有很多,这里介绍下载指定版本安装包编译。
安装包官网获取:https://ffmpeg.org/download.html
1、解压ffmepeg

[root@node1 ffmpeg]# ls
ffmpeg-3.4.8.tar.gz
[root@node1 ffmpeg]# tar zxvf ffmpeg-3.4.8.tar.gz 

2、进入解压出来的目录

[root@node1 ffmpeg]# ls
ffmpeg-3.4.8  ffmpeg-3.4.8.tar.gz
[root@node1 ffmpeg]# cd ffmpeg-3.4.8
[root@node1 ffmpeg-3.4.8]# ls
Changelog         COPYING.LGPLv3  libavdevice    libswscale   RELEASE_NOTES
compat            CREDITS         libavfilter    LICENSE.md   tests
configure         doc             libavformat    MAINTAINERS  tools
CONTRIBUTING.md   ffbuild         libavresample  Makefile     VERSION
COPYING.GPLv2     fftools         libavutil      presets
COPYING.GPLv3     INSTALL.md      libpostproc    README.md
COPYING.LGPLv2.1  libavcodec      libswresample  RELEASE

3、设置配置项

./configure --enable-ffplay --enable-shared --prefix=/usr/local/ffmpeg --disable-x86asm

4、编译和安装

执行编译:make -j 4
执行安装:make install

5、安装完成后要配置FFmpeg动态库的路径

sudo vi /etc/ld.so.conf
末尾添加一行:
/usr/local/ffmpeg/lib
重启生效:
sudo ldconfig
#运行ffplay播放器
ffplay [视频文件名]
#查看视频文件信息
ffprobe [视频文件名]
视频文件格式转换
ffmpeg -i xxx.xxx -threads 8 -preset ultrafast xxx.xxx

6、测试ffplay播放器

ffplay 3.mp4

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ffmepg+SDL2编译安装生成ffplay播放器 的相关文章

随机推荐

  • 【墨刀】用墨刀勾画原型--20230420

    墨刀项目链接 https modao cc app UkI2bGd5rt9ibllVWOVvpl 统一训练管理平台 分享 墨刀关键技巧 理解墨刀的关键在于组件状态 理解墨刀的关键在于组件状态 理解墨刀的关键在于组件状态 帮助中心https
  • 【Django】Django ORM Cookbook--20230427

    英文版http books agiliq com projects django orm cookbook en latest 中文版https django orm cookbook zh cn readthedocs io zh CN
  • 【转载】Identityserver4 端点说明--20230510

    https blog csdn net Diliges article details 114638066 请求数据 xff08 Body xff09 sample PS 本周收获 xff0c 给API发请求得到数据
  • MySQL-将查询到的sql导入一张新表(新表未创建)

    语法 xff1a create table ex table A select from table A ex table A 是新创建的表的表名 root 64 localhost mysql uroot p Enter password
  • 笔记本连接WiFi后浏览器不能上网,但是连接手机热点就可以。问题解决!!!

    原因 xff1a 电脑自动获取DNS出现问题 解决方法 xff1a 一 设置电脑DNS 当电脑遇到DNS故障时 xff0c 我们可以尝试使手动设置其他DNS解析服务 xff0c 国内已经有很多公共DNS xff0c 包括阿里云DNS xff
  • WSL2配置网络代理

    注意 xff1a 本文参考自文章 xff1a WSL2配置代理 xff0c 是对原文的补充 xff0c 使其适用于河对岸云服务代理 1 开启Windows代理 1 1 开启代理软件的局域网访问权限 请注意 xff1a 本文的WSL2代理配置
  • WSL2使用Nvidia-Docker实现CUDA版本自由切换

    众所周知 xff0c 深度学习的环境往往非常麻烦 xff0c 经常不同的项目所依赖的 torch tensorflow 包对 CUDA 的版本也有不同的要求 xff0c Linux 下进行 CUDA 的管理比较麻烦 xff0c 是一个比较头
  • 基于51单片机——60秒倒计时时钟

    设计要求 xff1a 两个数码管实现从59开始显示倒计时时钟 硬件电路连接 程序 include lt reg52 h gt unsigned char second timer void t1 init 中断初始化 TMOD 61 0x1
  • 【STM32】使用VSCode编辑STM32cubeIDE工程

    问题描述 xff1a 使用VSCode编辑STM32cubeIDE工程解决路径报错问题 操作步骤 第一步 xff1a 用VSCode打开创建好的STM32cubeIDE工程的文件夹 如图会看到很多报错 第二步 xff1a 创建VSCode文
  • 机器学习之逻辑回归

    一 逻辑回归基本介绍 Logistic Regression 用于分类问题监督学习算法 二 逻辑回归工作原理 根据现有数据对分类边界线建立回归公式 xff0c 具体分为以下三步 1 将决策边界表示为 z 61 W1X1 43 W2X2 43
  • Java数组:一维数组中元素移动问题

    描述 描述 给定一组整数 xff0c 要求利用数组把这组数保存起来 xff0c 实现对数组中的数循环移动 假定共有n个整数 xff0c 则要使前面各数顺序向后移m个位置 xff0c 并使最后m个数变为最前面的m个数 要求只用一个数组的方式实
  • iOS UIAlertController 用法介绍

    原文 xff1a https www jianshu com p b72753c51b39 UIAlertController UIAlertController的用法很简单 我们却经常使用 它用以取代iOS 8 0 之前的UIAlertV
  • 问题解决:在基于anaconda的spyder中安装第三方库

    问题描述 cmd中python包的工作路径与anaconda安装路径是同一级目录 xff0c 因此anaconda下的spyder并不能检测到该包 xff0c 直接使用命令行win 43 r cmd pip无效 xff1a 解决方案 找到a
  • postgresql表操作

    postgresql数据库操作 1 表基本操作1 1创建表1 2 查看表1 3清空表数据1 4删除表1 5退出数据库 2 表属性操作2 1增加列2 2删除列2 3修改列属性2 4增加列非空约束2 5 增加列唯一约束2 6删除主键约束2 7创
  • linux用户设置

    目录 用户和用户组 cy 用户名 cy xff1a 用户全名称 su xff1a 切换用户 userdel xff1a 删除用户 groupadd xff1a 创建组 普通组 xff0c 由系统默认生成的叫做主组 gpasswd xff1a
  • 输入十个数,求最大数,最小数,以及去掉两最值数的平均值。

    实现简单的评分 十个评分 xff0c 去最高和最低分 xff0c 求最后的平均分
  • Windows虚拟机通过libvirt使用CEPH RBD

    kvm虚拟机通过 libvirt 挂在 ceph rbd作为数据盘 一 首先确定我们的ceph环境是HEALTH OK span class token punctuation span root 64 cephmon ceph span
  • 英伟达独立显卡直通虚拟机

    显卡直通KVM虚拟机 1 确认CPU是否支持硬件虚拟化 egrep span class token operator span o span class token string 39 vmx svm 39 span span class
  • Nginx反向代理实现部署dist文件

    Linux服务器安装nginx可以参考文章 Linux服务器安装Nginx Nginx常用命令可以参考文章 Nginx 启动 关闭 重启 检测等常用命令 1 创建文件存放dist文件 我的nginx安装目录为 xff1a usr local
  • ffmepg+SDL2编译安装生成ffplay播放器

    ffmpeg 43 SDL2编译生成ffplay播放器 SDL2 xff1a Simple DirectMedia Layer 是一个跨平台开发库 xff0c 旨在通过 OpenGL 和 Direct3D 提供对音频 键盘 鼠标 游戏杆和图