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

获取ffmpeg转码实时进度

前言 本文记录查看 ffmpeg 进行转码实时进度。...所用工程基于上个博客编译成功工程:使用FFmpeg4.3.1SDK官方开发包编译ffmpeg.c 一、需求 使用 ffmepg 对音视频文件进行转码时候可以看到其详细进度。...二、实现获取 ffmpeg 转码实时进度 1、思路梳理 ffmpeg_parse_options() 函数用来实现解析参数,并且打开输入输出文件功能,当打开输入文件时就可以从其中获取到音视频总时长,因此修改其内部...print_report() 函数中有实现打印当前转码显示时间戳,因此我们在这里获取当前转码显示时间戳; 将当前转码显示时间戳除以音视频总时长即可得到 ffmpeg 转码实时进度。...; // 当前转码显示时间戳 double get_tc_progress(); // 获取实时转码进度 ②、在 ffmepg.c 文件中进行 获取实时转码进度实现 // 获取实时转码进度

46910

Twitch如何实现转码器比FFmepg性能提升65%?(上)

为了将我们直播内容触达无数观众,Twitch使用HTTP实时流媒体协议(HLS),HLS是一种基于HTTP流媒体通信协议,现在大多数视频网站都使用该技术。...图2: 转码模块输入和输出 在这篇文章中,我们将讨论: FFmpeg如何满足大部分实时转码要求 FFmpeg无法提供哪些功能 Twitch为什么建立自己内部转码器软件栈 直接使用FFmpeg...图4:复合版本和转码版本片段之间不对齐 如果我们对源代码和其他版本进行转码,我们将得到完美的时间对齐HLS片段,因为我们强制FFmpeg精确地每2秒编码一次IDR。...对于具有可变IDR间隔源RTMP流,我们希望输出HLS看起来如图5那样对齐: 图5:复合版本和转码版本对齐分段 但是,在1-in-1-out 和1-in-N-outFFmpeg实例中,与N个输出版本相对应...实现这种输出最简单方法是创建N个独立1-in-1-out转码器,每个转码器产生1个输出流。上面介绍FFmpeg解决方案使用了这个方法,生成了N个FFmpeg实例。

1.3K40
您找到你想要的搜索结果了吗?
是的
没有找到

EasyDSS开启虚拟直播无法显示视频流跟TS文件有什么关系?

EasyDSS开启虚拟直播,使用ffmpeg转码m3u8文件作为直播源时,部分直播无法播放视频。...最后排查确定是在点播文件转码时ts生成问题,ffmpeg转码问题,于是将“-vcodec copy” 改为“-vcodec libx264”,这么修改可以解决ts生成问题,但是在转码时会时间比较久,比较消耗资源...2 -strict -2 -f hls -hls_time 8 -hls_list_size 0 video.m3u8 于是直接用ffmpeg命令本地转码,发现是成功,并且ts也有视频流。...ffmpeg命令MP4转m3u8: ffmpeg -i Cx8J6oM7R.mp4 -c:v libx264 -c:a aac -strict -2 -f hls -hls_list_size 2 -hls_time...15 output.m3u8 最后将代码中命令修改: 具体执行转码命令: EasyTrans.exe -fflags +genpts -hide_banner -i 4NGpW0M7g.MP4

61410

如何使用FFmpeg将互联网直播点播平台内直播视频流转化为HLS流?

FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流开源计算机程序。...在音视频开发过程中,经常需要使用 FFmpeg 将原先一个单视频文件转换为多个HLS 流文件,用于视频直播和点播,当然我们视频直播点播平台EasyDSS也会使用FFmpeg作为能力程序,当需要将视频流转化为...HLS 流时,我们就可以通过FFmpeg来进行转换。...hls_time 8 -hls_list_size 0 output.m3u8 命令中-vcodec libx264 代表转码文件视频编码为 h264 编码,-acodec copy 代表转码文件音频编码直接采用...-hls_time 8 -hls_list_size 0 output.m3u8 libx264 参数为仅使用 cpu 能力进行视频转码,h264_nvenc 调用了显卡程序进行转码,速度更快。

2K30

使用FFmpeg进行HLS打包——FFmpeg简单学

使用FFmpeg好处在于:你可以在不离开命令行情况下,执行提取视频、调整视频尺寸、转码、打包以及传输视频所有操作。...使用FFmpeg进行HLS打包基础步骤 好,现在让我们看下使用HLS打包点播文件基础步骤: 从磁盘读取输入视频 将视频缩放/调整(scale/resize)为所需多种分辨率版本 将每个缩放后视频转码到所需码率...使用FFmpeg创建HLS播放清单(m3u8) 现在我们已经有了将视频转码为不同码率变体命令,让我们来使用FFmpeg创建HLS点播播放列表。...它是做什么? var_stream_map是一个FFmpeg功能选项,它帮助我们将各种视频和音频转码组合起来,以创建不同HLS播放列表。...结语 现在,我希望你已经很好地理解了如何通过FFmpeg来执行HLS流媒体协议转码和打包。

2.2K20

使用PHP结合Ffmpeg快速搭建流媒体服务实践

为了解决这个问题,便想着搭建一套流媒体服务,这样手机就可以边看边下载,查询了一些资料了了解到需要先将视频分成一小片来传输,比如将MP4转码为M3U8格式,查询了相关转码方法,比较主流方式是使用ffmpeg...功能测试 三、搭建ffmpeg 视频转码工具可能有很多,但开源且使用人数最多还是莫过于ffmpeg这个工具,具体功能笔者不在这里详细讲解;安装此工具方式有很多,比如apt安装、源码安装、docker...所支持输入输出协议非常多,比如可以选择file协议作为来源,使用hls协议作为输出结果,具体所支持协议可以通过如下命令查看 docker run jrottenberg/ffmpeg -protocols...四、服务搭建 在上一步中笔者已经成功通过终端使用FFmpeg将视频进行转码,下面笔者将结合PHP代码将这些操作完全自动化实现,这样便可以达到通过手机访问网站,服务端自动完成转码播放需求,这个过程包括创建虚拟主机...,否则创建一个存放TS文件文件夹,然后进行转码转码时候使用nohup命令可以让FFmpeg异步执行,然后PHP返回播放地址。

2.3K40

html播放rtsp流,浏览器播放rtsp视频流解决方案

而浏览器不能直接播放,只有通过插件或者转码来实现这个需求。 要实现这个目的,可以采用方案非常得多,有商业也有开源,这里主要列举一些开源方案。这里方案都是我尝试过了,有些成功,有些没成功。...live on; hls on; hls_path nginx-rtmp-module/hls; hls_cleanup off; } } } 复制代码 ffmpeg转码 ffmpeg -i “rtsp...+ video,rtsp转hls播放 HLS (HTTP Live Streaming) 直播 是有苹果提出一个基于http协议。...实现步骤 ffmpeg转码 ffmpeg -i “rtsp://184.72.239.149/vod/mp4://BigBuckBunny_175k.mov” -c copy -f hls -hls_time...2.0 -hls_list_size 0 -hls_wrap 15 “D:/Program Files/html/hls/test.m3u8” 复制代码 ffmpeg 关于hls方面的指令说明 -hls_time

5.7K130

使用 Nginx-RTMP 搭建简单流媒体服务器

;需要转发其他来源流媒体,例如有选择低转发不具有外网访问能力摄像头流数据,或者部分设备不支持需要流媒体格式,需要进行转码;这时候就会思考,有没有能既清晰又流畅进行屏幕、视频流分享呢?...不过其实目前来说并不需要在这么麻烦,直接利用 apt 包管理器就可以了,通过 search 找到需要安装软件包:图片安装 Nginx 和 Nginx-RTMP,为了方便转码,再额外安装 ffmpeg#...更新软件源apt update# apt upgrade -y# 安装apt install nginx libnginx-mod-rtmp -y# ffmpeg (如需转码)apt install...ffmpeg 可进行转码操作rtmp { server { listen 1935; application src { live on...} }}推流、播放推流推流可以使用 OBS、ffmpeg 等工具进行注:x11grab 在新版 ffmpeg 中已被移除,给出ffmpeg推流示例:.

5.3K110

OSSRS搭建rtmp推流服务器

HLS Apple/ Android HTTP Apple/ Google 延时一个切片以上(一般10秒以上), Apple平台上HLS效果比PCRTMP还要好, 而且Apple所有设备都支持, Android...便捷安装 当流服务器不涉及ffmpeg操作时用该方式 下面这种方式是直接安装官方编译过,里面不包含ffmpeg库, 如果需要ffmpeg处理流的话需要自行下载ffmpeg,或者用下文编译源码方式...这里之所以编译源码是因为之前直接安装方式并不提供三方库,比如接下来要用ffmpeg; 当然我们也可以自己手动安装ffmpeg,然后修改配置文件中默认ffmpeg路径即可。.../objs/nginx/html; hls_fragment 10; hls_window 60; } } 生成流地址为: RTMP流地址为:rtmp...SRS转码主要流程包括: 编码器推送RTMP流到SRSvhost。 SRSvhost若配置了转码,则进行转码转码后,按照配置,推送到SRS本身或者其他RTMP服务器。

7.4K30

OSSRS搭建rtmp推流服务器

HLS Apple/ Android HTTP Apple/ Google 延时一个切片以上(一般10秒以上), Apple平台上HLS效果比PCRTMP还要好, 而且Apple所有设备都支持, Android...便捷安装 当流服务器不涉及ffmpeg操作时用该方式 下面这种方式是直接安装官方编译过,里面不包含ffmpeg库, 如果需要ffmpeg处理流的话需要自行下载ffmpeg,或者用下文编译源码方式...这里之所以编译源码是因为之前直接安装方式并不提供三方库,比如接下来要用ffmpeg; 当然我们也可以自己手动安装ffmpeg,然后修改配置文件中默认ffmpeg路径即可。.../objs/nginx/html; hls_fragment 10; hls_window 60; } } 复制 生成流地址为: RTMP流地址为...SRS转码主要流程包括: 编码器推送RTMP流到SRSvhost。 SRSvhost若配置了转码,则进行转码转码后,按照配置,推送到SRS本身或者其他RTMP服务器。

3.6K42

java-FFmpeg(一) 实现视频转码和截图功能

在java开发中,FFmpeg也常被调用用来进行视频转码,录播和直播,总的来说,FFmpeg是一款非常强大,而且做与视频相关业务平台开发人员必须要学会工具,那具体怎么实习呢,第一章我们先从分别windows...和linux下调用FFmpeg进行视频转码,和对视频截图做出说明解释。...工具,先将视频转换成AVI格式再用ffmpeg进行转码; windows下:         1.首先需要FFmpeg和mencoder工具。...可以转换类型直接转码,否则先用mencoder转码成AVI if (type == 0) { System.out.println("直接将文件转为...命令格式:     普通转码:     ffmpeg -i [输入文件名] [参数选项] -f [格式] [输出文件]     比如:MP4转avi c:\ffmpeg\ffmpeg

9.5K90

SRS-开源流媒体服务器

SRS还支持将接入RTMP流进行各种变换,譬如将RTMP流转码、流截图、 转发给其他服务器、转封装成HTTP-FLV流、转封装成HLS、转封装成HDS、录制成FLV。...10、支持转码,可以对推送到SRSRTMP流进行转码,然后输出到其他RTMP服务器。可对指定流配置是否转码。...官方意思是,能拉任意流,只要FFMPEG支持,不是h264/aac都没有关系,FFMPEG转码。SRS接入方式可以是“推流到SRS”和“SRS主动拉流”。...主要功能:创建频道、编辑频道、跟踪频道信息、转码模板、时移、录制、直播加密。 2、SRS集群 SRS集群 : 基于SRS多节点、多层级部署, 通过srs-调度,使得不同层级只负责一项任务。...达到集群部署效果,可横向和纵向扩展。 ? 3、基于SRS集群UGC直播管理 ?

28.3K3631

如何快速构建一套稳定、高效、可靠网页无插件监控、直播、点播解决方案

基于NGINXRTMP直播点播开源流媒体服务器NGINX-RTMP-MODULE3....SRS还支持将接入RTMP流进行各种变换,譬如将RTMP流转码、流截图、转发给其他服务器、转封装成HTTP-FLV流、转封装成HLS、转封装成HDS、录制成FLV。...10、支持转码,可以对推送到SRSRTMP流进行转码,然后输出到其他RTMP服务器。可对指定流配置是否转码。...内置了FFMPEG.同时会提供FFMPEG部分功能:输出纯音频、加文字水印、剪切视频、添加图片LOGO等。...官方意思是,能拉任意流,只要FFMPEG支持,不是h264/aac都没有关系,FFMPEG转码。SRS接入方式可以是“推流到SRS”和“SRS主动拉流”。15、支持将RTMP流录制成flv文件。

1.4K10

EasyNVR是如何做到无插件播放RTSP摄像机,完美将海康、大华、宇视等安防设备向互联网转化

; 方案 那么问题来了,如何能够实现需求中两点: PC上输出兼容性较强flash需要rtmp或者hls流或者http-flv流; 手机上输出H5标准HLS(m3u8+ts)流; 其实目前市面上大部分...任何报文,就会出现服务器端主动reset,种种此类,如果基于ffmpeg拉流确实是可以兼容大部分摄像机IPC、NVR,但是遇到特殊种类就比较难进行改造和兼容了; 没有绝对,根据需求,也许您就只需要接入某两款特定类型摄像机呢...音视频转码(H.264 + AAC) 由于目前RTMP、HLS协议标准,包括前端支持上,还停留在H.264+AAC组合上,所以,我们需要将各种视频格式:H.265、MJPEG、MPEG4,各种音频格式...:G.711A/U、G.726,都统一转码成H.264和AAC,说到转码,那肯定是ffmpeg first; 目前市面上大部分摄像机都是默认或者设定为输出H.264视频流,但音频流转码就肯定是需要兼容...,所以就需要RTMP推流端对时间戳进行一次均匀化,不然就会出现HLS经常会快放、慢放、卡顿缓冲加载现象,这一点上EasyRTMP参考ffmpeg-re命令方案,对时间戳进行了优化,保证均匀播放;

2.4K20

Nginx零成本、易操作实现网站视频加速

安装好ffmpeg之后,通过以下命令转换: ffmpeg -i mp4_file -c:v libx264 -hls_time 10 -hls_list_size 0 -c:a aac -strict...-2 -f hls path/m3u8_file 这里以libx264和ACC形式对视频进行输出,其中几个关键参数如下: -hls_time n: 设置每片长度,默认值为2。...单位为秒 -hls_list_size n:设置播放列表保存最多条目,设置为0会保存所有片信息,默认值为5 -hls_wrap n:设置多少片之后开始覆盖,如果设置为0则不会覆盖,默认值为0.这个选项能够避免在磁盘上存储过多片...,而且能够限制写入磁盘最多数量 -hls_start_number n:设置播放列表中sequence number值为number,默认值为0 -hls_segment_filename name...:自定义切片名称 因为ffmpeg转码是CPU密集型计算,如果默认单线程,可以通过-threads n指定多线程进行转码 转码完成后,会在目录下生成一个.m3u8索引文件和很多.ts切片文件,接着查看下自己

3.5K10

浏览器音频兼容和ffmpeg音频转码使用

浏览器对各音/视频格式支持问题 浏览器测试效果图 ffmpeg在音频格式转换,和从视频中提取音频简单实用 1、百度搜索浏览器对于音频文件兼容,排在前面的文章大部分是复制粘贴很久以前文章,容易误导搜索资料的人...如果只是单纯用Safari浏览器打开磁盘一个静态页面,会发现不支持这两种格式 同上Opera浏览器对于ogg视频格式支持,也需要把页面部署到...2、FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流开源计算机程序,功能强大,应用广泛。...2.3、执行提取音频命令或者音频转换命令,格式: ffmpeg -i input.mp4 -f mp3 -ar 16k output.mp3 说明: 源视频或音频:input.mp4 输出格式:-f mp3...:ffmpeg参数中文详细解释  ,   FFmpeg官网文档 完整测试页面和音频文件见:https://github.com/xiaotanit/Tan_HtmlDemo

1.9K30

SkeyeVSS综合安防视频云服务WEB H5无插件播放RTSP摄像机解决方案,拒绝插件,拥抱H5,Windows PC、 Liunx、 Android

hls/http-flv多种码流,增加前端兼容适配,就能完美地达到想要方案,总结来说,需要通过以下几个步骤:RTSP拉流;音视频转码(可选);流媒体服务器RTSP转发+WEBSOCKET代理;流媒体服务器多协议转发...,但是兼容性差,对某些小众厂家RTSP流或者标准性较差RTSP流可能存在拉不到流问题;**FFmpeg**FFmpeg拉流稳定性高,兼容性强,实时性相对较低,我们通常可以通过调整参数来提高实时性。...,我们需要将各种视频格式:H.265、MJPEG、MPEG4转成H.264再转发给H5播放,各种音频格式:G.711A/U、G.726,都统一转码成AAC格式,同样道理,H5对AAC支持更好一些;而音视频转码...,业界公认神奇当然是FFmpeg。...ffmpeg-re命令方案,对时间戳进行了优化,保证均匀播放;4.流媒体服务器多协议转发RTMP/FLV/HLS这里说到RTMP服务器有几种输出协议:* rtmp* hls* http-flv*

1.3K40

视频推拉流直播点播EasyDSS平台点播文件加密存储实现方法

视频推拉流直播点播系统EasyDSS平台,可提供流畅视频直播、点播、视频推拉流、转码、管理、分发、录像、检索、时移回看等功能,可兼容多操作系统,还能支持CDN转推,具备较强可拓展性与灵活性,在直播点播领域具有广泛场景应用...功能设计及开发实现方法:1)在转码之前需要新建两个文件enc.key(名字可以任意命名),添加16个字节密钥,例如:2)再新建文件enc.keyinfo,添加如下内容:3)这里需要将enc.key和enc.keyinfo...放在同一目录下,否则会转码失败。...4)测试生成加密转码命令:ffmpeg -y -i video.mp4 -hls_time 12 -hls_key_info_file enc.keyinfo -hls_playlist_type vod...-hls_segment_filename "file%5d.ts" video.m3u85)成功生成后,在m3u8文件头部有如下参数,URI="http://localhost:8080/enc.key

19010
领券