在ubuntu16.04下测试ffplay程序

Ubuntu系统-FFmpeg安装及环境配置 FCN-4是一个应用于音频自动标注的全卷积神经网络。使用该网络完成音频标注任务时,首先需要使用python的音频处理工具包Librosa提取音频的时频特征,针对mp3格式的音频文件,Librosa读取音频文件的工作依赖音频处理后端ffmpeg完成,因此要求使用该网络进行mp3音频自动标注任务的环境具备Librosa依赖库和ffmpeg。Librosa是一个用于音频、音乐分析、处理的python工具包,具备时频处理、特征提取、绘制声音图形等常用功能。 阅读详情

下载FFmpeg及SDL源码

离上次博文发布已经有一段时间了,这次我们来测试一下强大的FFmpeg播放器程序ffplay,它是FFmpeg原生附带的。
本文编写时,FFmpeg的最新版本是3.4.2,从官网ffmpeg.org上下载ffmpeg-3.4.2.tar.xz源码,通过如下命令解压:

tar xvf ffmpeg-3.4.2.tar.xz

ffplay.c的源码在fftools目录下,我们知道,早期的ffplay版本是基于SDL1.x实现的音视频显示和播放,而现在的ffplay则是基于SDL2.x实现的,因此我们需要到SDL官网(http://www.libsdl.org/)下载,本文编写时的版本是SDL version 2.0.7 (stable),下载并解压缩:

tar xzvf SDL2-2.0.7.tar.gz

编译SDL

要使能ffplay编译,需要Ubuntu系统中支持SDL功能,所以我们首先需要下载SDL的源代码。进入对应目录,配置并编译,安装:

cd SDL2-2.0.7
./configure
make
sudo make install

将完成代码编译和库及头文件安装。

编译ffplay

必须在正确安装SDL库和头文件后,编译FFmpeg源码时,才会自动配置ffplay编译使能,否则在最终的编译结果中,没有ffplay可执行文件产生,这点一定要注意。
在编译FFmpeg源码的时候,默认会编译出ffplay :

tar xvf ffmpeg-3.4.2.tar.xz
cd ffmpeg-3.4.2
./configure --prefix=ffout
make
make install

为了方便的获取编译结果,指定库和头文件的安装路径为ffout(在FFmpeg源码根目录下)。如果在configure过程中遇到nasm/yasm之类的错误,则首先需要更新对应的包:

sudo apt-get install yasm

最后,在ffout/lib目录下是FFmpeg几大库的位置,默认都编译成了.a的静态库,ffout/include是FFmpeg对应的API头文件,而ffplay程序则位于ffout/bin目录下,同时存在的还有ffmpeg,ffprobe,ffserver等几个程序。

测试ffplay

可以通过ffplay程序来测试播放本地影片,比如:

./ffout/bin/ffplay test.avi

顺利的话,可以看到影片的音视频正常播放。
如果遇到如下打印,表示SDL的图形层没有正常加载成功:

ffmpeg@ubuntu:~/work/ffmpeg-3.4.2$ ./ffout/bin/ffplay ../4k.mp4 
ffplay version 3.4.2 Copyright (c) 2003-2018 the FFmpeg developers
  built with gcc 5.4.0 (Ubuntu 5.4.0-6ubuntu1~16.04.4) 20160609
  configuration: --prefix=ffout
  libavutil      55. 78.100 / 55. 78.100
  libavcodec     57.107.100 / 57.107.100
  libavformat    57. 83.100 / 57. 83.100
  libavdevice    57. 10.100 / 57. 10.100
  libavfilter     6.107.100 /  6.107.100
  libswscale      4.  8.100 /  4.  8.100
  libswresample   2.  9.100 /  2.  9.100
Could not initialize SDL - No available video device
(Did you set the DISPLAY variable?)

而SDL图层一般依赖于x11图形系统,所以需要安装对应的包:

sudo apt-get install libx11-dev
sudo apt-get install xorg-dev

安装x11后,需要重新编译和安装SDL,最好是用源代码重新解压缩编译。
如果遇到播放没有声音,需要系统安装对应的音频设备包:

sudo apt-get install libasound-dev
sudo apt-get install libasound2-dev

同样的,完毕后需要彻底重新编译安装SDL。

下面是播放的视频截图:
ffplay播放截图

Ubuntu16.04 编译FFMpeg以及FFPlay 1.下载FFmpeg源码 git clone https://git.ffmpeg.org/ffmpeg.git ffmpeg 2.安装SDL 不安装SDL编译之后不会生成ffplay (1)http://www.libsdl.org/download-2.0.php 下载SDL源码 (2)解压 (3)执行 ./configure make && make in... 阅读详情

相关推荐

Ubuntu18.04 LTS 安装FFmpeg

本文参考https://blog.csdn.net/thomaszhaoyc/article/details/78233555 一、安装系统,升级更新系统 下载Ubuntu18.04.1 LTS ,国内有多个镜像,我在网易下载 https://mirrors.163.com/ubuntu-releases/18.04.1/ 基本默认选项安装,完成后升级操作 $ sudo apt-get ...

gdin的专栏 6382

Ubuntu下FFmpeg的安装方式

Ubuntu下FFmpeg的安装方式详细版

日常记录,挨打要立正! 1万+

Ubuntu 18.04 RTSP推流实战:GStreamer/VLC/FFmpeg协同调试指南

RTSP(实时流传输协议)是安防、边缘计算和嵌入式视频系统中广泛使用的流媒体信令协议,其核心在于客户端-服务器交互、RTP封装与低延迟传输。理解RTSP与HTTP的本质差异(无状态、不缓存、需主动保活)是解决黑屏、卡顿、连接失败等问题的前提。在Linux平台,GStreamer提供可定制的零拷贝管道能力,VLC承担协议探针与容错调试角色,FFmpeg则作为关键的编解码与协议桥接工具。三者并非替代关系,而是分层协作:GStreamer构建底层流图,VLC验证信令与格式兼容性,FFmpeg处理跨协议转换与SDP

weixin_33794672的博客 425

Ubuntu安装FFmpeg

最简单的Ubuntu安装FFmpeg

zeaning的博客 1万+

Ubuntu USB摄像头调试实战:V4L2原理与FFmpeg/GStreamer推流指南

USB摄像头在Linux中并非即插即用,其底层依赖V4L2(Video for Linux 2)视频子系统实现设备抽象与数据交互。V4L2定义了用户空间与内核驱动间的标准接口,支撑MJPG、YUYV、H264等格式的协商与传输,直接影响带宽占用、CPU负载与图像质量。理解UVC协议、设备节点动态分配机制及格式选择的物理意义,是解决黑屏、卡顿、分辨率异常等高频问题的关键。结合v4l2-ctl参数调优、udev设备固化、FFmpeg低延迟推流与GStreamer复杂管道编排,可构建稳定可靠的视频采集链路,广泛应

weixin_34124651的博客 341

FFmpeg 命令行 vs C++ API:RTSP 推流 2 种方案延迟与 CPU 占用实测

本文深入对比了FFmpeg命令行与C++ API两种RTSP推流方案的性能差异,通过实测数据分析了延迟、CPU占用率等关键指标。结果显示,C++ API在延迟方面表现更优(平均210ms),而命令行方案在CPU占用上略低(18.7%)。文章为不同场景提供了选型建议,并分享了高级优化技巧,帮助开发者在音视频处理项目中做出更明智的技术决策。

weixin_30883311的博客 354

[FFmpeg] CMake 单独编译 ffplay 之基础篇

cmake_minimum_required(VERSION 3.0 FATAL_ERROR) project(myplay) find_package(OpenCV REQUIRED) include_directories(${OpenCV_INCLUDE_DIRS}) find_package(SDL2 REQUIRED) include_directories(${SDL2_INCLUDE_DIRS}) # FFmpeg source set(MY_LIBRARY ~/ffmpeg-4.3.1

weixin_43742643的博客 801

京东JoyAI-VL-Interaction:实时视觉语言交互模型部署与应用指南

这次我们来看京东开源的 JoyAI-VL-Interaction 项目。这个视觉语言交互模型的核心价值在于让 AI 从传统的"一问一答"模式升级到"边看边说"的持续交互能力。对于需要实时视频分析、智能监控、交互式助手的场景来说,这是一个值得关注的技术方案。 从公开信息看,JoyAI-VL-Interaction 最大的特点是支持实时视频流处理,能够持续观察环境并做出即时响应。这意味着开发者可以基于这个框架构建真正意义上的实景 AI 助手,而不是简单的对话机器人。项目采用全栈开源方式发布,包含了模型、推理框架

weixin_30932215的博客 388

Linux下FFmpeg之ffplay编译

一、搭建环境 Win10 + VMware15 + Ubuntu16.04(64位) Ubuntu中源码路径:/home/llh/ffmpeg/source Ubuntu中构建路径:/home/llh/ffmpeg/build 相关下载链接:https://pan.baidu.com/s/1YClANYKHWMI6KyF7EQTYqg...

孤鸿独影的博客 2117

SillyTavern本地部署与云端托管深度对比指南

SillyTavern作为主流开源AI角色扮演前端,其核心价值在于解耦界面与模型,支持Ollama、vLLM、KoboldAI等多后端接入。理解其运行原理需把握Electron架构特性、本地推理链路(模型→API→前端)与网络代理机制。技术价值体现在数据主权可控、低延迟交互及长周期稳定性,广泛应用于小说创作、游戏NPC训练、个性化AI陪伴等隐私敏感场景。本文聚焦SillyTavern部署决策中的四大硬指标——隐私控制粒度、首字响应时间(TTFT)、硬件资源占用与持续运行稳定性,结合Windows/macOS

weixin_30385925的博客 389

如何在Ubuntu上安装FFmpeg?

通过上述步骤,你已经成功在Ubuntu上安装了FFmpeg。在Ubuntu上安装FFmpeg非常简单,下面是详细的步骤。在安装过程中,系统会提示你确认是否要继续安装,按下回车键继续。这只是一些FFmpeg的基本用法示例,你可以根据自己的需求进一步了解和探索FFmpeg的功能和参数。在安装任何软件之前,建议先更新软件包列表,以确保安装的是最新版本的软件。这将从输入视频的第10秒开始裁剪出时长为20秒的视频,并将结果保存为output.mp4。这表明FFmpeg已成功安装在你的Ubuntu系统上。

BguForward的博客 3366

SRS 4.0开发环境搭建:包括推流、服务器配置、拉流测试

1-SRS 4.0开发环境搭建:包括推流、服务器配置、拉流测试云服务器:阿里云Ubuntu 16.04服务器:SRS(Simple RTMP Server,支持RTMP、HTTP-FLV,HLS)推流端:ffmpeg + OBS拉流端:ffplay +VLC + srs播放器1 安装和测试SRS流媒体服务器1.1 安装SRS流媒体服务器SRS官网:http://www.ossrs.net/github源:https://github.com/ossrs/srs.git。

weixin_36873225的博客 1339

Unbutu 安装FFmpeg的两种方法

本文介绍两种FFmpeg的安装方法,均可以完美安装和使用FFmpeg,首先先介绍第一种方法: 下载源码手动安装,此方法好处是,我们可以选择自己需要的版本的或者比较高的稳定版本的FFmpeg来进行安装。

程序猿老樊的博客 7659

Jetson TK1 Ubuntu 14.04归档源修复与CUDA环境重建

Ubuntu 14.04(Trusty)作为长期支持版本,已于2019年结束生命周期,其软件源迁移至只读归档服务器old-releases.ubuntu.com,不再由主流镜像站同步。这一变更对依赖原生系统生态的嵌入式平台(如NVIDIA Jetson TK1)造成根本性影响——标准apt更新失效、驱动与CUDA工具链无法在线安装。其技术本质是Linux包管理机制与发行版生命周期策略的深度耦合:APT解析依赖需严格匹配dists目录结构、组件通道(main/universe/security)及架构标识(a

diaoqu4574的博客 451

论文、报告中那些乱七八糟的图(甘特图、卡吉图,桑基图,小提琴图,弦图,螺旋图,风玫瑰图)

在一些论文或报告中,总是会看到一些熟悉的图,但作者总是不能好好说话,非得搞个洋名字、缩写字或者半洋半中的词来显示它多么高大上,有时候这种故弄玄虚、华而不实的写法也实在是让人看了不伦不类,图首先是让读者更容易看懂的,不是让你来故作高深、玩玄学的。

David_jiang 9429

Cadence Allegro实战:如何精准导入结构DXF文件避免安装偏差(附图层配置技巧)

本文详细讲解了在Cadence Allegro中精准导入结构DXF文件以避免安装偏差的实战技巧。核心在于导入前的单位校准、创建专用图层结构,以及基于坐标基准点的精确对齐方法。文章还分享了将DXF图形转化为正式板框和禁布区、高效管理图层以及向结构工程师导出DXF的完整流程,帮助PCB工程师确保设计与机械结构完美契合。

1a2s3d4f5g的博客 506

史上最全的基于ffmpeg+sdl网络摄像头编解码播放资料(包含交叉编译过程,附带完整源码)

原创博文,严禁私自转载,转载请注明出处!!! 近期,由于工作需要,要在开发板上跑一个摄像头,摄像头款式比较老,不支持rtsp格式,所以选择编译ffmpeg+sdl实现软解码播放摄像头,特此记录整个编译过程(非常之艰辛,发文留念) 在ubuntu上交叉编译环境的搭建:因为开发板上搭建的程序的运行环境和用于编译的PC上的编译环境要匹配,所以要看好自己的需要,交叉编译工具链有好几种,最常见的arm-...

weixin_42550424的博客 1184

drm 之modes

#define _GNU_SOURCE #include <errno.h> #include <fcntl.h> #include <stdbool.h> #include <stdint.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <sys/mman.h> #include <time.h&...

u012794472的专栏 3718

使用ffmpeg 测试rtmp推流和拉流

记录简单使用ffmpeg的使用: 环境:ubuntu16.04 推流操作: ffmpeg -f x11grab -i :0.0+0,0 -s 640x480 -r 10 -vcodec libx264 -preset ultrafast -acodec libmp3lame -ar 44100 -ac 1 -f flv rtmp://*** 把电脑屏幕推流大指定路径。 推文件: ffm...

tan_zhenqi的专栏 1万+

2024年03月CCF-GESP编程能力等级认证Python编程五级真题解析

下面流程图在yr输入2024时,可以判定yr代表闰年,并输出 2月是29天 ,则图中菱形框中应该填入( )。 A. (yr % 400 == 0) or (yr % 4 == 0) B. ( yr % 400 == 0) or (yr % 4 == 0 and yr %100 != 0) C. ( yr % 400 == 0) and ( yr % 4 == 0) D. (yr % 400 == 0) and (yr % 4 == 0 and yr % 100 != 0)

人生就是一个不断学习的过程 746

clock min pulse width检查

高电平脉宽 = clock fall edge到达FF/CK的时间 - clock rise edge到达FF/CK的时间;低电平脉宽 = 下一T clock rise edge到达FF/CK的时间 - clock fall edge到达FF/CK的时间。而required pulse width是根据FF/CK处的transition,根据查找表计算得到的。为什么clock transition越大,会导致required pulse width越大呢?5、 降低clock上的串扰。

芯冰乐 577

ffmpeg编译问题总结

1、安装SDL库,不安装将没有ffplay; 2、如果安装的是SDL2.0最新版本,建议重新编译安装SDL1.x版本(我测试的时候使用SDL2未生成ffplay,此项我再验证); 听群里的高手说,SDL2.0与1.x的版本对比,变动很大,很多接口有调整,强制使用的话要修改源码。 3、确定不是1和2的问题后,在ffmpeg目录下执行./configure ******之后查看Makefile中

Sean 5226

python抓取美团外卖的数据(商家、评分、评论)

本文详细介绍了如何使用Selenium和抓取美团外卖的商家、评分和评论数据。我们从基础的爬虫原理入手,分析了美团外卖的网页结构,提出了应对反爬虫机制的策略,并给出了详细的代码实现。通过使用Selenium,我们能够绕过动态加载内容的限制,直接抓取网页中的商家信息和评论。结合多线程和代理池等技术,我们可以进一步提高爬虫效率,并避免IP被封禁。未来,随着爬虫技术的发展,我们可以进一步探索深度抓取、数据清洗和数据分析等高级应用,以实现更智能的网页数据抓取。

2201_76125261的博客 2696

Whisper本地语音转写实战:NUC上离线部署中文识别工作流

语音转文字(ASR)是人机交互的基础技术,其核心在于声学模型对真实语音的鲁棒性与低延迟推理能力。Whisper作为开源端到端ASR模型,凭借多语种、噪声鲁棒、中英文混杂识别强等特性,成为本地化部署的首选方案。它不依赖云端API,规避隐私泄露与网络延迟风险,特别适合开发者、技术会议记录、教育反馈等需高可控性的场景。结合CPU友好型模型选型(如base/medium)、ALSA音频直采、sox预处理及Obsidian知识库联动,可构建稳定高效的离线语音工作流。本文聚焦Ubuntu 22.04+Intel NUC

cuizhu0832的博客 378

uniapp+renderJS+google map开发安卓版APP非小程序

uniapp+renderJS+google map开发安卓版APP非小程序,google map小叉号不显示,google map自定义marker右上角的小叉号如何去掉,uniapp+google map不显示

renkai721的专栏 667

Windows 下 Hermes Agent(爱马仕)安装全记录:从零到一的保姆级图文教程

本文主要介绍了Windows 下 Hermes Agent(爱马仕) 安装全记录:从零到一的保姆级图文教程,希望能对学习使用 Hermes Agent 的同学们有所帮助。 文章目录 1. 背景 2. 实战教程 2.1 步骤一 安装WSL环境 2.2 步骤二 安装Python环境 2.3 步骤三 安装Hermes Agent 2.4 步骤四 修正 API Key 错误 2.5 步骤五 配置多个模型 2.6 步骤六 启动Hermes Agent 3. 常见问题及解决方案 4. 总结

weixin_43178406的博客 14万+
上一篇: 基于NDK编译Android平台的FFmpeg动态库
下一篇: 至简播放器ffplay工作原理
ericbars
博客等级 码龄10年 120粉丝 30原创
评论 7
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值