Nginx Http Flv Module Versions Save

A media streaming server based on nginx-rtmp-module. In addtion to the features nginx-rtmp-module provides, HTTP-FLV, GOP cache, VHosts (one IP for multi domain names) and JSON style statistics are supported now.

v1.2.11

1 year ago

Changelog

  • Added single track support for HLS, so video-only and audio-only media can be played properly (#217).
  • Made code endian independent (#221).

变更列表

  • 添加 HLS 单轨支持,可以正确播放纯视频和纯音频媒体(#217)。
  • 代码修改为与大小端无关(#221)。

v1.2.10

2 years ago

Changelog

  • Fixed push failure when '$' was contained in push url, see #211, thanks to @silent-dark.
  • Fixed buffer overrun after changing chunk size (synced from nginx-rtmp-module).
  • Fixed bug that info of destroyed streams still appear in stat, see #181, thanks to @craneding.

Bugs to be fixed

变更列表

  • 修复 push url 中包含 '$' 时,push 失败的 bug,见 #211,感谢 @silent-dark。
  • 修复在改变 chunk 大小时缓冲区超出限制的 bug(同步自 nginx-rtmp-module)。
  • 修复已被销毁的流信息仍然存在于 stat 中的 bug,见 #181,感谢 @craneding。

待修复的 bugs

v1.2.9

3 years ago

Changelog

  • Removed an unused variable which was removed in Nginx core, thanks to @TzyHuan.
  • Renamed the value of macro NGX_RTMP_PLAY_TMP_FILE from nginx-rtmp-vod. to nginx-http-flv-vod..
  • Fixed a bug that might lead to dead loop.
  • Fixed a bug (also been in nginx-rtmp-module) that relay failed if:
    • Nginx ran on Unix-like platforms.
    • nginx-http-flv-module compiled as a dynamic module.
    • Nginx ran in multi-processes mode.

Bugs to be fixed

变更列表

  • 移除 Nginx core 已经移除的无用变量,感谢 @TzyHuan 。
  • 将宏 NGX_RTMP_PLAY_TMP_FILE 的值从 nginx-rtmp-vod. 重命名为 nginx-http-flv-vod.
  • 修复一个可能导致死循环的 bug 。
  • 修复当满足下列条件时,relay 失败的 bug (也存在于 nginx-rtmp-module 中) :
    • Nginx 运行在类 Unix 平台上 。
    • nginx-http-flv-module 被编译为动态模块 。
    • Nginx 以多进程方式运行 。

待修复的 bugs

v1.2.8

3 years ago

Changelog

  • Added variables substitution feature for relay module, thanks to @ever4Kenny.
  • Changed max fragment sizes respectively for video and audio in DASH module.
  • Fixed bug that 'stream not found' if reuseport was on when run Nginx in multi-processes mode, see #144, thanks to @HeyJupiter.
  • Fixed playing lag bug when both gop_cache and interleave were on.
  • Fixed memory leak bugs in core/live server conf, see #150, thanks to @spacewander.
  • Fixed bug that on_publish redirection made no sense for HLS and DASH stream name, see #152, thanks to @ham3r.
  • Fixed meta parsing bug on edge server when meta copy; were set on both origin and edge server.
  • Fixed a memory leak bug in GOP cache module, see #159, thanks to @spacewander.
  • Fixed a compilation error when VS2015 (maybe since VS2013) was used on Windows, see #163, thanks to @Creepercdn.
  • Fixed some potential stack overflow bugs, see #170, thanks to @wupco.
  • Added a new feature: recording configuration and statistics can be found in stat.
  • Fixed a compilation error on some distros, see #174, thanks to @DoM1niC.
  • Fixed some JSON parsing bugs in stat module.

Bugs to be fixed

变更列表

  • 为 relay 模块添加变量替换功能,感谢 @ever4Kenny 。
  • 修改 DASH 模块中视频和音频最大的分段大小 。
  • 修复多进程模式运行 Nginx 时,如果配置 reuseport,出现 'stream not found' 的 bug,详情见 #144,感谢 @HeyJupiter 。
  • 修复当 gop_cacheinterleave 都开启时播放卡顿的问题。
  • 修复 core/live server 配置中的内存泄露 bug,详情见 #150,感谢 @spacewander 。
  • 修复 on_publish 流名称重定向对 HLS 和 DASH 无效的 bug,详情见 #152,感谢 @ham3r 。
  • 修复在边缘服务器和源服务器上同时配置 meta copy; 时,边缘服务器上 meta 解析错误的 bug 。
  • 修复 GOP 缓存模块中的一个内存泄露 bug,详情见 #159,感谢 @spacewander 。
  • 修复在 Windows 上使用 VS2015 (可能从 VS2013 开始就有同样的问题) 编译程序时的一个编译错误,详情见 #163,感谢 @Creepercdn 。
  • 修复一些潜在的栈溢出 bug,详情见 #170, 感谢 @wupco 。
  • 添加一个新特性:录制的配置和统计数据可以在 stat 中看到了。
  • 修复在某些发行版上的一个编译错误,详情见 #174,感谢 @DoM1niC 。
  • 修复 stat 模块中一些 JSON 解析 bug 。

待修复的bugs

v1.2.7

4 years ago

Changelog

  • Fixed bugs in stat module (JSON style), see #95 and #98, thanks to @plainheart.
  • Added timers for subscribers to prevent inactive connections occupying system resources, for directive 'idle_streams' is on by default, it allows subscribers to connect to servers before publishers join and not to close connections after publishers leave.
  • Removed restriction that GOP cache feature only supported H.264 encoded video, see #103, thanks to @HeyJupiter.
  • Fixed the bug that HTTP-FLV responses worked improperly when HTTP/1.0 was used, see #99, thanks to @adrianhans.
  • Fixed the meta parsing bug when HTTP-FLV was used.
  • Added a new feature: starting timestamps for subscribers started at 0 (both RTMP and HTTP-FLV).
  • Optimized vhost feature so that information of virtual hosts can be found in stat.
  • Fixed the bug in issue 1249 in arut/nginx-rtmp-module.
  • Fixed some heap-use-after-free bugs which may lead to a crash.
  • Fixed the bug that nginx crashed if there were no meta in pushed streams.
  • Added compatibility for case rtmps -> converter (stunnel, for example) -> rtmp.
  • Fixed the bug that if frame rates of videos were incorrect, JSON style stat would work improperly.

Bugs to be fixed

变更列表

  • 修复stat模块的一些bug(JSON风格),详情见#95 和#98,感谢@plainheart。
  • 为不活跃的播放订阅添加定时器,以防止占用系统资源,因为配置项'idle_streams'默认是开启的,它允许播放订阅在推流器接入之前就连接到服务器,且允许播放订阅在推流器关闭之后不关闭连接。
  • 移除GOP缓存特性仅支持H.264编码视频的限制,详情见#103,感谢@HeyJupiter。
  • 修复使用HTTP/1.0时,HTTP-FLV回复不正确的bug,详情见#99,感谢@adrianhans。
  • 修复使用HTTP-FLV时,meta解析错误的bug。
  • 添加一个新特性:播放订阅的起始时间戳从0开始(RTMP和HTTP-FLV都有效)。
  • 优化vhost特性,以便可以在stat中找到虚拟主机的信息。
  • 修复arut/nginx-rtmp-module的issue列表中的1249 bug。
  • 修复一些可能导致崩溃的heap-use-after-free bug。
  • 修复推送的流中没有meta信息时,nginx崩溃的bug。
  • 添加对rtmps -> 转换器(例如stunnel)-> rtmp的兼容性。
  • 修复如果视频帧率不正确时,JSON风格的stat不正确的bug。

待修复的bugs

v1.2.5

4 years ago

Changelog

  • The module name is renamed from ngx_rtmp_module.so to ngx_http_flv_live_module.so if it is built as a dynamic module.
  • Fixed the bug that exec_pull does not function when HTTP-FLV subscription is used.
  • Fixed the bug that the CPU usage soars to 100% after clients are stopped under the condition of low bandwidth.
  • Fixed the bug that Nginx crashes on condition that the number of video/audio frames in a GOP exceeds the setting value when GOP cache is enabled.
  • Fixed the compatibility problem for nginx-1.15.1 and later.
  • Added support for onTextData and onCuePoint (#68).

Bugs to be fixed

变更列表

  • 将动态模块名称从ngx_rtmp_module.so修改为ngx_http_flv_live_module.so
  • 修复使用HTTP-FLV方式播放时exec_pull不起作用的bug。
  • 修复在低带宽条件下,停止客户端播放后CPU使用率飙升到100%的bug。
  • 修复在开启GOP缓存的条件下,一个GOP中的视频/音频帧数超过设定值后Nginx崩溃的bug。
  • 修复与nginx-1.15.1及以后版本的兼容性问题。
  • 添加对onTextDataonCuePoint的支持(#68)。

待修复的bugs

v1.2.6

4 years ago

Changelog

  • Fixed a crash bug in ngx_rtmp_gop_cache_module, see #73, thanks to @HeyJupiter.
  • Fixed the bug that http-flv will fail when the directive auth_request is on, see #72, thanks to @invalidtask.
  • Fixed a potential memory leak bug in ngx_http_flv_live_module.
  • Rewrote the function ngx_http_flv_live_read_handler in ngx_http_flv_live_module to avoid CPU 100% usage on Windows.
  • Renamed the name of unix domain socket from nginx-rtmp.X to nginx-http-flv.X.
  • Fixed the bug that when some directives are specified, the audio-only stream can not be played.
  • Optimized the log module to avoid high memory consumption.
  • Fixed some compilation errors when compiled by very new version GCC (gcc-8.2.0 for example), see #82, thanks to @DoM1niC.
  • Refactored the calling order of modules in order to simplify the code logic.
  • Fixed a crash bug when http-flv is used with the directive on_update callback on, see #85, thanks to @asAngus.
  • Fixed a IPv6 support bug, see #86, thanks to @Fenrirthviti.
  • Fixed some JSON style stat bug, see #92 & #94, thanks to @plainheart.

Bugs to be fixed

变更列表

  • 修复ngx_rtmp_gop_cache_module中一个造成崩溃的bug,详情见#73,感谢@HeyJupiter。
  • 修复启用配置项auth_request时,http-flv不能播放流的bug,详情见#72,感谢@invalidtask。
  • 修复ngx_http_flv_live_module中一个潜在的内存泄露的bug。
  • 重写ngx_http_flv_live_module中的ngx_http_flv_live_read_handler函数,避免在Windows上产生CPU使用率100%的问题。
  • 将unix domain socket的名称从nginx-rtmp.X修改为nginx-http-flv.X
  • 修复启用某些配置项时,纯音频无法播放的bug。
  • 优化日志模块,避免消耗大量的内存。
  • 修复使用很新的GCC(例如gcc-8.2.0)编译时产生的一些编译错误,详情见#82,感谢@DoM1niC。
  • 重构模块的调用顺序,以简化代码逻辑。
  • 修复使用http-flv时,开启on_update回调造成崩溃的bug,详情见#85,感谢@asAngus。
  • 修复一个IPv6支持的bug,详情见#86,感谢@Fenrirthviti。
  • 修复一些JSON方式的stat的bug,详情见#92 & #94,感谢@plainheart。

待修复的bugs

v1.2.4

5 years ago

This version is a milestone of nginx-http-flv-module, since it has been used in production by some vendors.

  • Play based on HTTP-FLV (normal and chunked response) supported.
  • GOP cache for reducing the waiting time for play (RTMP and HTTP-FLV) supported.
  • Domain names (Virtual hosts) instead of raw IPs supported.
  • JSON style stat supported.
  • Some bugs in nginx-rtmp-module fixed.

Bugs to be fixed:

v1.2.3

6 years ago

Changelog

  • Customized HTTP headers addition supported.
  • Directive chunked is deprecated, standard Nginx directive chunked_transfer_encoding can be used now.
  • on_connect and on_play bugs fixed (buggy in multi-processes mode yet).
  • Some compatibility bugs fixed.

Note

  • This is an unstable pre-release.

v1.2.2

6 years ago

Changelog

  • Fixed some memory leak bugs.
  • Fixed some bugs when compiled and run on Windows.

Note

  • This is an unstable pre-release.