M3u8视频由手机拷贝到电脑之后,通过potplayer播放报错找不到文件地址怎么解决?

该文章前面三节主要介绍M3u8视频是什么,视频播放错误(找不到地址)的解决方法在后面

 M3U8是一种多媒体播放列表文件格式,主要用于流媒体播放。

一、文件格式特点 

1. 文本文件:M3U8是一个采用 UTF-8 编码的文本文件,这意味着它可以使用普通的文本编辑器打开和查看内容,方便用户进行简单的分析和修改。
2. 扩展名:其文件扩展名是“.m3u8”,这个特定的扩展名使得播放器和其他相关软件能够快速识别它是一个 M3U8 格式的播放列表文件。

二、文件结构组成(这个比较重要)

由一个.m3u8文件和一堆装有ts的文件夹组成。
M3U8文件在流媒体播放中起着核心的索引作用。它包含了一系列的标签和信息,用于描述视频的基本属性以及指向视频片段的地址。
-  #EXTM3U :是类型指定标签,位于文件的第一行,用于表示该文件属于 M3U8 类型文件。
-  #EXT-X-VERSION :表示版本号标签,不同版本在功能和特性上可能会有一些差异,目前较为常见的是版本 3。
-  #EXT-X-TARGETDURATION :用来表示所有视频片段的最大时长(四舍五入的值),单位是秒。例如,如果文件中视频片段的最大时长为 8.02 秒,那么此标签的值就是 8。
-  #EXT-X-MEDIA-SEQUENCE :是分片参考序列标签,在直播场景中,播放器会以此标签的值作为参考来播放对应的序列号的分片。
-  #EXTINF :用于表示每个视频片段的时长等信息,格式为“#EXTINF:时长, 描述信息(可选)”,每个视频片段都有对应的  #EXTINF  标签。
-  #EXT-X-ENDLIST :表示 M3U8 文件结束的标签,通常用于点播场景,直播场景中的 M3U8 文件一般没有此标签。

三、工作原理 

1. 视频分割与管理:
- 首先,原始的视频流会被分割成很多个小的 TS(Transport Stream)格式的片段。这样做的好处是可以将大的视频文件分割成小的部分,便于在网络环境较差的情况下逐步下载和播放,提高视频播放的流畅性和适应性。
- M3U8 文件就像一个目录,记录了这些 TS 视频片段的信息,包括每个片段的时长、序列号以及片段的存储地址(可以是本地路径或网络 URL)。
2. 客户端播放流程:
- 客户端(如浏览器、视频播放器等)获取到 M3U8 文件后,会对其中的信息进行解析,读取每个 TS 片段的相关信息,包括持续时间、序列号、对应的 URL 等。
- 客户端根据解析得到的信息,开始按照顺序下载 TS 视频片段。通常,客户端会同时下载几个片段,以提高播放的流畅性和缓冲性能。当第一个 TS 片段下载完毕后,客户端会开始播放这个片段,同时继续下载后续的 TS 片段,从而实现视频的连续播放。

四、找不到地址问题

1.首先确定m3u8是否如下图所示,一个ts集合文件夹对应着一个.m3u8文件。

5f700b0d7d684dceaabc42c44191191d.png

2.找到对应的.m3u8文件用记事本或者notepad++打开,如下图所示将前面的"file:///sdcard/UCDownloads/VideoData/"替换为"./",这样m3u8文件就可以找到对应的ts文件了。更改完再用相应播放器就可以播放了。(./表示当前目录下,../表示上一级目录。如果m3u8文件与ts文件夹不是上图所示关系,请按实际情况更改即可,最终目的就是让.m3u8文件找到ts在哪儿)

677d1f8d13f044aeba3c8ba703ab524d.png

 3.解决potplayer播放m3u8视频不连贯问题

点击左上角下拉框,选中播放->无缝播放->合并多个文件夹播放(或无缝播放,这个可以自定义合并文件数)。

dd86d7b578a2491f99b47e7988981e22.png

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/440594.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CSS基础-盒子模型(三)

9、CSS盒子模型 9.1 CSS常用长度单位 1、px:像素; 2、em:相对元素font-size的倍数; 3、rem:相对根字体的大小,html标签即是根; 4、%:相对于父元素进行计算。 注意:CSS样…

基于OpenCV的实时年龄与性别识别(支持CPU和GPU)

关于深度实战社区 我们是一个深度学习领域的独立工作室。团队成员有:中科大硕士、纽约大学硕士、浙江大学硕士、华东理工博士等,曾在腾讯、百度、德勤等担任算法工程师/产品经理。全网20多万粉丝,拥有2篇国家级人工智能发明专利。 社区特色…

C语言文件操作(上)(27)

文章目录 前言一、为什么要用文件?二、什么是文件?程序文件数据文件文件名文件类型文件缓冲区文件指针 三、流流的概念标准流 总结 前言 C语言可以直接操作文件,如果你是第一次听说这个特性,可能会眼前一亮,感到惊奇  …

四.网络层(上)

目录 4.1网络层功能概述 4.2 SDN基本概念 4.3 路由算法与路由协议 4.3.1什么是路由协议? 4.3.2什么是路由算法? 4.3.3路由算法分类 (1)静态路由算法 (2)动态路由算法 ①全局性 OSPF协议与链路状态算法 ②分散性 RIP协议与距离向量算法 4.3.…

Python手绘五星红旗,庆75周年

环境 pip install matplotlib pip install numpy 代码 import matplotlib.pyplot as plt import numpy as np# 中国国旗的标准尺寸比例是 3:2 width, height 300, 200 # 这里可以调整为任何满足3:2比例的尺寸# 创建一个新图形 fig, ax plt.subplots(figsize(width/100, h…

快速熟悉Nginx

一、Nginx是什么? ‌Nginx是一款高性能、轻量级的Web服务器和反向代理服务器。‌ ‌特点‌:Nginx采用事件驱动的异步非阻塞处理框架,内存占用少,并发能力强,资源消耗低。‌功能‌:Nginx主要用作静态文件服…

JS 介绍/书写位置/输入输出语法

目录 1. JS 介绍 1.1 JS 是什么 1.2 JS 的作用 1.3 JS 的组成 2. JS 书写位置 2.1 内部 JS 2.2 外部 JS 2.3 内联 JS 3. JS 注释和结束符 4. JS 输入输出语法 4.1 输入语法 4.2 输入语句 4.3 执行顺序 5. 字面量 1. JS 介绍 1.1 JS 是什么 1.2 JS 的作用 1.3 JS …

网 络 安 全

网络安全是指保护网络系统及其所存储或传输的数据免遭未经授权访问、使用、揭露、破坏、修改或破坏的实践和技术措施。网络安全涉及多个方面,包括但不限于以下几个方面: 1. 数据保护:确保数据在传输和存储过程中的完整性和保密性,…

Python3 爬虫 中间人爬虫

中间人(Man-in-the-Middle,MITM)攻击是指攻击者与通信的两端分别创建独立的联系,并交换其所收到的数据,使通信的两端认为其正在通过一个私密的连接与对方直接对话,但事实上整个会话都被攻击者完全控制。在中…

macOS Sequoia 15.0.1 (24A348) 正式版 ISO、IPSW、PKG 下载

macOS Sequoia 15.0.1 (24A348) 正式版 ISO、IPSW、PKG 下载 iPhone 镜像、Safari 浏览器重大更新和 Apple Intelligence 等众多全新功能令 Mac 使用体验再升级 请访问原文链接:https://sysin.org/blog/macOS-Sequoia/ 查看最新版。原创作品,转载请保留…

vsomeip用到的socket

概述: ​ vsomeip用到的socket的代码全部都在implementation\endpoints目录下面,主要分布在下面六个endpoint类中: local_client_endpoint_impl // 本地客户端socket(UDS Socket或者127.0.0.1的socket)local_server…

解决ros2 rviz Fixed Frame No TF data问题

新建一个终端,然后输入 :map后的数字可以任意,100也可以。注意map与框架名称一致。 rosrun tf2_ros static_transform_publisher 0.0 0.0 0.0 0.0 0.0 0.0 map 5

(作业)第三期书生·浦语大模型实战营(十一卷王场)--书生入门岛通关第1关Linux 基础知识

关卡任务 闯关任务需要在关键步骤中截图: 任务描述 完成所需时间 闯关任务 完成SSH连接与端口映射并运行hello_world.py 10min 可选任务 1 将Linux基础命令在开发机上完成一遍 10min 可选任务 2 使用 VSCODE 远程连接开发机并创建一个conda环境 10min 可选任务 3 创…

`git restore` 和 `git checkout` 用于丢弃工作区的改动, `git switch` 和 `git checkout` 用来切换分支

git restore 和 git checkout 都可以用于丢弃工作区的改动 但它们有一些区别,尤其是在 Git 2.23 引入了新的命令后。 主要区别 git checkout 是一个多用途命令: 它用于切换分支。它还可以用于恢复工作区中特定文件的更改。由于功能过于复杂&#xff0c…

html中的文本标签(含标签的实现案例)

目录 1.标题标签 2.标题标签的align属性 3.段落标签 4.水平线标签hr 5.换行标签br 6.文本样式标签font ​编辑7.文本格式化标签 8.文本语义标签 1)时间time标签 2)文本高亮Mark标签 3)cite标签 9.特殊字符标签 10.图像标签img 附录&#xff…

安卓使用memtester进行内存压力测试

memteser简介 memtester 是一个用于测试内存可靠性的工具。 它可以对计算机的内存进行压力测试,以检测内存中的错误,例如位翻转、随机存取错误等。memtester 可以在不同的操作系统上运行,并且可以针对不同大小的内存进行测试。 下载源码 m…

【Python】Python知识总结浅析

Python是一种高级编程语言,由Guido van Rossum于1991年首次发布。它以简洁的语法和强大的功能著称,适用于多种应用场景,包括Web开发、数据分析、人工智能、自动化脚本等。 易于学习和使用:Python的语法简洁明了,适合初…

【Windows】在任务管理器中隐藏进程

在此前的一篇,我们已经介绍过了注入Dll 阻止任务管理器结束进程 -- Win 10/11。本篇利用 hook NtQuerySystemInformation 并进行断链的方法实现进程隐身,实测支持 taskmgr.exe 的任意多进程隐身。 任务管理器 代码: // dllmain.cpp : 定义 …

RabbitMQ篇(基本介绍)

目录 一、简介 二、作用 三、AMQP协议 1. 简介 2. 核心概念 四、工作原理 五、工作模式 1. 普通模式 2. Worker模式 3. PubSub模式 4. Rounting模式 5. Topic模式 6. RPC模式 7. Publisher Confirms模式 六、基本结构 七、常见五个角色 一、简介 RabbitMQ 是一…

828华为云征文|华为云Flexus云服务器X实例部署 即时通讯IM聊天交友软件——高性能服务器实现120W并发连接

营运版的即时通讯IM聊天交友系统:特点可发红包,可添加多条链接到用户网站和应用,安卓苹果APPPC端H5四合一 后端开发语言:PHP, 前端开发语言:uniapp混合开发。 集安卓苹果APPPC端H5四合一APP源码&#xff0…