搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
繁依Fanyi0
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
工作去哪了?2023互联网IT行业还好吗?_2023it行业现状
2
JAVA进入公司试用期多久_一般企业的试用期为多长时间
3
JDBC使用流程--使用java代码完成连接mysql数据库并进行查询_java中jdbc连接数据库的查询方法
4
PowerDesigner 连接 MySQL 并生成逆向工程图
5
持之以恒(一)位姿转换:姿态 / 四元数 / 旋转矩阵 / 欧拉角 及 位姿矩阵_相机位姿旋转向量转欧拉角
6
入职3个月的Java程序员面临转正,领导:1年工作经验包装成5年,试用期淘汰!_奇瑞java开发用期会刷人吗
7
交通大模型专题汇总(2024-05-05更新)
8
Anaconda 环境中安装OpenCV (cv2)_conda安装cv2_conda cv2
9
本科,60k*13薪,外包到新疆!你会去吗?
10
为什么学Python的人越来越多?Python有哪些优势?_python为什么用的人多
当前位置:
article
> 正文
使用ffmpeg播放视频文件的过程_ffempg play 视频文件
作者:繁依Fanyi0 | 2024-05-30 12:58:26
赞
踩
ffempg play 视频文件
本文中,
红色字体
部分是涉及到的
ffmpeg
部分,其他函数是视频显示部分或者内部封装函数(文中没有给出实现)。
本文的主要目的,在于记录播放视频文件时用到的ffmpeg函数,及其用法。
typedef struct _zl_player_param
{
HWND
hwnd;
//display window handle
char
filename[256];
//add for file playback
} zl_player_param;
typedef struct _zl_player
{
//ffmpeg struct
AVCodecContext
* pCodecCtx;
AVCodec
* pCodec;
struct SwsContext * pSwsCtx;
zl_video_context
* pVideoCtx;
//for video display
//add for file playback
AVFormatContext
*pFormatCtx;
int videoStream;
//视频流编号
//player state
int
abort;
//abort marker
} zl_player;
初始化播放器/
zl_player * zl_init_file_player(zl_player_param *param)
{
int ret = 0;
if (param == NULL)
{
return NULL;
}
zl_player *player = (zl_player *)malloc(sizeof(zl_player));
if (NULL == player)
{
printf("ERROR(%d): <zl_player> create player failed!\n", ERROR_MALLOC_PLAYER_SPACE);
}
memset(player, 0, sizeof(zl_player));
//register ffmpeg codec
av_register_all
();
if (
avformat_open_input
(&player->pFormatCtx, param->filename, NULL, NULL) != 0)//avformat_open_input
{
printf("ERROR(%d): <zl_player> avformat_open_input error!\n", ERROR_MALLOC_PLAYER_SPACE);
return NULL;
}
if (
avformat_find_stream_info
(player->pFormatCtx, NULL) < 0)
{
printf("ERROR(%d): <zl_player> avformat_find_stream_info error!\n", ERROR_MALLOC_PLAYER_SPACE);
return NULL;
}
av_dump_format
(player->pFormatCtx, 0, param->filename, FALSE);
//现在 pFormatCtx->streams 中已经有所有流了,因此现在我们遍历它找到第一条视频流
player->videoStream = -1;
声明:
本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:
https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/647070
推荐阅读
article
【
FFmpeg
】在
Mac
OS 中
编译
FFmpeg
源码
② ( 下载
FFmpeg
源码
| ...
一、下载
FFmpeg
源码
1、目录准备2、克隆远程代码3、查看
源码
目录4、切换代码分支二、
FFmpeg
源码
编译
配置
1...
赞
踩
article
【
FFmpeg
】在
Mac
OS 中
编译
FFmpeg
源码 ① (
homebrew
安装
| 通...
一、
homebrew
安装
1、
homebrew
简介2、通过
gitee
源
安装
homebrew
二、
安装
FFmpeg
...
赞
踩
article
vs2019
编译
ffmpeg
源码为
静态
库
动态
库
【完整步骤、亲测可行】_
vs2019
ffmpeg
...
ffmpeg
大概从两年前版本开始,不再提供
编译
好的lib,dll,需要开发者自己
编译
,在linux下
编译
ffmpeg
...
赞
踩
article
源码
编译
FFmpeg
_centos
ffmpeg
4.3
编译
...
源码
编译
FFmpeg
_centos
ffmpeg
4.3
编译
centos
ffmpeg
4.3
编译
...
赞
踩
article
FFmpeg
硬件加速
视频
转码指南_
ffmpeg
cpu满载...
首先通过命令
ffmpeg
-hwaccels 查看所支持的
硬件加速
方法,如果你是在 Windows 平台并且使用的是我...
赞
踩
article
ffmpeg
cpu
占用
高
_四招帮你解决
Win10
系统
cpu
占用
率
高
!...
关注奕奇科技,学习更多小妙招工作效率加倍小妙招,值得收藏在win10系统下,大家有时候会遇到win10系统CPU总是
占用
...
赞
踩
article
ffmpeg
如何跳
帧
或者丢
帧
解码
,
以降低
cpu
和内存
占用
_
ffmpeg
解决
cpu
占用
过高...
需要注意的是
,
跳
帧
或丢
帧
解码
可能会对视频质量产生一定的影响
,
因此需要根据实际情况进行权衡和测试。此外
,
这些命令也需要根据...
赞
踩
article
MacOS快速安装
FFmpeg
、
ffprobe
、
ffplay
_
mac
ffmpeg
...
MacOS快速安装
FFmpeg
、
ffprobe
、
ffplay
_
mac
ffmpeg
mac
ffmpeg
...
赞
踩
article
Windows
11
安装
Android
13版本的安卓子系统(带
Google
Play
商店和...
通过下载最新的
Windows
Android
子系统 (WSA) ,绕过Beta用户的限制,而且我提供的版本集成了 M...
赞
踩
article
【
HarmonyOS
NEXT
】
FFmpeg
、
OpenSSL
、
fdk
-
aac
等三方库如何在Harmo...
OpenSSL
是一个强大的、商业级的、功能齐全的用于传输层安全(TLS)协议的开源工具包,以前称为安全套接字层(SSL)...
赞
踩
article
深入浅出
:
FFmpeg
音频
解码
与处理
AVFrame
全解析...
深入浅出
:
FFmpeg
音频
解码
与处理全解析_avframeavframe ...
赞
踩
article
【
ffmpeg
移动
视频流
位置】深入理解
FFmpeg
:精细探讨
seek
操作
和
编解码
上下文_ffmpe...
在处理音视频数据时,我们经常需要进行
seek
操作
,即改变当前的播放位置。这个
操作
在
FFmpeg
中主要通过
操作
`AVFor...
赞
踩
article
深入理解
FFmpeg
:
安装
和
使用指南
_
安装
--
ffmpeg
...
FFmpeg
是一个强大的开源多媒体处理工具,可以用于录制、转换以及流媒体处理等多种用途。它支持包括视频、音频在内的多种...
赞
踩
article
【
FFmpeg
视频
基本格式】深入理解
FFmpeg
:从
YUV
到
PCM
,解码到编码_
ffmpeg
pc...
在
FFmpeg
中,解码
视频
后的默认格式是
YUV
,这个
YUV
格式的数据是被存储在AVFrame结构体中的。下面我们将详细介...
赞
踩
article
深入理解
FFmpeg
书籍
笔记
...
知识点太多,目前只记录遇到的错误1. 在 Ubuntu 22.04 64位上编译
FFmpeg
-0.6.3 时,使用 ....
赞
踩
article
ffmpeg
-
学习
计划
_
ffmpeg
学习
周期...
一、音视频基础知识 掌握以下的基础知识,针对每个知识点,要做好
学习
笔记,资源来自大雷神的博客,以及自己上网搜相关的资料R...
赞
踩
article
Android
-
音视频
学习
系列-(四)-一键编译-3
2
-64-位-
FFmpeg
-4-
2
-
2
...
说一千道一万,不如自己去行动。要想在移动互联网的下半场是自己占有一席之地,那就得从现在开始,从今天开始,马上严格要求自己...
赞
踩
article
音视频
开发10
FFmpeg
内存模型-
AVPacket
,
AVFrame
...
FFmpeg
是通过数据共享的形式 拷贝数据的
,
也就是通过浅拷贝完成数据的copy
,
那么浅拷贝是有问题的
,
FFmpeg
是...
赞
踩
article
FFmpeg
:播放文件
seek
功能(附完整
源代码
)
_
使用
ffmpeg
实现
seek
操作...
FFmpeg
:播放文件
seek
功能(附完整
源代码
)
_
使用
ffmpeg
实现
seek
操作使用
ffmpeg
实现
seek
操作 ...
赞
踩
article
基于
FFmpeg
的
跨平台
视频
播放器
简明教程(九):
Seek
策略_
ffmpeg
sdl
seek
...
经过前面八章的学习与代码实现,我们的
播放器
已经能够正常播放视频了,接下来我们将加入最常用的
seek
能力,让你能够快进...
赞
踩
相关标签
ffmpeg
音视频
源码编译
编译配置
MacOS
环境变量
FFmpeg源码
gitee
Mac
homebrew
FFmpeg
c++
ffmpeg源码编译
ffmpeg静态库编译
vs2019 ffmpeg
源码编译FFmpeg4.3
ffmpeg cpu占用高
idea cpu占用率过高
kswapd0 cpu 占用率很高
mysql cpu占用率非常高
system占用cpu过高
程序cpu占用率高怎么解决
macos
linux
流媒体工具