除了srs,有个可以直接支持srt的sls
srt-live-server
git clone https://github.com/Edward-Wu/srt-live-server
make
1.启动服务
bin/sls -c sls.conf
2.推流
ffmpeg -f avfoundation -framerate 30 -i "0:0" -vcodec libx264 -preset ultrafast -tune zerolatency -flags2 local_header -acodec libmp3lame -g 30 -pkt_size 1316 -flush_packets 0 -f mpegts "srt://127.0.0.1:8080?streamid=uplive.sls.com/live/test"
https://www.jianshu.com/p/3957c55a702d
实时模式下,数据分片(默认是1316 = 7 * 188,188是单个MPEG TS大小)在一定的速率控制下发出,并且在接收端按照发送端发送的时间间隔重新组织好。
默认情况下,接收端重组会有一定的时延,默认为120ms
3.播放流
ffplay -fflags nobuffer -i "srt://127.0.0.1:8080?streamid=live.sls.com/live/test"
综合总结:
#!/bin/sh
# 1 udp
#ffmpeg -re -i chrome.mp4 -f h264 udp://127.0.0.1:6666
# 2 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"
# 3 rtmp and camera
#ffmpeg -f avfoundation -video_size 640x480 -framerate 30 -i 0:0 -vcodec libx264 -preset veryfast -f flv rtmp://127.0.0.1/live/livestream
#ffplay -loglevel verbose "rtmp://127.0.0.1/live/livestream live=1"
# 4 rtmp desktop and camera
#ffmpeg -f avfoundation -i "1" -vcodec libx264 -preset ultrafast -acodec libfaac -f flv rtmp://127.0.0.1:1935/live1/room1
#ffplay -loglevel verbose "rtmp://127.0.0.1/live/livestream live=1"
# 5 srt-live-server and camera
ffmpeg -f avfoundation -framerate 30 -i "0:0" -vcodec libx264 -preset ultrafast -tune zerolatency -flags2 local_header -acodec libmp3lame -g 30 -pkt_size 1316 -flush_packets 0 -f mpegts "srt://127.0.0.1:8080?streamid=uplive.sls.com/live/test"
#ffplay -fflags nobuffer -i "srt://127.0.0.1:8080?streamid=live.sls.com/live/test"
查看设备
ffmpeg -f avfoundation -list_devices true -i ""
ffprobe -show_packets chrome.mp4
ffprobe -show_format chrome.mp4
采样率:把模拟音频信号转成数字音频信号的过程称作采样,简单地说就是通过波形采样的方法记录1秒钟长度的声音,需要多少个数据点。
???????????? 没成功的验证。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
帧率,码率
ffmpeg -f avfoundation -framerate 30 -i "0:0" -vcodec libx264 -b:v 16k -preset ultrafast -tune zerolatency -flags2 local_header -acodec libmp3lame -g 30 -pkt_size 1316 -flush_packets 0 -f mpegts "srt://127.0.0.1:8080?streamid=uplive.sls.com/live/test"
ffmpeg -f avfoundation -framerate 30 -i "0:0" -f h264 udp://127.0.0.1:6666
ffmpeg -i input -c:v libx265 -b:v 1024k -x265-params pass=2 -c:a copy output.mp4
crf(Constant Rate Factor) :https://www.jianshu.com/p/23e9f33b5281
该编码模式在单遍编码模式下提供了最大的压缩效率,每一帧可以按照要求的视频质量去获取它需要的比特数
延迟:
https://blog.csdn.net/blgpb/article/details/86704820
ffmpeg -f lavfi -re -i smptebars=duration=60:size=1280x720:rate=30 -f lavfi -re -i sine=frequency=1000:duration=60:sample_rate=44100 -pix_fmt yuv420p -c:v libx264 -b:v 1000k -g 30 -keyint_min 120 -profile:v baseline -preset veryfast -f mpegts "udp://127.0.0.1:1234?pkt_size=1316"
经过测试,端到端的最大延迟为1秒。经过分析,我发现这么大的延迟并不是SRT协议产生的。主要是客户端在调用ffmpeg协议,生成视频流的过程中,需要进行h264编码,耗费了大量的计算资源,导致产生了1秒的延迟。
ffplay udp://127.0.0.1:1234
测试下这个?https://blog.csdn.net/jacke121/article/details/72911089?utm_source=blogxgwz7
分享到:
相关推荐
介绍srt-live-server(SLS)是基于安全可靠传输(SRT)的低延迟开放源代码实时流服务器。 通常,在Internet中,通过SLS进行传输的延迟小于1秒。要求请先安装SRT,有关系统环境,请参考SRT( )。 SLS只能在基于linux...
srt-live-server(SLS)是基于安全可靠传输(SRT)的低延迟开放源代码实时流服务器。 通常,在Internet中,通过SLS进行传输的延迟小于1秒。 要求 请先安装SRT,有关系统环境,请参考SRT( )。 SLS只能在基于linux的...
video-srt是一款自动识别视频语音自动生成字幕SRT文件的字幕制作生成软件。现在制作字幕门槛低了,载入视频自动 识别生成字幕。支持中文字幕和英文字幕制作,视频识别无需上传原视频,可同时处理多个文件,video srt...
《视频自动加字幕软件video-srt-gui-ffmpeg在Windows平台的应用详解》 在数字化时代,视频内容已经成为信息传播的重要载体,而字幕作为辅助理解的工具,对于非母语观众、听力障碍者以及在嘈杂环境中观看视频的人来...
- 添加字幕文件:`ffmpeg -i input.mp4 -i subtitles.srt -c:v copy -c:a copy -c:s mov_text output.mp4` 7. 流媒体处理: - RTMP推流:`ffmpeg -re -i input.mp4 -c copy -f flv rtmp://localhost/live/stream`...
【标题】:“srt字幕制作软件” 在多媒体领域,字幕是不可或缺的一部分,尤其对于非母语观众或听力障碍者来说,字幕能够帮助他们理解视频内容。srt(SubRip Subtitle)格式是一种常见的字幕文件格式,被广泛应用于...
4. `srt.exp`、`srt-file-transmit.exp`、`srt-live-transmit.exp`、`srt-multiplex.exp`:这些是导出文件,记录了编译过程中导出的函数和符号信息,主要用于链接时的参考。 编译完成后,开发者可以使用生成的库...
- 进入“Server”选项,开始配置SRT推流。 - 在“Stream Files”中添加SRT接收链接,例如:“srt://0.0.0.0:9998”。 - 设置应用和流属性,选择SRT作为传输协议。 3. **推流客户端配置**: - 使用Larix ...
dji-srt-viewer 可视化DJI SRT日志在此处现场试用: : 在实例模式( )和以下NPM模块中使用P5js( ) 可以使用Browserify( )和Babelify( )构建此处的讨论和建议: : 使用此效果和After Effects创建的示例视频: ...
- RTMP推流:`ffmpeg -re -i input.mp4 -c copy -f flv rtmp://server/live/stream`。 - HLS切片:`ffmpeg -i input.mp4 -hls_time 10 -hls_list_size 0 output.m3u8`生成HLS流。 6. FFmpeg进阶应用: - 多音轨...
srt-工具 用于操作 SubRip 字幕文件 (SRT)、将它们转换为 JSON 并使用 Google Translate API 进行翻译的简单工具。 安装 要安装依赖项,请运行: cpanm --installdeps . 用 要使用这些脚本,您必须有一个要处理的 ...
无符号Radix-2 SRT除法,基2除法 Radix_2_div.v RTL文件 用于测试平台的 Radix_2_div_int.v 子锁 Radix_2_div_tb.v 测试台顶部 Radix_2_div_tb.m matlab 文件 玩得开心,Good4U - @ - 年轻 - @ -
- 短整型(Short):`srt` - 单精度浮点型(Single):`sng` - 字符串型(String):`str` 4. **变量可见范围的前缀**: 这些前缀用于指示变量的作用域: - 全局变量:`G_` - 模块/窗体变量:`M_` - 静态...
rtmp-rtsp-stream-client-java Library for stream in RTMP and RTSP. All code in Java. If you need a player see this project: ...Wiki ...Permissions: ...To use this library in your project with gradle add this ...
这是一个可以识别视频语音自动生成字幕SRT文件的开源软件工具。适用于快速,批量的为媒体(视频/音频)生成中/英文字幕,文本文件的业务场景。 0.3.2版本将会使用以下接口: 阿里云 阿里云 百度翻译开放平台 腾讯云...
SRT(SubRip Text)是一种常见的字幕格式,它以纯文本方式存储字幕信息,包括时间码和字幕文本。本文将深入探讨如何调整SRT字幕的延时,确保字幕与视频内容精确同步。 首先,了解SRT字幕文件的结构至关重要。SRT...
Unity-Simple-SRT 超级简单的SRT字幕解析器它将解析大多数正常的SRT,并将它们显示在Text元素中,根据设置的Fade Time在行之间交叉Fade Time 。使用它将Subtitle Displayer组件添加到世界上的某个东西。 创建两个...
sub2srt将* .sub(MicroDVD)的字幕转换为* .srt(subrip)格式。 使用python。 还有便携式版本。 还有另一个名称相似的项目对我不起作用。 命令行,多平台,可移植。
SRT(Secure Reliable Transport)协议是一种专为实时流媒体传输设计的高效、低延迟的传输...通过理解和学习这些知识点,开发者可以更好地利用提供的C语言源码,进一步开发和优化SRT应用,提升实时传输的效率和稳定性。
2. **字幕处理**:`-i`后跟字幕文件,`-vf subtitles`加载字幕,如`ffmpeg -i video.mp4 -vf "subtitles=subtitles.srt" output.mp4`。 3. **视频转GIF**:`ffmpeg -i input.mp4 -ss start_time -t duration -...