ffmpeg + nginx 实现rtsp视频流转m3u8视频流,转码推流(linux)

这篇具有很好参考价值的文章主要介绍了ffmpeg + nginx 实现rtsp视频流转m3u8视频流,转码推流(linux)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

FFmpeg即是一款音视频编解码工具,同时也是一组音视频编码开发套件,作为编码开发套件,它为开发者提供了丰富的音视频处理的调用接口。

FFmpeg提供了多种媒体格式的封装和解封装,包括多种音视频编码、多种协议的流媒体、多种多彩格式转换、多种采样率转换、多种码率转换等;FFmpeg框架提供了多种丰富的插件模块,包含封装与解封装的插件、编码与解码的插件等。同时也可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。采用LGPL或GPL许可证。它提供了录制、转换以及流化音视频的完整解决方案。

ffmpeg官网

一、下载安装FFmpeg

  1. 下载(自定义版本:http://www.ffmpeg.org/releases/)

wget http://www.ffmpeg.org/releases/ffmpeg-5.1.tar.gz

  1. 解压

tar -zxvf ffmpeg-5.1.tar.gz

  1. 编译安装(耗时较长)
    /home/ffmpeg为自己指定的安装目录

cd ffmpeg-5.1
./configure --prefix=/home/ffmpeg
make && make install

  1. 配置环境变量(方便在任意地方使用)

vi /etc/profile

在最后PATH添加环境变量:

export PATH=$PATH:$JAVA_HOME/bin:/home/ffmpeg/bin

source /ect/profile

nginx rtsp,ffmpeg,nginx,音视频

  1. 验证是否正确安装

ffmpeg -version
nginx rtsp,ffmpeg,nginx,音视频

二、 安装nginx

1.安装依赖

yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel

  1. 下载编译安装
# 下载  
 wget http://nginx.org/download/nginx-1.21.5.tar.gz
 
# 解压缩
tar -zxvf nginx-1.21.5.tar.gz
cd nginx-1.21.5/
 
# 执行配置并加载ssl模块
./configure --prefix=/usr/local/nginx --with-http_ssl_module
 
# 编译安装(默认安装在/usr/local/nginx)
make
make install
  1. 启动
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
 
 
# 进入:/usr/local/nginx/sbin
1 启动 ./nginx  
2 停止 ./nginx -s stop
3 重启 ./nginx -s reload

4.配置nginx(外网服务器记得开端口号,并重启nginx与防火墙)

   	server {
		listen       82;
        location / {
            types{
                application/vnd.apple.mpegurl m3u8;
                video/mp2t ts;
            }

            root /home/ffmpeg/video/; #root后的路径改为转码后的视频文件夹路径
            add_header Cache-Control no-cache;
            add_header Access-Control-Allow-Origin *;
        }
	}

三、开始转码

nohup ffmpeg -i 替换为rtsp流地址 -c copy -y /home/ffmpeg/video/AK_PHAROS1_000003/1ZNBJ4800C006B/video.m3u8 2>/dev/null 2>&1 &

说明:
第一处加粗地方改为你的RTSP地址,保证能正常播放(可以使用vlc工具测试)
第二处为转码之后视频流存放的位置路径
PS:该命令为后台运行,如果要前台运行去掉开头的nohup 和末尾的 2>/dev/null 2>&1 &

nginx rtsp,ffmpeg,nginx,音视频
nginx rtsp,ffmpeg,nginx,音视频

转码成功之后的视频,通过nginx去访问,按照以上方式执行结果播放地址是:

http://IP地址:82/AK_PHAROS1_000003/1ZNBJ4800C006B/video.m3u8

在VLC里面测试下:
nginx rtsp,ffmpeg,nginx,音视频文章来源地址https://www.toymoban.com/news/detail-701478.html

到了这里,关于ffmpeg + nginx 实现rtsp视频流转m3u8视频流,转码推流(linux)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • m3u8视频流,视频切片处理

    随着客户的增加,mp4文件播放的弊端也日益凸显。 mp4缺点 1):mp4的关键帧元素往往很大,需要加载很长时间才能开始播放。 2):当用户打开一个视频播放的时候,浏览器会持续请求下载mp4文件直到下载完成,就算是用户暂停视频播放浏览器也会持续这种下载状态,给服务器硬

    2024年02月02日
    浏览(49)
  • 前端播放大视频卡顿的解决(m3u8视频流)

    最近在一个大屏看板项目中有一个需求是:要求视频和看板要进行来回切换。 最开始的做法是将MP4视频放在项目里,在本地运行时是没什么问题的,但是在往仓库里提交代码时出现了问题。当单个文件超过100MB时会导致代码提交失败; 后来的解决方案是将视频文件放到服务器

    2024年01月19日
    浏览(48)
  • Unity WebGL 播放视频流m3u8

    目录 介绍 步骤 1.导入AVProVideo插件,创建场景,创建空物体添加MediaPlayer组件设置m3u8视频地址以及WebGL平台设置  2.在Canvas下创建Avpro Video,为MediaPlayer赋值  3.可以现在编辑器模式下测试视频地址是否可以播放,然后打包  4.打包完成后,将文件hls.min.js复制到Build文件夹下: 5

    2023年04月10日
    浏览(35)
  • 小X通m3u8视频流AES加密分析

    最近有空研究了下小X通的视频协议,下面记录下研究过程 首先我们要了解下m3u8是什么 首先我们需要了解什么时HLS,所谓HLS(HTTP Live Streaming)是一个由苹果公司提出的基于 HTTP 的流媒体网络传输协议。而m3u8是HLS协议的一部分,但是在直播,视频网站等用处很广泛。 HLS协议规定

    2024年02月05日
    浏览(29)
  • 关于vue播放flv,m3u8视频流(监控)的方法

    前文: 随着前端大屏页面的逐渐壮大,客户的需求也越来越多,大屏上面展示的事物也越来越丰     富。其中实时播放监控的需求逐步增加,视频流格式也是有很多种,用到最多的.flv、.m3u8。 一、 JessibucaPlayer插件用来播放flv流 1.首先是先把文件放在vue项目的public下面 2.在

    2023年04月15日
    浏览(72)
  • 视频防盗链下载,ffmpeg转m3u8,ts实现视频切片

    最近公司有个需求,要求付费的大视频防止下载,不卡顿功能。 优先使用的是阿里的视频点播,自己琢磨没事干,网上很多电影视频网站是如何做到的呢,然后就是各种搜,得到了一下结果 这个video标签的src地址是下载不了的,这下和电影网站的一样了

    2023年04月26日
    浏览(30)
  • ffmpeg 下载网上m3u8的视频文件

    FFmpeg 是一个音视频领域使用最广泛的跨平台开源库。由C语言编写,但广泛的为 C/C++、C#、Java、Python 等主流编程语言所调用。它集合了几乎所有的编码解码库与流协议,几乎能完美处理音视频开发领域的所有需求。 方式一:源码安装 FFmpeg 通过编译源码安装 FFmpeg 的优点是可

    2023年04月09日
    浏览(30)
  • 使用ffmpeg将视频转成HLS(m3u8)格式

      HLS (HTTP Live Streaming)是苹果推出的视频流协议,HLS格式的视频包含一个m3u8文本文件,以及众多的.ts的视频片段,而m3u8文本文件的作用就是将这些ts片段索引起来。 因为HLS协议是将视频切分成很多小的ts片段,这些小片段很适合放到cdn上,有很多视频文章都使用了hls格式传

    2024年02月13日
    浏览(35)
  • windows使用ffmpeg将MP4转m3u8使用参数详解,视频添加水印和压缩

    目录 背景: 一、什么是m3u8: 二、为什么使用m3u8: 三、安装ffmpeg: 1、下载后直接解压: 2、配置环境变量: 四、开始转换m3u8: 五、视频添加水印和压缩: 1. 给视频加上水印图片 2.输出视频的尺寸 3.输出文件的起始文件 4.输出文件的最小大小 和 最大的大小(会影响视频质量

    2024年02月07日
    浏览(41)
  • Python 实现 m3u8 视频下载

    m3u8 是一种 基于文本的媒体播放列表文件格式 ,通常用于指定流媒体播放器播放在线媒体流。它是一个简单的文本文件,其中包含多个由 URI 引用的媒体资源文件的 URL。m3u8 文件通常包含多个 ts 文件的链接,这些 ts 文件是实际的视频和音频数据文件,通常是通过 HTTP 协议传

    2024年02月07日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包