首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

FLV文件格式官方规范详解

过程中借助ffmpeg实际转换了一个flv文件用例研究。 一个FLV文件,每种类型的tag都属于一个流,也就是一个flv文件最多只有一个音频流,一个视频流,不存在多个独立的音视频流在一个文件的情况。...(mp4好像是可以的) 另外,FLV文件格式所用的是大端序。 注:下面的数据type中,UI表示无符号整形,后面跟的数字表示其长度是多少位。比如UI8,表示无法整形,长度一个字节。UI24是三个字节。...0x01表示FLV 版本是1 保留字段 UB5 前五位必须是0 是否有音频流 UB1 音频流是否存在标志 保留字段 UB1 必须是0 是否有视频流 UB1 视频流是否存在标志 文件头大小 UI32 FLV...FLV文件体 ---- body部分由一个个Tag组成,每个Tag的下面有一块4bytes的空间,用来记录这个tag的长度,这个后置用于逆向读取处理,他们的关系如下图: ?...相对于FLV文件的第一个TAG时戳。第一个tag的时戳总是0。——不是时戳增量,rtmp中是时戳增量。 时戳扩展字段 UI8 如果时戳大于0xFFFFFF,将会使用这个字节。

3.3K61
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    多媒体文件格式剖析:FLV

    FLV查看的工具是FlvAnalyzer,回复FLV得到多媒体查看分析的一整套工具。下面使用FlvAnalyzer来分析FLV文件。 ?...FlvAnalyzer解析出来的FLV文件是一种树状的排列,分为两大部分: FLV Header:包含版本信息和音频、视频的排位信息; FLV Body:这里能看到交替的Video Tag和Audio...格式分析 上面使用工具解析出FLV文件的具体结构,下面我们要分析一下FLV格式的各个字段代表什么意思。...FLV包括文件头(File Header)和文件体(File Body)两部分,其中文件体由一系列的Tag组成。FLV文件的结构如下图: ?...FLV相关实践 将一个MP4文件转化为FLV文件: ffmpeg -i test.mp4 -c:v libx264 -crf 24 test.flv 如何将FLV格式中设置关键帧索引?

    1.7K10

    flv格式详解+实例剖析

    简介 FLV(Flash Video)是现在非常流行的流媒体格式,由于其视频文件体积轻巧、封装播放简单等特点,使其很适合在网络上进行应用,目前主流的视频网站无一例外地使用了FLV格式。...另外由于当前浏览器与Flash Player紧密的结合,使得网页播放FLV视频轻而易举,也是FLV流行的原因之一。 FLV是流媒体封装格式,我们可以将其数据看为二进制字节流。...总体上看,FLV包括文件头(File Header)和文件体(File Body)两部分,其中文件体由一系列的Tag及Tag Size对组成。 ?...一般发现前三个字符为FLV时就认为他是flv文件。 Version 占1个字节 标示FLV的版本号。这里我们看到是1 Flags 占1个字节 内容标示。...而且在解码器stop之后再次start之前,如seek、快进快退状态切换等,都需要重新送一遍sps和pps的信息.AVCDecoderConfigurationRecord在FLV文件中一般情况也是出现

    2.5K30

    HTTP-FLV直播初探

    目前几种视频流的简单对比: 协议 httpflv rtmp hls dash 传输方式 http流 tcp流 http http 视频封装格式 flv flv tag Ts文件 Mp4 3gp webm...延时 低 低 高 高 数据分段 连续流 连续流 切片文件 切片文件 Html5播放 可通过html5解封包播放(flv.js) 不支持 可通过html5解封包播放(hls.js) 如果dash文件列表是...HTTP FLV则是将RTMP封装在HTTP协议之上的,可以更好的穿透防火墙等。 Http_flv & RTMP 这两个协议实际上传输数据是一样的,数据都是flv文件的tag。...http_flv是一个无限大的http流的文件,相比rtmp就只能直播,而rtmp还可以推流和更多的操作。但是http有个好处,就是是以80http通信的,穿透性强,而且rtmp是非开放协议。.../flv.js?

    8.1K80

    FK RTMP KISS HTTP FLV

    What is HTTP FLV 所有的HTTP FLV流都是一个HTTP FLV地址,譬如:http://ossrs.net:8081/live/livestream.flv,但是,流的形式却至少有三种...: FLV文件,渐进式HTTP流。...放一个文件到nginx目录,可以访问下载在播放器播放,这是HTTP FLV文件,也就是渐进式下载流。所谓渐进式下载,也就是用户观看时无法从未下载的地方开始看。 FLV伪流。...因为nginx是当做文件下载的,无法直接跳转到第60分钟(nginx也不知道60分钟对应的字节偏移是多少呀)。后来有人就支持这种跳着播放,通过指定时间服务器从指定的位置开始给流,这种支持flv?...HDS和HLS像,但是HTTP FLV和他们两个都完全不像。 Why HTTP FLV 为何要整个HTTP FLV出来呢?当下HTTP FLV流正大行其道。

    26520

    nginx优秀新开源项目(基于HTTP方式的FLV直播):nginx-http-flv-module

    blog.csdn.net/winshining/article/details/74910586 github: https://github.com/winshining/nginx-http-flv-module...Nginx的性能优秀,但是据网友测试,nginx-rtmp-module的性能不如SRS,并且nginx-rtmp-module的作者已经很久没有更新版本了,支持的功能也有限,例如不支持HTTP方式的FLV...;修复nginx-rtmp-module没有listen配置项时,推流失败的问题;解决nginx-rtmp-module已知的bug,见nginx-http-flv-module,欢迎下载测试和修复bug...root /var/www; #HTTP请求URL映射到服务器的位置 index index.html index.htm; #HTTP请求优先请求的文件...推流的通用命令:ffmpeg -i -re xxx.mp4(或者与RTMP兼容的媒体文件)-vcodec copy -acodec copy -f flv rtmp://example.com[:port

    5.3K10

    HTTP-FLV详解及分析

    这个目录是由 nginx.conf 配置文件决定的: 6、flv.js 网页播放 前面我们已经解决了跨域问题 html.flv 文件内容如下: worker_processes 1; #...文件,可以看到网页播放成功 三、FLV 格式简介 1、简介 FLV(Flash Video)是现在非常流行的流媒体格式,由于其视频文件体积轻巧、封装播放简单等特点,使其很适合在网络上进行应用,目前主流的视频网站无一例外地使用了...总体上看,FLV 包括文件头(File Header:9 字节)和文件体(File Body)两部分,其中文件体由一系列的 Tag 及 Tag Size 对组成。...1、单位说明 2、FLV 文件头和文件体 (E.2, E.3) 从整个文件上看,FLV = FLV File Header + FLV File Body。...后来在做 flv 文件合成的时候,发现网上有的 flv 文件将 keyframes 信息隐藏在 Script Tag 中。 keyframes 几乎是一个非官方的标准,也就是民间标准。

    1.6K41
    领券