当前位置: 首页 > news >正文

利用ffmpeg分析视频流

ffprobe -show_packets -i "rtsp://192.168.61.46:8554/live?channel=0&type=0":该命令用于显示 RTSP 流中的数据包信息,例如时间戳、大小、持续时间等。

ffprobe -i "rtsp://192.168.61.46:8554/live?channel=0&type=0":该命令用于显示输入 RTSP 流的基本信息,例如时长、编解码器、分辨率等。

ffprobe -show_format -i "rtsp://192.168.61.46:8554/live?channel=0&type=0":该命令用于显示输入 RTSP 流的格式信息,例如容器格式、音视频流信息等。

ffprobe -show_frames -i "rtsp://192.168.61.46:8554/live?channel=0&type=0":该命令用于显示输入 RTSP 流的帧信息,例如帧类型、时间戳、关键帧标志等。

ffprobe -show_streams -i "rtsp://192.168.61.46:8554/live?channel=0&type=0":该命令用于显示输入 RTSP 流的流信息,例如音视频流的基本信息、编解码器参数等。

ffprobe -show_pixel_formats -i "rtsp://admin:test1234@192.168.42.234:554/h264/ch33/main/av_stream":该命令用于显示输入 RTSP 流支持的像素格式。

ffprobe -show_data -i "rtsp://192.168.61.46:8554/live?channel=0&type=0":该命令用于显示输入 RTSP 流的数据信息,例如每个数据包的字节内容。

显示媒体文件的帧率、码率等信息:
ffprobe -i input.mp4 -show_entries stream=codec_type,codec_name,bit_rate,r_frame_rate,sample_rate,duration,size

显示媒体文件中所有关键帧的位置:
ffprobe -i input.mp4 -select_streams v:0 -skip_frame nokey -show_frames -of csv

显示媒体文件编码器的参数设置:
ffprobe -i input.mp4 -show_entries format_tags=encoder -v 0

使用 XML 格式输出媒体文件信息:
ffprobe -i input.mp4 -print_format xml -show_format -show_streams > output.xml
ffprobe -v quiet -print_format json -show_format -show_streams input.mp4 > output.json

只看视频流:
ffprobe -show_frames -select_streams v -of xml input.mp4

查看flv视频格式的信息
ffprobe -v trace -i key.flv
 

仅展示宽高
ffprobe -v error -hide_banner -of default=noprint_wrappers=0 -print_format flat -select_streams v:0 -show_entries stream=width,height simpsons_1080p2398_clip.mp4
查看pts
ffprobe -v error -hide_banner -of default=noprint_wrappers=1 -select_streams v:0 -show_entries packet=pts_time simpsons_1080p2398_clip.mp4
查看时长duration
ffprobe -v error -hide_banner -of default=noprint_wrappers=0 -print_format xml -select_streams v:0 -show_entries stream=duration simpsons_1080p2398_clip.mp4
帧类型信息:
ffprobe -v error -hide_banner -of default=noprint_wrappers=0 -print_format flat  -select_streams v:0 -show_entries frame=pict_type simpsons_1080p2398_clip.mp4
码率
ffprobe -v error -hide_banner -of default=noprint_wrappers=0 -print_format flat  -select_streams v:0 -show_entries stream=bit_rate simpsons_1080p2398_clip.mp4
使用ffprobe输出编解码器信息
ffprobe -v error -hide_banner -of default=noprint_wrappers=0 -print_format flat  -select_streams v:0 -show_entries stream=codec_name,codec_long_name,profile,codec_tag_string simpsons_1080p2398_clip.mp4
使用ffprobe显示像素格式
ffprobe -v error -hide_banner -of default=noprint_wrappers=0 -print_format flat  -select_streams v:0 -show_entries stream=pix_fmt simpsons_1080p2398_clip.mp4

放音频文件时,不确定文件的声音是否正常,噪声数据等分析,可以直接使用ffplay播放音频文
件,播放的时候将会把解码后的音频数据以音频波形显示出来:
#ffplay -showmode 1 output.mp3

# 通过图中的箭头可以看到p帧运动估计的信息
# ffplay.exe -flags2 +export_mvs -ss 40 "D:/hik_h264.mp4" -vf codecview=mv=pf+bf+bb

现在要计算 rec.yuv 和 dec.yuv 的 psnr,则在视频所在目录下打开 cmd 输入
ffmpeg  -pix_fmt  yuv420p  -s 1920x1080  -i rec.yuv  -pix_fmt yuv420p  -s 1920x1080 -i decs.yuv -lavfi psnr="stats_file=psnr.log"  -f null  -

计算 PSNR
use '-frame' to specify the number of frames to be cauculated, i.e.
ffmpeg  -pix_fmt  yuv420p  -s 1920x1080  -i Kimono_1920x1080_24.yuv  -pix_fmt yuv420p  -s 1920x1080 -i Kimono22.yuv -frames 12 -lavfi psnr="stats_file=psnr.log"  -f null  -

计算 SSIM
ffmpeg -s 352x288 -i rec.yuv -s 352x288 -i dec.yuv -lavfi ssim="stats_file=ssim.log" -f null -

相关文章:

利用ffmpeg分析视频流

ffprobe -show_packets -i "rtsp://192.168.61.46:8554/live?channel0&type0":该命令用于显示 RTSP 流中的数据包信息,例如时间戳、大小、持续时间等。 ffprobe -i "rtsp://192.168.61.46:8554/live?channel0&type0"&…...

基于kettle实现pg数据定时转存mongodb

mogodb 待创建 基于kettle实现pg数据定时转存mongodb_kettle 实时迁移 mongodb_呆呆的私房菜的博客-CSDN博客...

使用 POI 在 Word 中重新开始编号、自定义标题格式

效果图 引入依赖 <!-- https://mvnrepository.com/artifact/org.apache.poi/poi --><dependency><groupId>org.apache.poi</groupId><artifactId>poi</artifactId><version>4.1.2</version></dependency><!-- https…...

【java】default/private/public/protected比较

访问修饰符 访问修饰符本类同包子类其他privateYdefaultYYprotectedYYYpublicYYYY 总结&#xff1a; private、default、proteced、public访问范围依次增大、限制能力依次减弱&#xff1b;被private修饰的成员只能在本类中调用&#xff1b;default是默认类型&#xff0c;成员…...

面试热题(最长上升子序列)

给你一个整数数组 nums &#xff0c;找到其中最长严格递增子序列的长度。 子序列 是由数组派生而来的序列&#xff0c;删除&#xff08;或不删除&#xff09;数组中的元素而不改变其余元素的顺序。例如&#xff0c;[3,6,2,7] 是数组 [0,3,1,6,2,2,7] 的子序列。 输入&#xff1…...

Vue 简版文件预览笔记

简版文件预览笔记 调用方法 <script lang"ts" setup>import {exportFileData,preViewFile,} from /xxx/tools.ts;import {fileDownload,} from /api/xxx/xx;// 预览方法const handleViewBtn () > {const filePath 获取预览地址;const urlFormat 获取预…...

数据结构--栈和队列

文章目录 栈的概念和结构栈的实现栈的数据结构栈的初始化和销毁出栈和入栈获取栈顶、大小&#xff0c;判空 队列的概念和结构队列的实现队列的数据结构队列的初始化和销毁队列的插入 队列的删除获取队头和队尾的数据获取队列长度和判空 栈和队列的一些题目1.有效的括号2.用队列…...

泰国的区块链和NFT市场调研

泰国的区块链和NFT市场调研 基本介绍 参考&#xff1a; https://zh.wikipedia.org/zh-hans/%E6%B3%B0%E5%9B%BD参考&#xff1a; https://hktdc.infogram.com/thsc–1h7k2303zo75v2x zz制度&#xff1a; 君主立宪制&#xff08;议会制&#xff09; 国王&#xff1a; 玛哈哇集拉…...

精彩回顾 | D-Day深圳 上海站:高频策略研发再提速

上周末&#xff0c;DolphinDB 分别在上海及深圳成功举办了两场 D-Day 分享会&#xff0c;来自国内头部券商、公募基金以及多家私募机构的数十位核心策略研发、数据分析专家们分享了 DolphinDB 在量化交易各个环节的使用经验&#xff0c;并基于与同类技术栈的优劣势对比&#xf…...

新法!《个人信息保护合规审计管理办法(征求意见稿)》解读

8月3日&#xff0c;依据《中华人民共和国个人信息保护法》等法律法规&#xff0c;国家互联网信息办公室起草了《个人信息保护合规审计管理办法&#xff08;征求意见稿&#xff09;》&#xff08;下文简称“办法”&#xff09;&#xff0c;并向社会公开征求意见。 据悉&#xff…...

南大通用数据库-Gbase-8a-学习-37-delete误删数据恢复方法

一、前提 在delete误删数据之后&#xff0c;没有再对此表进行其他ddl、dml和load等操作&#xff0c;可以使用手动切换AB版本的方式来进行数据恢复。 二、环境 名称值CPUIntel(R) Core(TM) i5-1035G1 CPU 1.00GHz操作系统CentOS Linux release 7.9.2009 (Core)内存3G逻辑核数…...

【高光谱图像的去噪算法】通过全变异最小化对受激拉曼光谱图像进行去噪研究(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…...

UEditorPlus v3.3.0 图片上传压缩重构,UI优化,升级基础组件

UEditor是由百度开发的所见即所得的开源富文本编辑器&#xff0c;基于MIT开源协议&#xff0c;该富文本编辑器帮助不少网站开发者解决富文本编辑器的难点。 UEditorPlus 是有 ModStart 团队基于 UEditor 二次开发的富文本编辑器&#xff0c;主要做了样式的定制&#xff0c;更符…...

百度翻译API整合SpringBoot

案例背景,按照官方给的Demo,实在是太啰嗦了, 大致步骤 封装数据>签名>发送请求, 仔细一看劈里啪啦一大堆,最后还要手动关流关连接,难道整合到SpringBoot项目里面我还得为内存管理考虑 所以就有了如下需求 使用 RestTemplate的对象进行发送请求数据,RestTemplate由s…...

Spring @Primary、@Order、JSR @Priority作用与区别

前言 Primary、Order、Priority三个注解很常见&#xff0c;关于它们的异同&#xff0c;这里做个总结。 Primary、Order、Priority Primary Spring Primary控制注入优先级。 Order Spring Order控制注入到List中的排序&#xff0c;值越小优先级越高&#xff0c;不能是负数&am…...

【Mac】mac 系统下格式化U盘或移动硬盘为ext4格式

1. 打开终端&#xff0c;安装 homebrew /bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"2. 安装之后再次运行此命令 /bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"…...

ubuntu20.4 sgx环境配置

一、driver安装 1.在该下载地址将3个.bin文件下载下来&#xff0c;下载地址&#xff1a;https://download.01.org/intel-sgx/latest/linux-latest/distro/ubuntu20.04-server/ 2.到下载文件夹下输入下面命令&#xff0c;以赋予.bin文件的执行权限 sudo chmod 777 sgx_linux_x64…...

01.图片下拉触底分页加载每张图片

需求点分析 图片列表滚动触底的逻辑 将图片id组成的一维数组根据指定个数一组拆分为二维数组定义一个索引初始值为-1&#xff0c;图片列表滚动触底&#xff0c;索引值自增&#xff0c;然后将拆分好的图片id二位数组对应的数据读出来放到图片id的数组图片根据列表新增的id取读取…...

“精准学习嵌入式开发:明确目标,提升技能“

嵌入式领域涵盖广泛&#xff0c;不可能一次性掌握所有知识。因此&#xff0c;明确学习目标和方向非常重要。选择感兴趣且与职业发展相关的领域进行深入学习是明智之举。 嵌入式技术在不断发展&#xff0c;过去与现在存在差异。选择学习当前行业的主流技术和趋势是明智选择。掌…...

C语言--联合体-共用体

有时候同一个内存空间存放类型不同&#xff0c;不同类型的变量共享一块空间 像结构体&#xff0c;但是有区别 1、 结构体元素有各自单独空间&#xff0c; 共用体元素共享空间&#xff0c;空间大小由最大类型确定 同一块空间&#xff0c;有时候存放char类型、有时候存放int型&am…...

用机器学习破解新能源领域的“弃风”难题

音乐发烧友深有体会&#xff0c;玩音乐的本质就是玩电网。火电声音偏暖&#xff0c;水电偏冷&#xff0c;风电偏空旷。至于太阳能发的电&#xff0c;则略显朦胧和单薄。 不知你是否有感觉&#xff0c;近两年家里的音响声音越来越冷&#xff0c;听起来越来越单薄&#xff1f; —…...

Webpack性能优化:构建速度与体积优化策略

一、构建速度优化 1、​​升级Webpack和Node.js​​ ​​优化效果​​&#xff1a;Webpack 4比Webpack 3构建时间降低60%-98%。​​原因​​&#xff1a; V8引擎优化&#xff08;for of替代forEach、Map/Set替代Object&#xff09;。默认使用更快的md4哈希算法。AST直接从Loa…...

基于Springboot+Vue的办公管理系统

角色&#xff1a; 管理员、员工 技术&#xff1a; 后端: SpringBoot, Vue2, MySQL, Mybatis-Plus 前端: Vue2, Element-UI, Axios, Echarts, Vue-Router 核心功能&#xff1a; 该办公管理系统是一个综合性的企业内部管理平台&#xff0c;旨在提升企业运营效率和员工管理水…...

Git 3天2K星标:Datawhale 的 Happy-LLM 项目介绍(附教程)

引言 在人工智能飞速发展的今天&#xff0c;大语言模型&#xff08;Large Language Models, LLMs&#xff09;已成为技术领域的焦点。从智能写作到代码生成&#xff0c;LLM 的应用场景不断扩展&#xff0c;深刻改变了我们的工作和生活方式。然而&#xff0c;理解这些模型的内部…...

【Java】Ajax 技术详解

文章目录 1. Filter 过滤器1.1 Filter 概述1.2 Filter 快速入门开发步骤:1.3 Filter 执行流程1.4 Filter 拦截路径配置1.5 过滤器链2. Listener 监听器2.1 Listener 概述2.2 ServletContextListener3. Ajax 技术3.1 Ajax 概述3.2 Ajax 快速入门服务端实现:客户端实现:4. Axi…...

Axure Rp 11 安装、汉化、授权

Axure Rp 11 安装、汉化、授权 1、前言2、汉化2.1、汉化文件下载2.2、windows汉化流程2.3、 macOs汉化流程 3、授权 1、前言 Axure Rp 11官方下载链接&#xff1a;https://www.axure.com/downloadthanks 2、汉化 2.1、汉化文件下载 链接: https://pan.baidu.com/s/18Clf…...

Flask+LayUI开发手记(八):通用封面缩略图上传实现

前一节做了头像上传的程序&#xff0c;应该说&#xff0c;这个程序编写和操作都相当繁琐&#xff0c;实际上&#xff0c;头像这种缩略图在很多功能中都会用到&#xff0c;屏幕界面有限&#xff0c;绝不会给那么大空间摆开那么大一个界面&#xff0c;更可能的处理&#xff0c;就…...

js 比较两个对象的值,不相等就push对象的key

在JavaScript中&#xff0c;比较两个对象&#xff08;object&#xff09;的值并找出不相等的key&#xff0c;可以通过多种方法实现。下面是一些常用的方法&#xff1a; 方法1&#xff1a;使用JSON.stringify 这种方法适用于简单的对象&#xff0c;其中对象的值是基本类型或可…...

IDEA中微服务指定端口启动

在使用IDEA开发SpringBoot微服务时&#xff0c;经常需要开启多个服务实例以测试负载均衡&#xff0c;以下几种方法开启不同端口。 直接在配置文件中指定 # application.propertiesserver.port8001指定VM参数 点击Modify options&#xff0c;选择Add VM options&#xff0c;值…...

Elasticsearch中的监控(Monitoring)功能介绍

Elasticsearch 的 监控&#xff08;Monitoring&#xff09; 功能用于实时跟踪集群的运行状态、性能指标和资源使用情况&#xff0c;帮助管理员及时发现潜在问题、优化配置并确保集群稳定高效运行。它通过内置工具和集成方案&#xff0c;提供从节点到集群、从硬件到服务层的全方…...