Closed danielfree closed 3 years ago
Please provide the configuration, reproduction steps, and preferably use file streaming for easier reproduction.
Make sure to maintain the markdown structure.
TRANS_BY_GPT3
@winlinvip I am using file to re-push the stream, SRS did not exit, but the RTMP output is showing an error and I cannot see any images. I wonder if it is the same bug? The SRS configuration file is as follows:
# main config for srs.
# @see full.conf for detail config.
listen 1935;
max_connections 1000;
srs_log_tank file;
srs_log_file ./objs/srs.log;
# the log level, for all log tanks.
# can be: verbose, info, trace, warn, error
# defualt: trace
srs_log_level verbose;
# the logs dir.
# if enabled ffmpeg, each stracoding stream will create a log file.
# "/dev/null" to disable the log.
# default: ./objs
ff_log_dir /dev/null;
http_api {
enabled on;
listen 1985;
}
http_server {
enabled off;
listen 8080;
dir ./objs/nginx/html;
}
stream_caster {
enabled on;
caster rtsp;
output rtmp://127.0.0.1/[app]/[stream];
listen 554;
rtp_port_min 57200;
rtp_port_max 57300;
}
vhost __defaultVhost__ {
}
The push stream command is as follows:
ffmpeg -re -i "xxx.mkv" -strict -2 -vcodec libx264 -preset slow -acodec aac -f rtsp rtsp://10.8.2.150/live/movie
The ffmpeg output is as follows:
ffmpeg version 2.7.2 Copyright (c) 2000-2015 the FFmpeg developers
built with Apple LLVM version 6.1.0 (clang-602.0.53) (based on LLVM 3.6.0svn)
configuration: --prefix=/usr/local/Cellar/ffmpeg/2.7.2_1 --enable-shared --enable-pthreads --enable-gpl --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-opencl --enable-libx264 --enable-libmp3lame --enable-libvo-aacenc --enable-libxvid --enable-vda
libavutil 54. 27.100 / 54. 27.100
libavcodec 56. 41.100 / 56. 41.100
libavformat 56. 36.100 / 56. 36.100
libavdevice 56. 4.100 / 56. 4.100
libavfilter 5. 16.101 / 5. 16.101
libavresample 2. 1. 0 / 2. 1. 0
libswscale 3. 1.101 / 3. 1.101
libswresample 1. 2.100 / 1. 2.100
libpostproc 53. 3.100 / 53. 3.100
Input #0, matroska,webm, from 'Mr.Robot.S01E01.PROPER.720p.HDTV.X264-DIMENSION.mkv':
Metadata:
encoder : libebml v1.3.0 + libmatroska v1.4.1
creation_time : 2015-05-28 00:44:33
Duration: 01:04:52.26, start: 0.000000, bitrate: 2801 kb/s
Stream #0:0(eng): Video: h264 (High), yuv420p(tv, bt709/unknown/unknown), 1280x720 [SAR 1:1 DAR 16:9], 23.98 fps, 23.98 tbr, 1k tbn, 47.95 tbc (default)
Stream #0:1: Audio: ac3, 48000 Hz, 5.1(side), fltp, 384 kb/s (default)
[libx264 @ 0x7fddfd813e00] using SAR=1/1
[libx264 @ 0x7fddfd813e00] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 AVX2 LZCNT BMI2
[libx264 @ 0x7fddfd813e00] profile High, level 3.1
[libx264 @ 0x7fddfd813e00] 264 - core 146 r2555 0c21480 - H.264/MPEG-4 AVC codec - Copyleft 2003-2015 - http://www.videolan.org/x264.html - options: cabac=1 ref=5 deblock=1:0:0 analyse=0x3:0x113 me=umh subme=8 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=12 lookahead_threads=2 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=2 b_bias=0 direct=3 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=23 scenecut=40 intra_refresh=0 rc_lookahead=50 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
Output #0, rtsp, to 'rtsp://10.8.2.150/live/movie':
Metadata:
encoder : Lavf56.36.100
Stream #0:0(eng): Video: h264 (libx264), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], q=-1--1, 23.98 fps, 90k tbn, 23.98 tbc (default)
Metadata:
encoder : Lavc56.41.100 libx264
Stream #0:1: Audio: aac, 48000 Hz, 5.1(side), fltp, 128 kb/s (default)
Metadata:
encoder : Lavc56.41.100 aac
Stream mapping:
Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264))
Stream #0:1 -> #0:1 (ac3 (native) -> aac (native))
Press [q] to stop, [?] for help
frame= 1130 fps= 24 q=28.0 size=N/A time=00:00:47.70 bitrate=N/A
When opening VLC to play rtmp://10.8.2.150/live/movie, I cannot see the correct image, and the sound is only fragmented.
The SRS log is as follows:
[2015-09-11 09:06:00.944][trace][24961][100] RTMP listen at tcp://0.0.0.0:1935, fd=8
[2015-09-11 09:06:00.954][trace][24961][100] HTTP-API listen at tcp://0.0.0.0:1985, fd=9
[2015-09-11 09:06:00.965][trace][24961][100] RTSP listen at tcp://0.0.0.0:554, fd=10
[2015-09-11 09:06:00.965][trace][24961][100] signal installed
[2015-09-11 09:06:00.975][trace][24961][100] http: api mount /console to ./objs/nginx/html/console
[2015-09-11 09:06:00.985][trace][24961][100] ingest thread cid=105, current_cid=100
[2015-09-11 09:06:01.986][trace][24961][100] USER_HZ=100
[2015-09-11 09:11:10.330][trace][24961][106] rtsp: serve 10.8.2.252
[2015-09-11 09:11:10.331][trace][24961][106] rtsp: ignore header User-Agent=Lavf56.36.100
[2015-09-11 09:11:10.338][trace][24961][106] rtsp: ignore header User-Agent=Lavf56.36.100
[2015-09-11 09:11:10.378][trace][24961][106] rtsp: video(#0, H264, RTP/AVP/96), audio(#1, MPEG4-GENERIC, RTP/AVP/97, 48000HZ 6channels), rtsp://10.8.2.150:554/live/movie
[2015-09-11 09:11:10.381][trace][24961][106] rtsp: ignore header User-Agent=Lavf56.36.100
[2015-09-11 09:11:10.391][trace][24961][106] rtsp: #0 Video over RTP/AVP/UDP unicast client-port=12672-12673, server-port=57200-57201
[2015-09-11 09:11:10.397][trace][24961][106] rtsp: ignore header User-Agent=Lavf56.36.100
[2015-09-11 09:11:10.408][trace][24961][106] rtsp: #1 Audio over RTP/AVP/UDP unicast client-port=12674-12675, server-port=57202-57203
[2015-09-11 09:11:10.411][trace][24961][106] rtsp: ignore header Range=npt=0.000-
[2015-09-11 09:11:10.411][trace][24961][106] rtsp: ignore header User-Agent=Lavf56.36.100
[2015-09-11 09:11:13.543][trace][24961][107] srand initialized the random.
[2015-09-11 09:11:13.555][trace][24961][110] RTMP client ip=127.0.0.1
[2015-09-11 09:11:13.557][trace][24961][107] complex handshake success.
[2015-09-11 09:11:13.557][trace][24961][110] complex handshake success
[2015-09-11 09:11:13.595][trace][24961][110] connect app, tcUrl=rtmp://127.0.0.1/live, pageUrl=, swfUrl=, schema=rtmp, vhost=__defaultVhost__, port=1935, app=live, args=(obj)
[2015-09-11 09:11:13.595][trace][24961][110] edge-srs ip=10.8.2.150, version=2.0.185, pid=24961, id=107
[2015-09-11 09:11:13.595][trace][24961][110] out chunk size to 60000
[2015-09-11 09:11:13.635][trace][24961][107] input chunk size to 60000
[2015-09-11 09:11:13.635][trace][24961][107] connected, version=2.0.185, ip=127.0.0.1, pid=24961, id=110, dsu=1
[2015-09-11 09:11:13.635][trace][24961][107] out chunk size to 60000
[2015-09-11 09:11:13.635][trace][24961][110] input chunk size to 60000
[2015-09-11 09:11:13.675][trace][24961][110] client identified, type=flash-publish), stream_name=movie, duration=-1.00
[2015-09-11 09:11:13.695][trace][24961][110] source url=/live/movie, ip=127.0.0.1, cache=1, is_edge=0, source_id=-1[-1]
[2015-09-11 09:11:13.706][trace][24961][110] start publish mr=0/350, p1stpt=20000, pnt=20000, tcp_nodelay=0, rtcid=113
[2015-09-11 09:11:13.706][trace][24961][110] 46B video sh, codec(7, profile=High, level=3.1, 1536x1280, 0kbps, 0fps, 0s)
[2015-09-11 09:11:13.706][trace][24961][110] 7B audio sh, codec(10, profile=LC, 6channels, 0kbps, 48000HZ), flv(16bits, 1channels, 5512HZ)
[2015-09-11 09:11:13.827][warn][24961][110][11] AUDIO: stream not monotonically increase, please open mix_correct.
[2015-09-11 09:11:20.269][trace][24961][108] <- SCS rtsp: rtp #1 1063B, age=10002, vt=2/97, sts=1811/198081955/0xa146f419, paylod=1043B, chunked=0
[2015-09-11 09:11:30.372][trace][24961][107] <- SCS rtsp: rtp #0 45B, age=20002, vt=2/96, sts=2957/2995447433/0xecff030a, paylod=33B, chunked=0
[2015-09-11 09:11:40.288][trace][24961][108] <- SCS rtsp: rtp #1 1062B, age=30002, vt=2/97, sts=2097/199041443/0xa146f419, paylod=1042B, chunked=0
[2015-09-11 09:11:50.469][trace][24961][108] <- SCS rtsp: rtp #1 1377B, age=40002, vt=2/97, sts=2244/199529891/0xa146f419, paylod=1355B, chunked=0
[2015-09-11 09:11:53.706][trace][24961][110] <- CPB time=20000, okbps=0,1,0, ikbps=569,430,0, mr=0/350, p1stpt=20000, pnt=20000
[2015-09-11 09:12:00.425][trace][24961][107] <- SCS rtsp: rtp chunked 1472B, age=50002, vt=2/96, sts=5154/0xb2b423f8/0xecff030a, paylod=1459B
[2015-09-11 09:12:10.369][trace][24961][108] <- SCS rtsp: rtp #1 1380B, age=60002, vt=2/97, sts=2527/200481187/0xa146f419, paylod=1358B, chunked=0
[2015-09-11 09:12:13.706][trace][24961][110] <- CPB time=40000, okbps=0,1,0, ikbps=615,430,0, mr=0/350, p1stpt=20000, pnt=20000
[2015-09-11 09:12:20.328][trace][24961][107] <- SCS rtsp: rtp chunked 1472B, age=70002, vt=2/96, sts=6726/0xb2cf679a/0xecff030a, paylod=1459B
[2015-09-11 09:12:29.303][trace][24961][115] RTMP client ip=10.8.2.252
[2015-09-11 09:12:29.309][trace][24961][115] complex handshake success
[2015-09-11 09:12:29.311][trace][24961][115] connect app, tcUrl=rtmp://10.8.2.150:1935/live, pageUrl=, swfUrl=, schema=rtmp, vhost=__defaultVhost__, port=1935, app=live, args=null
[2015-09-11 09:12:29.311][trace][24961][115] out chunk size to 60000
[2015-09-11 09:12:29.361][trace][24961][115] ignore AMF0/AMF3 command message.
[2015-09-11 09:12:29.428][trace][24961][115] ignore AMF0/AMF3 command message.
[2015-09-11 09:12:29.428][trace][24961][115] client identified, type=Play, stream_name=movie, duration=-1.00
[2015-09-11 09:12:29.428][trace][24961][115] source url=/live/movie, ip=10.8.2.252, cache=1, is_edge=0, source_id=110[110]
[2015-09-11 09:12:29.428][trace][24961][115] dispatch cached gop success. count=63, duration=422
[2015-09-11 09:12:29.428][trace][24961][115] create consumer, queue_size=30.00, jitter=1
[2015-09-11 09:12:29.438][trace][24961][115] mw changed sleep 350=>350, max_msgs=128, esbuf=218750, sbuf 87040=>218750, realtime=0
[2015-09-11 09:12:29.438][trace][24961][115] start play smi=0.00, mw_sleep=350, mw_enabled=1, realtime=0, tcp_nodelay=0
[2015-09-11 09:12:29.438][trace][24961][116] ignored. set buffer length to 3000
[2015-09-11 09:12:30.506][trace][24961][107] <- SCS rtsp: rtp chunked 1472B, age=80002, vt=2/96, sts=7807/0xb2dd4413/0xecff030a, paylod=1459B
[2015-09-11 09:12:33.706][trace][24961][110] <- CPB time=60000, okbps=0,0,0, ikbps=741,818,0, mr=0/350, p1stpt=20000, pnt=20000
[2015-09-11 09:12:40.289][trace][24961][107] <- SCS rtsp: rtp chunked 1472B, age=90002, vt=2/96, sts=8794/0xb2eb3ddf/0xecff030a, paylod=1459B
[2015-09-11 09:12:45.691][trace][24961][115] -> PLA time=16000, msgs=128, okbps=682,0,0, ikbps=1,0,0, mw=350
[2015-09-11 09:12:45.691][warn][24961][115][11] resize iovs 256 => 512, max_msgs=128
[2015-09-11 09:12:48.247][warn][24961][110][11] fast vector incrase 1024=>2048
[2015-09-11 09:12:50.301][trace][24961][107] <- SCS rtsp: rtp chunked 1472B, age=100002, vt=2/96, sts=9925/0xb2f8fd04/0xecff030a, paylod=1459B
[2015-09-11 09:12:53.706][trace][24961][110] <- CPB time=80000, okbps=0,0,0, ikbps=817,1163,0, mr=0/350, p1stpt=20000, pnt=20000
[2015-09-11 09:12:56.642][trace][24961][115] -> PLA time=27000, msgs=128, okbps=701,0,0, ikbps=1,0,0, mw=350
[2015-09-11 09:13:00.488][trace][24961][107] <- SCS rtsp: rtp chunked 1472B, age=110002, vt=2/96, sts=10846/0xb3069ed5/0xecff030a, paylod=1459B
[2015-09-11 09:13:07.696][trace][24961][115] -> PLA time=38000, msgs=128, okbps=757,701,0, ikbps=0,0,0, mw=350
[2015-09-11 09:13:10.475][trace][24961][107] <- SCS rtsp: rtp chunked 1472B, age=120002, vt=2/96, sts=11626/0xb3145dfa/0xecff030a, paylod=1459B
[2015-09-11 09:13:13.706][trace][24961][110] <- CPB time=100000, okbps=0,0,0, ikbps=833,1163,0, mr=0/350, p1stpt=20000, pnt=20000
[2015-09-11 09:13:17.488][trace][24961][115] -> PLA time=48000, msgs=128, okbps=727,701,0, ikbps=0,0,0, mw=350
[2015-09-11 09:13:20.358][trace][24961][108] <- SCS rtsp: rtp #1 1333B, age=130003, vt=2/97, sts=3525/203839907/0xa146f419, paylod=1311B, chunked=0
TRANS_BY_GPT3
Can you provide the mkv file? Give me a link to a cloud storage address.
TRANS_BY_GPT3
@winlinvip http://pan.baidu.com/s/1qWvbAC8 The file is a bit large..
TRANS_BY_GPT3
@winlivip I tried testing the streaming with a smaller file, but encountered the same issue. When playing with rtmp, I can only see a small portion of the video image at the beginning, and the sound is intermittent. Later on, it becomes distorted and eventually cuts off. The file address is http://pan.baidu.com/s/1eQwHW7g.
The streaming command is as follows:
ffmpeg -re -i "demo.flv" -strict -2 -vcodec libx264 -preset slow -acodec aac -f rtsp rtsp://10.8.2.150/live/demo
ffmpeg output
ffmpeg version 2.7.2 Copyright (c) 2000-2015 the FFmpeg developers
built with Apple LLVM version 6.1.0 (clang-602.0.53) (based on LLVM 3.6.0svn)
configuration: --prefix=/usr/local/Cellar/ffmpeg/2.7.2_1 --enable-shared --enable-pthreads --enable-gpl --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-opencl --enable-libx264 --enable-libmp3lame --enable-libvo-aacenc --enable-libxvid --enable-vda
libavutil 54. 27.100 / 54. 27.100
libavcodec 56. 41.100 / 56. 41.100
libavformat 56. 36.100 / 56. 36.100
libavdevice 56. 4.100 / 56. 4.100
libavfilter 5. 16.101 / 5. 16.101
libavresample 2. 1. 0 / 2. 1. 0
libswscale 3. 1.101 / 3. 1.101
libswresample 1. 2.100 / 1. 2.100
libpostproc 53. 3.100 / 53. 3.100
Input #0, flv, from 'demo.flv':
Metadata:
audiodelay : 0
canSeekToEnd : true
Duration: 00:05:24.28, start: 0.000000, bitrate: 849 kb/s
Stream #0:0: Video: vp6f, yuv420p, 480x360, 716 kb/s, 25 fps, 25 tbr, 1k tbn, 1k tbc
Stream #0:1: Audio: mp3, 44100 Hz, stereo, s16p, 131 kb/s
[libx264 @ 0x7fce43818200] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 AVX2 LZCNT BMI2
[libx264 @ 0x7fce43818200] profile High, level 2.1
[libx264 @ 0x7fce43818200] 264 - core 146 r2555 0c21480 - H.264/MPEG-4 AVC codec - Copyleft 2003-2015 - http://www.videolan.org/x264.html - options: cabac=1 ref=5 deblock=1:0:0 analyse=0x3:0x113 me=umh subme=8 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=12 lookahead_threads=2 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=2 b_bias=0 direct=3 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=50 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
Output #0, rtsp, to 'rtsp://10.8.2.150/live/demo':
Metadata:
audiodelay : 0
canSeekToEnd : true
encoder : Lavf56.36.100
Stream #0:0: Video: h264 (libx264), yuv420p, 480x360, q=-1--1, 25 fps, 90k tbn, 25 tbc
Metadata:
encoder : Lavc56.41.100 libx264
Stream #0:1: Audio: aac, 44100 Hz, stereo, fltp, 128 kb/s
Metadata:
encoder : Lavc56.41.100 aac
Stream mapping:
Stream #0:0 -> #0:0 (vp6f (native) -> h264 (libx264))
Stream #0:1 -> #0:1 (mp3 (native) -> aac (native))
Press [q] to stop, [?] for help
frame= 1562 fps= 25 q=-1.0 Lsize=N/A time=00:01:02.48 bitrate=N/A dup=1 drop=0
video:1380kB audio:978kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
[libx264 @ 0x7fce43818200] frame I:9 Avg QP:14.83 size: 8774
[libx264 @ 0x7fce43818200] frame P:652 Avg QP:20.42 size: 1576
[libx264 @ 0x7fce43818200] frame B:901 Avg QP:20.94 size: 340
[libx264 @ 0x7fce43818200] consecutive B-frames: 17.1% 10.1% 23.6% 49.2%
[libx264 @ 0x7fce43818200] mb I I16..4: 35.3% 57.6% 7.1%
[libx264 @ 0x7fce43818200] mb P I16..4: 2.0% 5.8% 0.2% P16..4: 22.4% 8.1% 4.3% 0.0% 0.0% skip:57.3%
[libx264 @ 0x7fce43818200] mb B I16..4: 0.4% 0.9% 0.0% B16..8: 18.1% 1.2% 0.2% direct: 0.7% skip:78.6% L0:43.7% L1:52.5% BI: 3.8%
[libx264 @ 0x7fce43818200] 8x8 transform intra:70.0% inter:88.5%
[libx264 @ 0x7fce43818200] direct mvs spatial:99.2% temporal:0.8%
[libx264 @ 0x7fce43818200] coded y,uvDC,uvAC intra: 43.8% 40.2% 5.1% inter: 6.8% 7.2% 0.1%
[libx264 @ 0x7fce43818200] i16 v,h,dc,p: 49% 32% 9% 10%
[libx264 @ 0x7fce43818200] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 26% 22% 27% 3% 3% 5% 4% 4% 5%
[libx264 @ 0x7fce43818200] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 18% 28% 9% 6% 8% 10% 9% 7% 7%
[libx264 @ 0x7fce43818200] i8c dc,h,v,p: 48% 27% 20% 5%
[libx264 @ 0x7fce43818200] Weighted P-Frames: Y:12.7% UV:8.1%
[libx264 @ 0x7fce43818200] ref P L0: 69.2% 13.5% 12.1% 2.5% 1.7% 0.9% 0.1%
[libx264 @ 0x7fce43818200] ref B L0: 91.3% 6.3% 1.9% 0.5%
[libx264 @ 0x7fce43818200] ref B L1: 97.2% 2.8%
[libx264 @ 0x7fce43818200] kb/s:180.86
TRANS_BY_GPT3
Postpone to SRS4.
Not support pushing RTSP stream from camera to SRS, only support ingesting/FFmpeg pulling RTSP stream from camera and then forwarding to SRS, refer to: https://github.com/ossrs/srs/issues/2304#issuecomment-826009290
TRANS_BY_GPT3
Pushing RTSP stream from 10.8.2.252 to the SRS server 10.8.2.150, the log displays the following information, and SRS crashes and exits. What could be the possible reason?
TRANS_BY_GPT3