`
haoningabc
  • 浏览: 1482706 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

srt学习笔记七:使用265推rtmp

阅读更多
概念:
视频码率:视频码率就是数据传输时单位时间传送的数据位数,一般我们用的单位是kbps即千位每秒。通俗一点的理解就是取样率,单位时间内取样率越大,精度就越高,处理出来的文件就越接近原始文件
帧率:hz
FEC:前向纠错也叫前向纠错码(Forward Error Correction,简称FEC)


udp的基本粒子:
ffmpeg -re -i chrome.mp4 -f h264 udp://127.0.0.1:6666
ffplay udp://127.0.0.1:6666

######################   ffmpeg 264 265. 转视频文件 ########


https://www.jianshu.com/p/b6216d8e3df8  265的有问题参考https://superuser.com/questions/785528/how-to-generate-an-mp4-with-h-265-codec-using-ffmpeg

视频转换
ffmpeg -i chrome.mp4 -c:v libx264 -preset slow -crf 22 -x264-params keyint=123:min-keyint=20 -c:a copy chrome.mkv

ffmpeg -i chrome.mp4 -c:v libx265 -c:a copy -x265-params crf=25 output.mp4

虽然可以转视频,但是输出流就不行了
这个不行##### ffmpeg -i chrome.mp4 -c:v libx265 -c:a copy -x265-params crf=25 rtmp://127.0.0.1/live/livestream

查看 ffmepg是否支持265 :brew info ffmpeg
这样看也不行,还是要装金山的265才行    https://github.com/ksvc/FFmpeg


#########################  srs的  srt推rtmp  ######################### 

ffmpeg -re -i chrome.mp4  -vcodec copy -acodec copy  -f mpegts 'srt://127.0.0.1:10080?streamid=#!::h=live/livestream,m=publish'
ffplay -loglevel verbose  "rtmp://127.0.0.1/live/livestream live=1"  



srs的  rtmp推rtmp
ffmpeg -re -i ./chrome.mp4 -c copy -f flv rtmp://127.0.0.1/live/livestream
ffplay -loglevel verbose  "rtmp://127.0.0.1/live/livestream live=1"  




####################### 金山的ffmpeg 和pingo推流服务 #######################
这个重要,好好看
https://www.pengrl.com/p/20044/


想要这个命令好使,mac自带的是不行的
./ffmpeg -re -i ~/Desktop/chrome.mp4 -c:a copy -c:v libx265 -f flv rtmp://127.0.0.1/live/livestream

安装支持265的ffmepg:
git clone https://github.com/ksvc/FFmpeg.git
git reset --hard origin/release/3.4


./configure --enable-static --enable-pic  --disable-encoders --enable-encoder=aac --enable-encoder=libx264 --enable-gpl --enable-libx264 --enable-encoder=libx265  --enable-libx265  --disable-decoders --enable-decoder=aac --enable-decoder=h264 --enable-decoder=hevc   --disable-demuxers --enable-demuxer=aac --enable-demuxer=mov --enable-demuxer=mpegts --enable-demuxer=flv --enable-demuxer=h264 --enable-demuxer=hevc --enable-demuxer=hls   --disable-muxers --enable-muxer=h264  --enable-muxer=flv --enable-muxer=f4v  --enable-muxer=mp4  --disable-doc --extra-cflags="-fno-stack-check"

修改:libavcodec/libx264.c
把libavcodec/libx264.c中的x264_bit_depth全部替换成了大写的X264_BIT_DEPTH。
make -j8


测试
./ffmpeg -re -i ~/Desktop/chrome.mp4 -c:a copy -c:v libx265 -f flv rtmp://127.0.0.1/live/livestream
可以了,但是还是需要一个接首流的server,
nginx-rtmp-module或者pingos

##########
参考但是不用这个 https://github.com/im-pingo/nginx-rtmp-module


这么装不行
./configure --prefix=/usr/local/nginx_rtmp --add-module=/opt/hao/ffmpeg/nginx-rtmp-module/ --with-openssl=/opt/hao/ffmpeg/openssl-1.1.1g

看pingos的安装程序,需要4个nginx模块,还是装pingo吧
git clone https://github.com/pingostack/pingos
看README
./release.sh -i

运行服务 /usr/local/pingos/sbin/nginx
需要一些目录之类的自建

测试:
/opt/hao/ffmpeg/FFmpeg/ffmpeg -re -i ~/Desktop/chrome.mp4 -c:a copy -c:v libx265 -f flv rtmp://127.0.0.1/live/livestream

/opt/hao/ffmpeg/FFmpeg/ffplay -loglevel verbose  "rtmp://127.0.0.1/live/livestream live=1"



综上:
用金山的ffmpeg,支持265的推流,mac自带的不行
编译pingos作为流发服务器

ffmpeg-----265-----> pingos -------->ffplay










分享到:
评论

相关推荐

    ffmpeg 编译 支持 h265 rtmp 推流

    在本教程中,我们将详细讲解如何在Windows环境下,使用MSYS2 MinGW 64-bit编译FFmpeg,使其支持H265编码和RTMP推流。 一、安装MSYS2 MinGW 64-bit 1. 首先,从MSYS2官方网站下载最新版本的MSYS2安装程序。 2. 安装...

    支持对H265的rtmp推流,复用,解码,播放的FFMPEG

    这里,`-c:v libx265`指定了使用H265编码器,`-preset`用于设置编码速度与质量平衡,`-b:v`指定比特率,`-f flv`表示封装成FLV格式,最后是RTMP服务器的URL和流key。 FFmpeg也支持FLV(Flash Video)复用,FLV是一...

    基于ffmpeg实现了解析rtsp视频为cv:Mat格式,将Mat数据推送到rtmp服务

    c++实现基于ffmpeg实现了解析rtsp视频为cv:Mat格式,将Mat数据推送到rtmp服务。。。

    基于ffmpeg实现了解析rtsp视频为cv::Mat格式,将Mat数据推送到rtmp服务

    基于ffmpeg实现了解析rtsp视频为cv::Mat格式,此时可以对cv::Mat进行处理,然后再将cv::Mat数据推送到rtmp流媒体服务。处理、转码一条龙。另外,工程中关于OpenCV、ffmpeg的库和头文件的路径需要自己根据实际路径...

    Rtmp推流h264_h265

    总结来说,"Rtmp推流h264_h265"涉及的关键技术包括RTMP协议的使用,高效视频编码标准H.264和H.265的应用,以及MP4容器的适应性。这些技术的结合使得高质量视频能在互联网上流畅地传输,满足了用户对高清、低延迟的流...

    支持 推流 265 rtmp的ffmpeg 64位库

    在本文中,我们将深入探讨FFmpeg如何支持H.265(也称为HEVC)编码的RTMP推流,以及如何在64位系统上使用此功能。 H.265是新一代的视频编码标准,相比前一代的H.264,它能在相同的画质下显著减少视频文件的大小,这...

    rtsp转rtmp推流录制工具

    世纪葵花为了感谢广大客户多年来的支持,特免费提供一款流媒体应用工具GMPullerX,具体功能如下: 一:支持监控摄像头rtsp网络流转发成标准的rtmp/...七:配合KMS流媒体系统可以支持PC+机顶盒+手机观看(微信直播)

    ffmpegh265rtmp.zip

    使用这个压缩包,开发者可以创建自己的应用程序,通过FFmpeg的API进行H265视频的编码,并利用RTMP协议将编码后的流推送到服务器。例如,可以创建一个实时监控系统,捕获摄像头的H265视频流,经过处理后通过RTMP推送...

    rtmp推流测试文档.zip_rtmp_rtmp推流_推流_文档

    RTMP(Real-Time Messaging Protocol,实时消息传输协议)是一种基于TCP的应用层协议,主要用于在互联网上进行音频、视频数据的实时传输。...通过深入学习这份文档,我们可以更好地理解和应用RTMP推流技术。

    rtmp 播放工具 支持H265及rtsp转码rtmp.rar

    rtmp 播放工具,支持H264 H265, 参考FFmpeg完成rtmp H265推流后,使用此工具测试OK. 工具同时支持将rtsp转码rtmp推送测试平台,比Wowza Streaming用着更方便,rtmp开发者值得拥有,具体开发问题也可留言讨论。谢谢

    Java 使用javaCV、ffmpeg拉流H265 RTSP转推H264 RTMP可获取流访问人数(源代码)

    1)、拉取RTSP流转推RTMP,支持H265转H264。 2)、可选择使用javaCV推流、ffmpeg推流两种方式。 3)、javaCV仅支持拉去或推送H264压缩方式的流。 4)、ffmpeg采用命令的方式拉流和推流,支持H265和H264。 5)、...

    32位的支持h265的rtmp推流的ffmpeg6.0

    通过这些组件,用户可以在32位系统上使用FFmpeg进行H265编码并利用RTMP协议将编码后的视频流推送到服务器,适用于在线直播、视频会议和其他实时音视频传输场景。由于FFmpeg的跨平台特性,这个版本同样适用于Windows...

    rtmp 播放工具 支持H265及rtsp转码rtmp

    3. 转码和封装:将解码后的H265视频重新编码并封装成RTMP格式,以便于推送到支持RTMP的服务器。 4. 配置和控制:工具应提供用户界面或配置文件,允许用户设置如目标服务器地址、端口、流名称等参数,以及调整转码...

    最简单的基于FFmpeg的推流器(以推送RTMP为例)

    在本文中,我们将深入探讨如何使用FFmpeg实现一个最简单的基于RTMP(Real-Time Messaging Protocol)的推流器,这允许你将本地视频内容实时推送到流媒体服务器,如YouTube Live、Twitch等。 首先,让我们理解RTMP...

    Android RTMP推流实现

    在Android上,我们通常使用开源库如librtmp或ijkplayer来实现RTMP推流。 在Android应用中,实现RTMP推流的关键步骤如下: 1. **准备音视频数据**:Android提供了MediaRecorder类来录制设备的摄像头和麦克风数据。...

    32位的支持h265的rtmp推流的ffmpeg6.0.zip

    这个压缩包"32位的支持h265的rtmp推流的ffmpeg6.0.zip"包含了FFmpeg的一个特定版本,即6.0,它针对32位操作系统进行了优化,并且支持HEVC(H.265)编码以及RTMP(Real-Time Messaging Protocol)推流。 HEVC(High ...

    Android代码-Android rtmp rtsp 推流客户端

    rtmp-rtsp-stream-client-java Library for stream in RTMP and RTSP. All code in Java. If you need a player see this project: https://github.com/pedroSG94/vlc-example-streamplayer Wiki ...

    安卓rtmp推流工具

    在IT行业中,流媒体技术是不可或缺的一部分,尤其是在移动设备上,如安卓系统。"安卓rtmp推流工具"就是这样一个应用程序,它允许用户通过安卓...对于想要学习安卓rtmp推流的开发者,这个应用也是一个不错的参考实例。

    nginx+rtmpmodule

    - **直播**:主播通过支持RTMP协议的推流工具(如OBS Studio)将视频流推送到服务器的特定应用地址(如rtmp://yourserver/live/streamkey)。 - **点播**:观众可以通过HLS播放器(如网页中的HTML5 video标签或移动...

    ffmpeg推拉流_rtmp内网穿透

    在“ffmpeg推拉流_rtmp内网穿透”这个主题中,我们将深入探讨如何利用FFmpeg进行RTMP流媒体的推送与拉取,并解决在内网环境下进行流媒体传输时遇到的问题。 首先,RTMP(Real-Time Messaging Protocol)是一种广泛...

Global site tag (gtag.js) - Google Analytics