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

通过FFmpeg和URL查看流的编码格式

  1. FFmpeg下载后会有三个执行文件,跳转到FFmpeg所在文件夹

在这里插入图片描述

  1. 查看视频流URL地址的编码格式命令:

// 在下载ffmpeg的文件夹中执行如下命令,可查看流的编码格式,这里的测试流是H264编码ffprobe http://devimages.apple.com/iphone/samples/bipbop/bipbopall.m3u8

在这里插入图片描述

这段输出是FFmpeg在处理M3U8播放列表时产生的日志信息。M3U8是一种流媒体技术,它将视频内容分割成多个小的TS(Transport Stream)文件,然后通过HTTP服务器进行分段传输。

逐行解释:

  1. [hls @ 00000230fc90b140] Opening 'http://devimages.apple.com/iphone/samples/bipbop/gear4/fileSequence1.ts' for reading
    这句话表示FFmpeg正在尝试从另一个指定的URL读取TS文件。

  2. Input #0, hls, from 'http://devimages.apple.com/iphone/samples/bipbop/bipbopall.m3u8':
    这句话表示FFmpeg正在处理输入的HLS播放列表,这个播放列表的URL是http://devimages.apple.com/iphone/samples/bipbop/bipbopall.m3u8

  3. Duration: 00:30:01.00, start: 10.000000, bitrate: 0 kb/s
    这句话表示播放列表的总时长是30分钟01秒,起始时间是10秒,但比特率是0 kb/s,这可能是因为播放列表中包含了多个不同的比特率版本,而FFmpeg尚未开始处理。

  4. Program 0
    这句话表示开始处理播放列表中的第一个节目。

  5. Metadata:
    这句话表示开始处理与节目相关的元数据。

  6. variant_bitrate : 200000
    这句话表示与节目相关的变体比特率是200 kb/s。

  7. Stream #0:0: Audio: aac (LC) ([15][0][0][0] / 0x000F), 22050 Hz, mono, fltp
    这句话表示节目中的第一个流是音频流,它使用AAC(Advanced Audio Coding)编解码器,频率为22050 Hz,单声道,浮点采样。

  8. Stream #0:1: Video: h264 (Constrained Baseline) ([27][0][0][0] / 0x001B), yuv420p(tv, smpte170m/smpte170m/bt709), 192x144, 14.99 fps, 14.99 tbr, 90k tbn
    这句话表示节目中的第二个流是视频流,它使用H.264(Advanced Video Coding,不是HEVC,即不是H265High Efficient Video Coding)编解码器,视频格式为YUV 420p,分辨率为192x144,帧率为14.99 fps,时间基为14.99 tbr,转换率为90k tbn。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 快速排序+归并排序代码回顾
  • java实操(二)-酒店管理系统
  • python的sqlalchemy使用@contextmanager来定义上下文管理器
  • MySQL进阶篇4 - 锁
  • mysql学习教程,从入门到精通,MySQL 删除数据库教程(6)
  • [快速入门] 使用 MybatisPlus 简化 CRUD 操作
  • 动手学深度学习(pytorch)学习记录26-卷积神经网路(LeNet)[学习记录]
  • Python操作ES集群API(增删改查等)
  • 民生水暖工程背后的科技力量引领工程智能化转型
  • 使用FastJson2将对象转成JSON字符串时,小数转换出错
  • RedissonClient 分布式队列工具类
  • 智能客服的演变:从传统到向量数据库的新时代
  • [iBOT] Image BERT Pre-Training with Online Tokenizer
  • springboot高校实验室预约系统-计算机毕业设计源码58031
  • 无需温度修正,测值准确可靠 GEO ACxxxx型振弦式锚索测力计
  • chrome扩展demo1-小时钟
  • crontab执行失败的多种原因
  • HashMap ConcurrentHashMap
  • JavaScript服务器推送技术之 WebSocket
  • Java新版本的开发已正式进入轨道,版本号18.3
  • leetcode讲解--894. All Possible Full Binary Trees
  • mac修复ab及siege安装
  • Nginx 通过 Lua + Redis 实现动态封禁 IP
  • Nodejs和JavaWeb协助开发
  • React Transition Group -- Transition 组件
  • Redux 中间件分析
  • RxJS 实现摩斯密码(Morse) 【内附脑图】
  • Vue学习第二天
  • 包装类对象
  • 基于axios的vue插件,让http请求更简单
  • 基于MaxCompute打造轻盈的人人车移动端数据平台
  • 时间复杂度与空间复杂度分析
  • 实现菜单下拉伸展折叠效果demo
  • 微信端页面使用-webkit-box和绝对定位时,元素上移的问题
  • 我的业余项目总结
  • 一、python与pycharm的安装
  • 一个普通的 5 年iOS开发者的自我总结,以及5年开发经历和感想!
  • 赢得Docker挑战最佳实践
  • 用 vue 组件自定义 v-model, 实现一个 Tab 组件。
  • #HarmonyOS:Web组件的使用
  • #绘制圆心_R语言——绘制一个诚意满满的圆 祝你2021圆圆满满
  • #微信小程序:微信小程序常见的配置传旨
  • ${factoryList }后面有空格不影响
  • (12)Hive调优——count distinct去重优化
  • (delphi11最新学习资料) Object Pascal 学习笔记---第13章第6节 (嵌套的Finally代码块)
  • (MonoGame从入门到放弃-1) MonoGame环境搭建
  • (Redis使用系列) Springboot 使用Redis+Session实现Session共享 ,简单的单点登录 五
  • (附源码)springboot车辆管理系统 毕业设计 031034
  • (一)Dubbo快速入门、介绍、使用
  • (转) RFS+AutoItLibrary测试web对话框
  • (转)VC++中ondraw在什么时候调用的
  • (转载)OpenStack Hacker养成指南
  • (转载)利用webkit抓取动态网页和链接
  • ***详解账号泄露:全球约1亿用户已泄露
  • . ./ bash dash source 这五种执行shell脚本方式 区别