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

srt学习笔记六:srt-live-server

阅读更多
除了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:我对SRT-Live-Server的看法

    介绍srt-live-server(SLS)是基于安全可靠传输(SRT)的低延迟开放源代码实时流服务器。 通常,在Internet中,通过SLS进行传输的延迟小于1秒。要求请先安装SRT,有关系统环境,请参考SRT( )。 SLS只能在基于linux...

    srt-live-server:srt live服务器,以降低延迟

    srt-live-server(SLS)是基于安全可靠传输(SRT)的低延迟开放源代码实时流服务器。 通常,在Internet中,通过SLS进行传输的延迟小于1秒。 要求 请先安装SRT,有关系统环境,请参考SRT( )。 SLS只能在基于linux的...

    video-srt-gui-ffmpeg-0.3.2-x64_2.zip

    video-srt是一款自动识别视频语音自动生成字幕SRT文件的字幕制作生成软件。现在制作字幕门槛低了,载入视频自动 识别生成字幕。支持中文字幕和英文字幕制作,视频识别无需上传原视频,可同时处理多个文件,video srt...

    视频自动加字幕软件win版video-srt-gui-ffmpeg-0.2.6-x64.zip

    《视频自动加字幕软件video-srt-gui-ffmpeg在Windows平台的应用详解》 在数字化时代,视频内容已经成为信息传播的重要载体,而字幕作为辅助理解的工具,对于非母语观众、听力障碍者以及在嘈杂环境中观看视频的人来...

    FFmpeg Basics.pdf.tar.gz

    - 添加字幕文件:`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字幕制作软件” 在多媒体领域,字幕是不可或缺的一部分,尤其对于非母语观众或听力障碍者来说,字幕能够帮助他们理解视频内容。srt(SubRip Subtitle)格式是一种常见的字幕文件格式,被广泛应用于...

    windows编译SRT流媒体协议所有lib和dll以及exe等

    4. `srt.exp`、`srt-file-transmit.exp`、`srt-live-transmit.exp`、`srt-multiplex.exp`:这些是导出文件,记录了编译过程中导出的函数和符号信息,主要用于链接时的参考。 编译完成后,开发者可以使用生成的库...

    SRT流媒体协议启用实测

    - 进入“Server”选项,开始配置SRT推流。 - 在“Stream Files”中添加SRT接收链接,例如:“srt://0.0.0.0:9998”。 - 设置应用和流属性,选择SRT作为传输协议。 3. **推流客户端配置**: - 使用Larix ...

    dji-srt-viewer:可视化DJI SRT日志

    dji-srt-viewer 可视化DJI SRT日志在此处现场试用: : 在实例模式( )和以下NPM模块中使用P5js( ) 可以使用Browserify( )和Babelify( )构建此处的讨论和建议: : 使用此效果和After Effects创建的示例视频: ...

    FFmpeg使用手册(FFmpeg官方文档中文翻译)

    - 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-tools:用于操作 SubRip 字幕文件 (SRT)、将它们转换为 JSON 并使用 Google Translate API 进行翻译的简单工具

    srt-工具 用于操作 SubRip 字幕文件 (SRT)、将它们转换为 JSON 并使用 Google Translate API 进行翻译的简单工具。 安装 要安装依赖项,请运行: cpanm --installdeps . 用 要使用这些脚本,您必须有一个要处理的 ...

    Radix-2-division:unsigned Radix-2 SRT division,基2除法

    无符号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 - @ - 年轻 - @ -

    vb.net命名参考

    - 短整型(Short):`srt` - 单精度浮点型(Single):`sng` - 字符串型(String):`str` 4. **变量可见范围的前缀**: 这些前缀用于指示变量的作用域: - 全局变量:`G_` - 模块/窗体变量:`M_` - 静态...

    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: ...Wiki ...Permissions: ...To use this library in your project with gradle add this ...

    video-srt-windows:这是一个可以识别视频语音自动生成字幕SRT文件的开源Windows-GUI软件工具

    这是一个可以识别视频语音自动生成字幕SRT文件的开源软件工具。适用于快速,批量的为媒体(视频/音频)生成中/英文字幕,文本文件的业务场景。 0.3.2版本将会使用以下接口: 阿里云 阿里云 百度翻译开放平台 腾讯云...

    srt 字幕 延时 调整

    SRT(SubRip Text)是一种常见的字幕格式,它以纯文本方式存储字幕信息,包括时间码和字幕文本。本文将深入探讨如何调整SRT字幕的延时,确保字幕与视频内容精确同步。 首先,了解SRT字幕文件的结构至关重要。SRT...

    Unity-Simple-SRT:超级简单的SRT字幕解析器

    Unity-Simple-SRT 超级简单的SRT字幕解析器它将解析大多数正常的SRT,并将它们显示在Text元素中,根据设置的Fade Time在行之间交叉Fade Time 。使用它将Subtitle Displayer组件添加到世界上的某个东西。 创建两个...

    sub2srt-python:sub2srt-开源

    sub2srt将* .sub(MicroDVD)的字幕转换为* .srt(subrip)格式。 使用python。 还有便携式版本。 还有另一个名称相似的项目对我不起作用。 命令行,多平台,可移植。

    srt协议的caller模式的c语言源码

    SRT(Secure Reliable Transport)协议是一种专为实时流媒体传输设计的高效、低延迟的传输...通过理解和学习这些知识点,开发者可以更好地利用提供的C语言源码,进一步开发和优化SRT应用,提升实时传输的效率和稳定性。

    ffmpeg入门详细资料

    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 -...

Global site tag (gtag.js) - Google Analytics