概念:
视频码率:视频码率就是数据传输时单位时间传送的数据位数,一般我们用的单位是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
分享到:
相关推荐
在本教程中,我们将详细讲解如何在Windows环境下,使用MSYS2 MinGW 64-bit编译FFmpeg,使其支持H265编码和RTMP推流。 一、安装MSYS2 MinGW 64-bit 1. 首先,从MSYS2官方网站下载最新版本的MSYS2安装程序。 2. 安装...
这里,`-c:v libx265`指定了使用H265编码器,`-preset`用于设置编码速度与质量平衡,`-b:v`指定比特率,`-f flv`表示封装成FLV格式,最后是RTMP服务器的URL和流key。 FFmpeg也支持FLV(Flash Video)复用,FLV是一...
c++实现基于ffmpeg实现了解析rtsp视频为cv:Mat格式,将Mat数据推送到rtmp服务。。。
基于ffmpeg实现了解析rtsp视频为cv::Mat格式,此时可以对cv::Mat进行处理,然后再将cv::Mat数据推送到rtmp流媒体服务。处理、转码一条龙。另外,工程中关于OpenCV、ffmpeg的库和头文件的路径需要自己根据实际路径...
总结来说,"Rtmp推流h264_h265"涉及的关键技术包括RTMP协议的使用,高效视频编码标准H.264和H.265的应用,以及MP4容器的适应性。这些技术的结合使得高质量视频能在互联网上流畅地传输,满足了用户对高清、低延迟的流...
在本文中,我们将深入探讨FFmpeg如何支持H.265(也称为HEVC)编码的RTMP推流,以及如何在64位系统上使用此功能。 H.265是新一代的视频编码标准,相比前一代的H.264,它能在相同的画质下显著减少视频文件的大小,这...
世纪葵花为了感谢广大客户多年来的支持,特免费提供一款流媒体应用工具GMPullerX,具体功能如下: 一:支持监控摄像头rtsp网络流转发成标准的rtmp/...七:配合KMS流媒体系统可以支持PC+机顶盒+手机观看(微信直播)
使用这个压缩包,开发者可以创建自己的应用程序,通过FFmpeg的API进行H265视频的编码,并利用RTMP协议将编码后的流推送到服务器。例如,可以创建一个实时监控系统,捕获摄像头的H265视频流,经过处理后通过RTMP推送...
RTMP(Real-Time Messaging Protocol,实时消息传输协议)是一种基于TCP的应用层协议,主要用于在互联网上进行音频、视频数据的实时传输。...通过深入学习这份文档,我们可以更好地理解和应用RTMP推流技术。
rtmp 播放工具,支持H264 H265, 参考FFmpeg完成rtmp H265推流后,使用此工具测试OK. 工具同时支持将rtsp转码rtmp推送测试平台,比Wowza Streaming用着更方便,rtmp开发者值得拥有,具体开发问题也可留言讨论。谢谢
1)、拉取RTSP流转推RTMP,支持H265转H264。 2)、可选择使用javaCV推流、ffmpeg推流两种方式。 3)、javaCV仅支持拉去或推送H264压缩方式的流。 4)、ffmpeg采用命令的方式拉流和推流,支持H265和H264。 5)、...
通过这些组件,用户可以在32位系统上使用FFmpeg进行H265编码并利用RTMP协议将编码后的视频流推送到服务器,适用于在线直播、视频会议和其他实时音视频传输场景。由于FFmpeg的跨平台特性,这个版本同样适用于Windows...
3. 转码和封装:将解码后的H265视频重新编码并封装成RTMP格式,以便于推送到支持RTMP的服务器。 4. 配置和控制:工具应提供用户界面或配置文件,允许用户设置如目标服务器地址、端口、流名称等参数,以及调整转码...
在本文中,我们将深入探讨如何使用FFmpeg实现一个最简单的基于RTMP(Real-Time Messaging Protocol)的推流器,这允许你将本地视频内容实时推送到流媒体服务器,如YouTube Live、Twitch等。 首先,让我们理解RTMP...
在Android上,我们通常使用开源库如librtmp或ijkplayer来实现RTMP推流。 在Android应用中,实现RTMP推流的关键步骤如下: 1. **准备音视频数据**:Android提供了MediaRecorder类来录制设备的摄像头和麦克风数据。...
这个压缩包"32位的支持h265的rtmp推流的ffmpeg6.0.zip"包含了FFmpeg的一个特定版本,即6.0,它针对32位操作系统进行了优化,并且支持HEVC(H.265)编码以及RTMP(Real-Time Messaging Protocol)推流。 HEVC(High ...
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 ...
在IT行业中,流媒体技术是不可或缺的一部分,尤其是在移动设备上,如安卓系统。"安卓rtmp推流工具"就是这样一个应用程序,它允许用户通过安卓...对于想要学习安卓rtmp推流的开发者,这个应用也是一个不错的参考实例。
- **直播**:主播通过支持RTMP协议的推流工具(如OBS Studio)将视频流推送到服务器的特定应用地址(如rtmp://yourserver/live/streamkey)。 - **点播**:观众可以通过HLS播放器(如网页中的HTML5 video标签或移动...
在“ffmpeg推拉流_rtmp内网穿透”这个主题中,我们将深入探讨如何利用FFmpeg进行RTMP流媒体的推送与拉取,并解决在内网环境下进行流媒体传输时遇到的问题。 首先,RTMP(Real-Time Messaging Protocol)是一种广泛...