profile
viewpoint
If you are wondering where the data of this site comes from, please visit https://api.github.com/users/runner365/events. GitMemory does not store any data, but only uses NGINX to cache data for a period of time. The idea behind GitMemory is simply to give users a better reading experience.

gwuhaolin/livego 7136

live video streaming server in golang

runner365/android_rtmppush_sdk 648

android rtmp push sdk

runner365/GPUImageRtmpPush 184

iOS rtmp推流sdk,可以接入gpuimage的多种滤镜

runner365/srt_encoder 60

srt encoder

Pull request review commentossrs/srs

H265: Fix some bugs.

 bool SrsFlvVideo::acceptable(char* data, int size)      bool ignore_frame = codec_id < 2; #ifdef SRS_H265-    ignore_frame = ignore_frame || codec_id > SrsVideoCodecIdHEVC;+    // fix 0916 14:52+    ignore_frame = ignore_frame || codec_id >= SrsVideoCodecIdHEVC;

Why drop the hevc packet? @l0g1n

l0g1n

comment created time in 7 hours

PullRequestReviewEvent

push eventrunner365/cpp_media_server

shiwei

commit sha f56b851fe4c1caa8cd56292926f22af7de252418

1. add user; 2. add unpublish; 3. add publish notification;

view details

push time in 2 days

push eventrunner365/cpp_media_server

Alex.CR

commit sha 27eb13a230ea9e4717afc6c39aa43f3c78bfa321

Update README.md

view details

shiwei

commit sha 05ae6d1093afdf79963686b70c50abfd807167ff

update readme.md

view details

shiwei

commit sha 39b341de16a535fd9a2882bdc97cefd87568ecbb

update readme.md

view details

shiwei

commit sha ce1190269eb78a439cc72f1430e63a0bf77e54d9

Merge branch 'main' into protoo-ws

view details

shiwei

commit sha 5c7db2f92d1b4814c5b9b192b94e02bb31adec3e

add nack generator

view details

push time in 4 days

issue commentossrs/srs

FFmpeg 推SRT流至SRS失败

@DoItWithMe 这个推流问题在最新的develop分支上还存在么? 上看见的问题是ffmpeg命令行有些问题,srt当前只支持了mpegts的格式。

如果推流还有问题,可以加我的vx: sweibd, 我可以协助解决。

DoItWithMe

comment created time in 4 days

issue commentossrs/srs

FFmpeg 推SRT流至SRS失败

@x931890193 hi, the srt only support mpegts format. wrong: ffmpeg -re -i 222.mov -vcodec copy -acodec copy -f flv -y rtmp://192.168.1.52:1935/app/livestream right: ffmpeg -re -i 222.mov -vcodec copy -acodec copy -f mpegts -y rtmp://192.168.1.52:1935/app/livestream

please try it.

DoItWithMe

comment created time in 4 days

issue commentossrs/srs

SRS的SRT压力测试,内存占用很高不释放

@DoItWithMe 你好,之前有个close的问题有内存泄漏,已经解决了。 但是我不知道是否还有这个问题,看看能不能发一下你的测试脚本给我,我自己复现一下。

如果有问题,可以加vx:sweibd,我们直接沟通解决。

DoItWithMe

comment created time in 4 days

issue closedossrs/srs

SRT:压力测试时有性能瓶颈,并且会崩溃

描述(Description)

描述你遇到了什么问题(Please description your issue here)

  1. SRS版本(Version): XCORE-SRS/4.0.37(Leo)
  2. SRS的日志如下(Log):
xxxxxxxxxxxx
  1. SRS的配置如下(Config):
xxxxxxxxxxxx

重现(Replay) 推流命令如下:

ffmpeg -loglevel error -re -stream_loop -1 -i test264_1M.mp4 -vcodec copy -acodec copy -f mpegts srt://10.10.0.62:10080?streamid=#!::h=live/test264_1M.mp4_16,m=publish

大概50路以上,我写的脚本循环推流60路容易出现,路数越多越容易 srs会崩溃

查找崩溃问题,基本上已经锁定位置如下:

srs_error_t rtmp_client::rtmp_write_packet(char type, uint32_t timestamp, char* data, int size) {
    srs_error_t err = srs_success;
    SrsSharedPtrMessage* msg = NULL;

    if ((err = srs_rtmp_create_msg(type, timestamp, data, size, _rtmp_conn_ptr->sid(), &msg)) != srs_success) {
        return srs_error_wrap(err, "create message");
    }
    srs_assert(msg);


    // send out encoded msg.
    if ((err = _rtmp_conn_ptr->send_and_free_message(msg)) != srs_success) {        
        close();
        return srs_error_wrap(err, "send messages");
    }
    
    return err;
}

send_and_free_message当路数过多的时候,函数底层会发生失败,原有的逻辑是调用了close,close函数释放掉_rtmp_conn_ptr指针后,后面仍然继续使用_rtmp_conn_ptr空指针,进而导致的崩溃,所以此处处理有问题。 回过头来看根本原因还是send_and_free_message报错导致,继续跟踪日志以及抓包分析看,是因为内置的rtmp服务器有点处理不过来,导致客户端writev 500ms超时,所以个人感觉是性能瓶颈的问题,但是性能瓶颈在哪儿? 如果不开启srt2rtmp模块,单纯的srt推转拉,同样的测试条件,cpu利用率(主要是指的srs主线程利用率,srt转发是另外的线程,包括libsrt.so也会开线程)和内存使用率都不高,是否一定程度可以说明是内置的rtmp客户端有瓶颈呢?

closed time in 4 days

zhouxiaojun2008

issue commentossrs/srs

SRT:压力测试时有性能瓶颈,并且会崩溃

如上:问题已经解决,close这个issue了

zhouxiaojun2008

comment created time in 4 days

issue commentossrs/srs

SRT 没有正确的移除 SRT 拉流客户端

问题已经解决,pr已经合入。

hesh915

comment created time in 4 days

issue closedossrs/srs

SRT 没有正确的移除 SRT 拉流客户端

描述(Description)

描述你遇到了什么问题(Please description your issue here)

使用 SRT 的默认配置,使用ffmpeg推送 SRT 流之后;然后用 2次 ffplay 拉 SRT流播放,然后关闭一个 ffplay 的拉流,日志输出会有很频繁的报错 srt write error:-1, socket fd:23445

重现Bug的步骤(How to replay bug?)

  1. 使用 SRT 的默认配置,使用ffmpeg推送 SRT 流,ffmpeg -stream_loop -1 -re -i ../media/bigbuck720_3M.flv -c:v copy -c:a copy -f mpegts 'srt://192.168.50.155:10080?streamid=#!::h=live/test,m=publish'
  2. 启动 2 个 ffplay 播放这条流 ffplay 'srt://192.168.50.155:10080?streamid=#!::h=live/test,m=request'
  3. 关闭掉其中一个 ffplay 的播放流

期望行为(Expect)

描述你期望发生的事情(Please describe your expectation)

期望没有很多无关的错误打印。

查看代码发现,在 srt 客户端关闭之后,没有正确关闭 map 表,代码如下:

void srt_handle::close_pull_conn(SRTSOCKET srtsocket, std::string stream_id) {
    srs_warn("close_pull_conn read_fd=%d, streamid=%s", srtsocket, stream_id.c_str());
    srt_epoll_remove_usock(_handle_pollid, srtsocket);

    auto streamid_iter = _streamid_map.find(stream_id);
    if (streamid_iter != _streamid_map.end()) {
        auto srtsocket_map = streamid_iter->second;
        if (srtsocket_map.size() == 0) {
            _streamid_map.erase(stream_id);
        } else if (srtsocket_map.size() == 1) {
            srtsocket_map.erase(srtsocket);
            _streamid_map.erase(stream_id);
        } else {
            srtsocket_map.erase(srtsocket);
        }
    } else {
        assert(0);
    }

    auto conn_iter = _conn_map.find(srtsocket);
    if (conn_iter != _conn_map.end()) {
        _conn_map.erase(conn_iter);
        return;
    } else {
        assert(0);
    }
    
    return;
}

需要把上述代码 auto srtsocket_map = streamid_iter->second; 改成 auto &srtsocket_map = streamid_iter->second;

closed time in 4 days

hesh915

issue commentossrs/srs

SRT:4.0 srs srt服务运行久了,cpu占用会很高

@luowei729 你好,这个问题在最新的develop分支上还有么?

我可以搭建一个公网服务器,协助你定位和解决这个问题,需要的加vx: sweibd.

luowei729

comment created time in 4 days

issue closedossrs/srs

SRT: 用手机推流正常,用编码器推流 srs 闪退

推流协议:srt 用手机推流正常,用编码器推流 srs 闪退

  1. SRS版本(Version): 4.0.140
  2. SRS的日志如下(Log):
srs: ./src/srt/ts_demux.cpp:154: int ts_demux::decode_unit(unsigned char*, std::string, TS_DATA_CALLBACK_PTR): Assertion `_pat._table_id == 0x00' failed.
  1. SRS的配置如下(Config):
 # SRT config.
      2 
      3 listen              1935;
      4 max_connections     1000;
      5 daemon              off;
      6 srs_log_tank        console;
      7 
      8 http_api {
      9     enabled         on;
     10     listen          1985;
     11 }
     12 
     13 http_server {
     14     enabled         on;
     15     listen          8080;
     16     dir             ./objs/nginx/html;
     17 }
     18 
     19 srt_server {
     20     enabled on;
     21     listen 10080;
     22 #    maxbw -1;
     23     maxbw 1000000000;
     24     connect_timeout 4000;
     25     peerlatency 300;
     26     recvlatency 300;
     27 }
     28 
     29 rtc_server {
     30     enabled on;
     31     listen 8000;
     32     candidate [ip];
     33 }
     34 
     35 vhost rtc.vhost.srs.com {
     36     rtc {
     37         enabled on;
     38         nack on;
     39         twcc on;
     40     }
     41 }
     42 
     43 # @doc https://github.com/ossrs/srs/issues/1147#issuecomment-577607026
     44 vhost __defaultVhost__ {
     45     http_remux {
     46         enabled     on;
     47         mount       [vhost]/[app]/[stream].flv;
     48     }
     49     hls {
     50         enabled         on;
     51         hls_fragment    10;
     52         hls_window      60;
     53         hls_path        ./objs/nginx/html;
     54         hls_m3u8_file   [app]/[stream].m3u8;
     55         hls_ts_file     [app]/[stream]-[seq].ts;
     56     }
     57 }
     58 
     59 # For SRT to use vhost.
     60 vhost srs.srt.com.cn {
     61 }
     62 
     63 stats {
     64     network         0;
     65     disk            sda sdb xvda xvdb;
     66 }

closed time in 7 days

a354123417

issue commentossrs/srs

SRT: 用手机推流正常,用编码器推流 srs 闪退

bug已经修复,合入develop分支。

a354123417

comment created time in 7 days

issue closedossrs/srs

SRT: 推流造成的错误

描述(Description)

描述你遇到了什么问题(Please description your issue here)

  1. SRS版本(Version): release4.0
  2. SRS的日志如下(Log):
[2021-04-26 17:33:49.490][Trace][113743][x9b94nc4] rtmp client construct url:rtmp://127.0.0.1:1935/live?vhost=uplive.sls.com/mdp265
srs: ./src/srt/ts_demux.cpp:415: int ts_demux::pes_parse(unsigned char*, size_t, unsigned char**, size_t&, uint64_t&, uint64_t&): Assertion `0x80 == p[pos]' failed.

  1. SRS的配置如下(Config):
# SRT config.

listen              1935;
max_connections     1000;
daemon              off;
srs_log_tank        console;

http_api {
    enabled         on;
    listen          1985;
}

http_server {
    enabled         on;
    listen          18080;
    dir             ./objs/nginx/html;
}

rtc_server {        
    enabled         on;
    listen          18000;
    candidate       $CANDIDATE;
}

srt_server {
    enabled on;
    listen 10081;
    maxbw 1000000000;
    connect_timeout 4000;
    peerlatency 300;
    recvlatency 300;
}

vhost __defaultVhost__ {
}
vhost srs.srt.com.cn {
}
vhost uplive.sls.com {
}
stats {
    network         0;
    disk            sda sdb xvda xvdb;
}

重现(Replay)

重现Bug的步骤(How to replay bug?)

  1. 用工具软件向服务器推 srt 流
  2. srt://192.168.35.2:10081?streamid=#!::h=live/livestream,m=publish
  3. 推流是 ts 格式的数据,video codec h264, audio codec aac

期望行为(Expect)

那个报错是什么问题?

closed time in 7 days

dongrixinyu

issue commentossrs/srs

SRT: 推流造成的错误

@dongrixinyu @LionMiao bug已经修复,合入develop分支。

dongrixinyu

comment created time in 7 days

issue commentossrs/srs

SRT: 推流到srs服务器,使用VLC拉去m3u8流,出现卡顿,停顿现象

@runner365 你好,我已经好久没试过了,等下周我再试试再答复你,我现在都用的是直接推rtmp到srs服务器的

ok,有消息找我,vx: sweibd

HeZhiWei00

comment created time in 8 days

startedbytedance/gopkg

started time in 10 days

push eventrunner365/cpp_media_server

shiwei

commit sha 39b341de16a535fd9a2882bdc97cefd87568ecbb

update readme.md

view details

push time in 11 days

push eventrunner365/cpp_media_server

shiwei

commit sha 05ae6d1093afdf79963686b70c50abfd807167ff

update readme.md

view details

push time in 11 days

push eventrunner365/webcodecpush

shiwei05

commit sha 4d26fb6c31a3adfca17624788298e6e1e10f5a37

update the readme.md

view details

push time in 11 days

push eventrunner365/cpp_media_server

shiwei

commit sha 2dc5883328da6de20d3a5ad62a925172ee6b40b0

update for publish

view details

push time in 11 days

push eventrunner365/webcodecpush

shiwei05

commit sha 45a84a91c4ff82564ed39a82b79f9aadccd0cec2

add gitignore

view details

shiwei05

commit sha 7c070ac7f4fe001e2bf86e29758e4a036a54e4a9

add node and webpack

view details

push time in 11 days

push eventrunner365/srs

shiwei

commit sha 22b47af994b2b7c4ee77895f429b866ca4816132

solve utest for branch feature/h265

view details

push time in 12 days

push eventrunner365/srs

shiwei

commit sha 5248d20d35ee071e33c2fb7dcd172ede521e71c3

solve utest bug

view details

push time in 12 days

push eventrunner365/srs

shiwei

commit sha 4fa6e6ce28a07caae9534ca9b94de5daac47bcf0

solve utest in srs_kernel

view details

push time in 12 days

PR opened ossrs/srs

update mpegts demux in srt for branch feature/h265

update mpegts demux in srt for branch feature/h265

+29 -24

0 comment

1 changed file

pr created time in 12 days

push eventrunner365/srs

shiwei

commit sha 0eb1e581df6c7f91adc933764b605eec977dcdfd

update mpegts demux in srt

view details

push time in 12 days

push eventrunner365/srs

push time in 12 days

push eventrunner365/srs

winlin

commit sha a7ab78a58894445804489f23e04404ad816119a4

SquashSRS4: Update SDK

view details

winlin

commit sha e50582f9c72258bfb057cf6a143f9cf1f2b1e54d

SquashSRS4: Refine SDK

view details

winlin

commit sha a9f171144d7aff9d85610a80e6ad6fcd40ef3b07

SquashSRS4: Eliminate dead code

view details

winlin

commit sha bbd7ee08d458e3a247ce1d80d3ad8c1705f53d37

Update README.md

view details

cfw11

commit sha 4d6f00e6bf50267c88c6ebfc6fc31304a75ccec3

GB28181: fix parse rtp-tcp failed (#2378) * fix parse rtp-tcp failed * fix parse rtp-tcp failed Co-authored-by: cfw <fangwei.cheng@transwarp.io>

view details

louis.xia

commit sha cc52e5b27c5243b0fb6938717d9b162351276f83

GB28181: Fix parse rtp tcp failed (#2382) * fix parse rtp-tcp failed * fix parse rtp-tcp failed * fix gb28181 support tcp stack is setup:passive * Update push.gb28181.tcp.conf Co-authored-by: cfw <fangwei.cheng@transwarp.io> Co-authored-by: Winlin <winlin@vip.126.com>

view details

winlin

commit sha 81bda41b317a4ea94737c27a16fc4fdc02505bcb

SquashSRS4: Refine srs.sdk.js

view details

johzzy

commit sha 2aad8ad5bd61f3e2f40325bac8536c1fbbc20358

fix: fix typo about inactive. (#2380)

view details

winlin

commit sha 15901cacee174766ea0fa5b04ead65a1cf2e3daf

SquashSRS4: Use SPDX-License-Identifier: MIT. 5.0.3

view details

winlin

commit sha 9e2c6d458ead6b3db75a0d8fa02558e45dea5883

Fix build fail for SPDX

view details

winlin

commit sha 7e657ae6544aec4feba3c1dc51363e4f575b91e3

Refine AUTHORS format

view details

winlin

commit sha 785d2fce08bf6f9a5f0d7fa480aec2d65a31fa2b

Build: Support --shared-srt

view details

winlin

commit sha f75ef2f808b755561d3e592c37291db82ab8faa6

Build: Support --shared-ffmpeg

view details

winlin

commit sha a7df9788a646b70bac549659d77cdfccf9ef724a

Squash: Refine README

view details

winlin

commit sha 283b3a2ceee4e211fc2487d30a1b1e3a111f59ec

Squash: Update README

view details

winlin

commit sha 49826081b166808a4ac58cec15083bf0b1e0b15f

Squash: Update README

view details

winlin

commit sha efdbf37255a1706017d113a00cb572ee2b96ab09

Squash: Move GB28181 to feature/gb28181. 5.0.4

view details

winlin

commit sha a594678e3dab9544762e854e34b0571173be696e

Squash #1685, #1282, #1547: Support ARM platform. 5.0.5

view details

Alex.CR

commit sha 67ac720b92f6ac99140bf1dc0239fcd28ea3931f

srt publish core dump bug (#2429) * solve srt push bugs Co-authored-by: shiwei <shiwei05@kuaishou.com>

view details

winlin

commit sha ce47d5cc28dcdb2247767873d6771f7c847fd6c4

Squash: Update README

view details

push time in 12 days