harlanc / xiu

A simple,high performance and secure live media server in pure Rust (RTMP[cluster]/RTSP/WebRTC[whip/whep]/HTTP-FLV/HLS).🦀
https://rustxiu.com
MIT License
1.76k stars 187 forks source link

sending RTMP from GStreamer not working #39

Closed gdesmott closed 1 year ago

gdesmott commented 1 year ago

I'm trying to send a RTMP stream from GStreamer using this pipeline:

$ gst-launch-1.0 videotestsrc ! x264enc tune=zerolatency ! flvmux name=mux ! rtmp2sink location=rtmp://localhost:1935/live/test audiotestsrc ! avenc_aac ! mux.

It got stuck as it seems xiu is blocked somehow:

[2023-05-16T08:33:54Z INFO  xiu::api] Http api server listening on http://:8000
[2023-05-16T08:33:54Z TRACE mio::poll] registering event source with poller: token=Token(1), interests=READABLE | WRITABLE
[2023-05-16T08:33:54Z TRACE mio::poll] registering event source with poller: token=Token(0), interests=READABLE | WRITABLE
[2023-05-16T08:33:54Z INFO  rtmp::rtmp] Rtmp server listening on tcp://0.0.0.0:1935
[2023-05-16T08:33:58Z TRACE mio::poll] registering event source with poller: token=Token(2), interests=READABLE | WRITABLE
[2023-05-16T08:33:58Z INFO  rtmp::session::server_session] server session: 127.0.0.1:60294
[2023-05-16T08:33:58Z TRACE tokio_util::codec::framed_impl] attempting to decode a frame
[2023-05-16T08:33:58Z TRACE tokio_util::codec::framed_impl] frame decoded from buffer
[2023-05-16T08:33:58Z INFO  rtmp::handshake::handshake_server] [ S<-C ] [complex handshake] read C0C1
[2023-05-16T08:33:58Z WARN  rtmp::handshake::handshake_server] complex handshake failed.. err:digest error: cannot generate digest
[2023-05-16T08:33:58Z INFO  rtmp::handshake::handshake_server] [ S<-C ] [simple handshake] read C0C1
[2023-05-16T08:33:58Z INFO  rtmp::handshake::handshake_server] [ S->C ] [simple handshake] write S0S1S2
[2023-05-16T08:33:58Z TRACE tokio_util::codec::framed_impl] flushing framed transport
[2023-05-16T08:33:58Z TRACE tokio_util::codec::framed_impl] writing; remaining=3073
[2023-05-16T08:33:58Z TRACE tokio_util::codec::framed_impl] framed transport flushed
[2023-05-16T08:33:58Z TRACE tokio_util::codec::framed_impl] attempting to decode a frame
[2023-05-16T08:33:58Z TRACE tokio_util::codec::framed_impl] attempting to decode a frame
[2023-05-16T08:33:58Z TRACE tokio_util::codec::framed_impl] frame decoded from buffer
[2023-05-16T08:33:58Z INFO  rtmp::handshake::handshake_server] [ S<-C ] [simple handshake] read C2
[2023-05-16T08:33:58Z INFO  rtmp::handshake::handshake_server] simple handshake successfully..
[2023-05-16T08:33:58Z INFO  rtmp::session::server_session] [ S->C ] [send_set_chunk_size] 
[2023-05-16T08:33:58Z TRACE tokio_util::codec::framed_impl] flushing framed transport
[2023-05-16T08:33:58Z TRACE tokio_util::codec::framed_impl] writing; remaining=16
[2023-05-16T08:33:58Z TRACE tokio_util::codec::framed_impl] framed transport flushed
[2023-05-16T08:33:58Z TRACE tokio_util::codec::framed_impl] attempting to decode a frame
[2023-05-16T08:33:58Z TRACE tokio_util::codec::framed_impl] attempting to decode a frame
[2023-05-16T08:33:58Z TRACE tokio_util::codec::framed_impl] frame decoded from buffer
[2023-05-16T08:33:58Z TRACE rtmp::chunk::unpacketizer] extend_data length: 124: content:[3, 0, 0, 0, 0, 0, 70, 14, 0, 0, 0, 0, 2, 0, 7, 63, 6F, 6E, 6E, 65, 63, 74, 0, 3F, F0, 0, 0, 0, 0, 0, 0, 3, 0, 3, 61, 70, 70, 2, 0, 4, 6C, 69, 76, 65, 0, 4, 74, 79, 70, 65, 2, 0, A, 6E, 6F, 6E, 70, 72, 69, 76, 61, 74, 65, 0, 8, 66, 6C, 61, 73, 68, 56, 65, 72, 2, 0, E, 4C, 4E, 58, 20, 31, 30, 2C, 30, 2C, 33, 32, 2C, 31, 38, 0, 5, 74, 63, 55, 72, 6C, 2, 0, 15, 72, 74, 6D, 70, 3A, 2F, 2F, 6C, 6F, 63, 61, 6C, 68, 6F, 73, 74, 2F, 6C, 69, 76, 65, 0, 0, 9]
[2023-05-16T08:33:58Z TRACE rtmp::chunk::unpacketizer] read chunks begin, current time: 1684226038495090782, and read state: ReadBasicHeader
[2023-05-16T08:33:58Z TRACE rtmp::chunk::unpacketizer] read chunk begin, current time: 1684226038495224605, and read state: ReadBasicHeader, and chunk index: 0
[2023-05-16T08:33:58Z TRACE rtmp::chunk::unpacketizer] read_basic_header, chunk stream id update, new: 3, old:0, byte: 3
[2023-05-16T08:33:58Z TRACE rtmp::chunk::unpacketizer] print_current_basic_header, csid: 3,format id: 0
[2023-05-16T08:33:58Z TRACE rtmp::chunk::unpacketizer] read_message_header, data left in buffer: 123
[2023-05-16T08:33:58Z TRACE rtmp::chunk::unpacketizer] read_message_header format 0, msg_length: 112
[2023-05-16T08:33:58Z TRACE rtmp::chunk::unpacketizer] read_message_header format 0, msg_type_id: 20
[2023-05-16T08:33:58Z TRACE rtmp::chunk::unpacketizer] print_current_basic_header state ReadMessageHeader, timestamp:0, timestamp delta:0, msg length: 112,msg type id: 20, msg stream id:0
[2023-05-16T08:33:58Z TRACE rtmp::chunk::unpacketizer] print_current_basic_header state ReadExtendedTimestamp, timestamp:0, timestamp delta:0, msg length: 112,msg type id: 20, msg stream id:0
[2023-05-16T08:33:58Z TRACE rtmp::chunk::unpacketizer] read_message_payload whole msg length: 112 and remaining bytes need to be read: 112
[2023-05-16T08:33:58Z TRACE rtmp::chunk::unpacketizer] read_message_payload buffer len:112, need_read_length: 112
[2023-05-16T08:33:58Z TRACE rtmp::chunk::unpacketizer] read_message_payload current msg payload len:112
[2023-05-16T08:33:58Z TRACE rtmp::chunk::unpacketizer] read chunk end, current time: 1684226038495277405, and read state: ReadBasicHeader, and chunk index: 1
[2023-05-16T08:33:58Z TRACE rtmp::chunk::unpacketizer] read chunk begin, current time: 1684226038495283997, and read state: ReadBasicHeader, and chunk index: 1
[2023-05-16T08:33:58Z TRACE rtmp::chunk::unpacketizer] read chunks end, current time: 1684226038495288696, and read state: ReadBasicHeader
[2023-05-16T08:33:58Z INFO  rtmp::session::server_session] [ S<-C ] [connect] 
[2023-05-16T08:33:58Z WARN  rtmp::session::server_session] unknown connect properties: type:UTF8String("nonprivate")
[2023-05-16T08:33:58Z INFO  rtmp::session::server_session] connect properties: ConnectProperties { app: Some("live"), flash_ver: Some("LNX 10,0,32,18"), swf_url: None, tc_url: Some("rtmp://localhost/live"), fpad: None, capabilities: None, audio_codecs: None, video_codecs: None, video_function: None, object_encoding: None, page_url: None, pub_type: None }
[2023-05-16T08:33:58Z INFO  rtmp::session::server_session] [ S->C ] [set window_acknowledgement_size]
[2023-05-16T08:33:58Z TRACE tokio_util::codec::framed_impl] flushing framed transport
[2023-05-16T08:33:58Z TRACE tokio_util::codec::framed_impl] writing; remaining=16
[2023-05-16T08:33:58Z TRACE tokio_util::codec::framed_impl] framed transport flushed
[2023-05-16T08:33:58Z INFO  rtmp::session::server_session] [ S->C ] [set set_peer_bandwidth]
[2023-05-16T08:33:58Z TRACE tokio_util::codec::framed_impl] flushing framed transport
[2023-05-16T08:33:58Z TRACE tokio_util::codec::framed_impl] writing; remaining=17
[2023-05-16T08:33:58Z TRACE tokio_util::codec::framed_impl] framed transport flushed
[2023-05-16T08:33:58Z INFO  rtmp::session::server_session] [ S->C ] [set connect_response]
[2023-05-16T08:33:58Z TRACE tokio_util::codec::framed_impl] flushing framed transport
[2023-05-16T08:33:58Z TRACE tokio_util::codec::framed_impl] writing; remaining=202
[2023-05-16T08:33:58Z TRACE tokio_util::codec::framed_impl] framed transport flushed
[2023-05-16T08:33:58Z TRACE rtmp::chunk::unpacketizer] read chunks begin, current time: 1684226038495445252, and read state: ReadBasicHeader
[2023-05-16T08:33:58Z TRACE rtmp::chunk::unpacketizer] read chunk begin, current time: 1684226038495450702, and read state: ReadBasicHeader, and chunk index: 2
[2023-05-16T08:33:58Z TRACE rtmp::chunk::unpacketizer] read chunks end, current time: 1684226038495455692, and read state: ReadBasicHeader
[2023-05-16T08:33:58Z TRACE tokio_util::codec::framed_impl] attempting to decode a frame
[2023-05-16T08:33:58Z TRACE tokio_util::codec::framed_impl] attempting to decode a frame
[2023-05-16T08:33:58Z TRACE tokio_util::codec::framed_impl] frame decoded from buffer
[2023-05-16T08:33:58Z TRACE rtmp::chunk::unpacketizer] extend_data length: 16: content:[2, 0, 0, 0, 0, 0, 4, 5, 0, 0, 0, 0, 0, 0, 10, 0]
[2023-05-16T08:33:58Z TRACE rtmp::chunk::unpacketizer] read chunks begin, current time: 1684226038535715041, and read state: ReadBasicHeader
[2023-05-16T08:33:58Z TRACE rtmp::chunk::unpacketizer] read chunk begin, current time: 1684226038535729979, and read state: ReadBasicHeader, and chunk index: 3
[2023-05-16T08:33:58Z TRACE rtmp::chunk::unpacketizer] read_basic_header, chunk stream id update, new: 2, old:3, byte: 2
[2023-05-16T08:33:58Z TRACE rtmp::chunk::unpacketizer] print_current_basic_header, csid: 2,format id: 0
[2023-05-16T08:33:58Z TRACE rtmp::chunk::unpacketizer] read_message_header, data left in buffer: 15
[2023-05-16T08:33:58Z TRACE rtmp::chunk::unpacketizer] read_message_header format 0, msg_length: 4
[2023-05-16T08:33:58Z TRACE rtmp::chunk::unpacketizer] read_message_header format 0, msg_type_id: 5
[2023-05-16T08:33:58Z TRACE rtmp::chunk::unpacketizer] print_current_basic_header state ReadMessageHeader, timestamp:0, timestamp delta:0, msg length: 4,msg type id: 5, msg stream id:0
[2023-05-16T08:33:58Z TRACE rtmp::chunk::unpacketizer] print_current_basic_header state ReadExtendedTimestamp, timestamp:0, timestamp delta:0, msg length: 4,msg type id: 5, msg stream id:0
[2023-05-16T08:33:58Z TRACE rtmp::chunk::unpacketizer] read_message_payload whole msg length: 4 and remaining bytes need to be read: 4
[2023-05-16T08:33:58Z TRACE rtmp::chunk::unpacketizer] read_message_payload buffer len:4, need_read_length: 4
[2023-05-16T08:33:58Z TRACE rtmp::chunk::unpacketizer] read_message_payload current msg payload len:4
[2023-05-16T08:33:58Z TRACE rtmp::chunk::unpacketizer] read chunk end, current time: 1684226038535832493, and read state: ReadBasicHeader, and chunk index: 4
[2023-05-16T08:33:58Z TRACE rtmp::chunk::unpacketizer] read chunk begin, current time: 1684226038535841811, and read state: ReadBasicHeader, and chunk index: 4
[2023-05-16T08:33:58Z TRACE rtmp::chunk::unpacketizer] read chunks end, current time: 1684226038535850266, and read state: ReadBasicHeader
[2023-05-16T08:33:58Z TRACE rtmp::chunk::unpacketizer] read chunks begin, current time: 1684226038535861237, and read state: ReadBasicHeader
[2023-05-16T08:33:58Z TRACE rtmp::chunk::unpacketizer] read chunk begin, current time: 1684226038535868511, and read state: ReadBasicHeader, and chunk index: 5
[2023-05-16T08:33:58Z TRACE rtmp::chunk::unpacketizer] read chunks end, current time: 1684226038535876456, and read state: ReadBasicHeader
[2023-05-16T08:33:58Z TRACE tokio_util::codec::framed_impl] attempting to decode a frame
[2023-05-16T08:33:58Z TRACE tokio_util::codec::framed_impl] attempting to decode a frame
[2023-05-16T08:33:58Z TRACE tokio_util::codec::framed_impl] frame decoded from buffer
[2023-05-16T08:33:58Z TRACE rtmp::chunk::unpacketizer] extend_data length: 111: content:[43, 0, 0, 0, 0, 0, 21, 14, 2, 0, D, 72, 65, 6C, 65, 61, 73, 65, 53, 74, 72, 65, 61, 6D, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 2, 0, 4, 74, 65, 73, 74, 43, 0, 0, 0, 0, 0, 1D, 14, 2, 0, 9, 46, 43, 50, 75, 62, 6C, 69, 73, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 2, 0, 4, 74, 65, 73, 74, 43, 0, 0, 0, 0, 0, 19, 14, 2, 0, C, 63, 72, 65, 61, 74, 65, 53, 74, 72, 65, 61, 6D, 0, 40, 0, 0, 0, 0, 0, 0, 0, 5]
[2023-05-16T08:33:58Z TRACE rtmp::chunk::unpacketizer] read chunks begin, current time: 1684226038576673091, and read state: ReadBasicHeader
[2023-05-16T08:33:58Z TRACE rtmp::chunk::unpacketizer] read chunk begin, current time: 1684226038576684132, and read state: ReadBasicHeader, and chunk index: 6
[2023-05-16T08:33:58Z TRACE rtmp::chunk::unpacketizer] read_basic_header, chunk stream id update, new: 3, old:2, byte: 67
[2023-05-16T08:33:58Z TRACE rtmp::chunk::unpacketizer] print_current_basic_header, csid: 3,format id: 0
[2023-05-16T08:33:58Z TRACE rtmp::chunk::unpacketizer] print_current_basic_header, csid: 3,format id: 1
[2023-05-16T08:33:58Z TRACE rtmp::chunk::unpacketizer] read_message_header, data left in buffer: 110
[2023-05-16T08:33:58Z TRACE rtmp::chunk::unpacketizer] read_message_header format 1, msg_length: 33
[2023-05-16T08:33:58Z TRACE rtmp::chunk::unpacketizer] read_message_header format 1, msg_type_id: 20
[2023-05-16T08:33:58Z TRACE rtmp::chunk::unpacketizer] print_current_basic_header state ReadMessageHeader, timestamp:0, timestamp delta:0, msg length: 33,msg type id: 20, msg stream id:0
[2023-05-16T08:33:58Z TRACE rtmp::chunk::unpacketizer] print_current_basic_header state ReadExtendedTimestamp, timestamp:0, timestamp delta:0, msg length: 33,msg type id: 20, msg stream id:0
[2023-05-16T08:33:58Z TRACE rtmp::chunk::unpacketizer] read_message_payload whole msg length: 33 and remaining bytes need to be read: 33
[2023-05-16T08:33:58Z TRACE rtmp::chunk::unpacketizer] read_message_payload buffer len:103, need_read_length: 33
[2023-05-16T08:33:58Z TRACE rtmp::chunk::unpacketizer] read_message_payload current msg payload len:33
[2023-05-16T08:33:58Z TRACE rtmp::chunk::unpacketizer] read chunk end, current time: 1684226038576768171, and read state: ReadBasicHeader, and chunk index: 7
[2023-05-16T08:33:58Z TRACE rtmp::chunk::unpacketizer] read chunk begin, current time: 1684226038576776938, and read state: ReadBasicHeader, and chunk index: 7
[2023-05-16T08:33:58Z TRACE rtmp::chunk::unpacketizer] print_current_basic_header, csid: 3,format id: 1
[2023-05-16T08:33:58Z TRACE rtmp::chunk::unpacketizer] read_message_header, data left in buffer: 69
[2023-05-16T08:33:58Z TRACE rtmp::chunk::unpacketizer] read_message_header format 1, msg_length: 29
[2023-05-16T08:33:58Z TRACE rtmp::chunk::unpacketizer] read_message_header format 1, msg_type_id: 20
[2023-05-16T08:33:58Z TRACE rtmp::chunk::unpacketizer] print_current_basic_header state ReadMessageHeader, timestamp:0, timestamp delta:0, msg length: 29,msg type id: 20, msg stream id:0
[2023-05-16T08:33:58Z TRACE rtmp::chunk::unpacketizer] print_current_basic_header state ReadExtendedTimestamp, timestamp:0, timestamp delta:0, msg length: 29,msg type id: 20, msg stream id:0
[2023-05-16T08:33:58Z TRACE rtmp::chunk::unpacketizer] read_message_payload whole msg length: 29 and remaining bytes need to be read: 29
[2023-05-16T08:33:58Z TRACE rtmp::chunk::unpacketizer] read_message_payload buffer len:62, need_read_length: 29
[2023-05-16T08:33:58Z TRACE rtmp::chunk::unpacketizer] read_message_payload current msg payload len:29
[2023-05-16T08:33:58Z TRACE rtmp::chunk::unpacketizer] read chunk end, current time: 1684226038576842662, and read state: ReadBasicHeader, and chunk index: 8
[2023-05-16T08:33:58Z TRACE rtmp::chunk::unpacketizer] read chunk begin, current time: 1684226038576851679, and read state: ReadBasicHeader, and chunk index: 8
[2023-05-16T08:33:58Z TRACE rtmp::chunk::unpacketizer] print_current_basic_header, csid: 3,format id: 1
[2023-05-16T08:33:58Z TRACE rtmp::chunk::unpacketizer] read_message_header, data left in buffer: 32
[2023-05-16T08:33:58Z TRACE rtmp::chunk::unpacketizer] read_message_header format 1, msg_length: 25
[2023-05-16T08:33:58Z TRACE rtmp::chunk::unpacketizer] read_message_header format 1, msg_type_id: 20
[2023-05-16T08:33:58Z TRACE rtmp::chunk::unpacketizer] print_current_basic_header state ReadMessageHeader, timestamp:0, timestamp delta:0, msg length: 25,msg type id: 20, msg stream id:0
[2023-05-16T08:33:58Z TRACE rtmp::chunk::unpacketizer] print_current_basic_header state ReadExtendedTimestamp, timestamp:0, timestamp delta:0, msg length: 25,msg type id: 20, msg stream id:0
[2023-05-16T08:33:58Z TRACE rtmp::chunk::unpacketizer] read_message_payload whole msg length: 25 and remaining bytes need to be read: 25
[2023-05-16T08:33:58Z TRACE rtmp::chunk::unpacketizer] read_message_payload buffer len:25, need_read_length: 25
[2023-05-16T08:33:58Z TRACE rtmp::chunk::unpacketizer] read_message_payload current msg payload len:25
[2023-05-16T08:33:58Z TRACE rtmp::chunk::unpacketizer] read chunk end, current time: 1684226038576917483, and read state: ReadBasicHeader, and chunk index: 9
[2023-05-16T08:33:58Z TRACE rtmp::chunk::unpacketizer] read chunk begin, current time: 1684226038576924877, and read state: ReadBasicHeader, and chunk index: 9
[2023-05-16T08:33:58Z TRACE rtmp::chunk::unpacketizer] read chunks end, current time: 1684226038576932892, and read state: ReadBasicHeader
[2023-05-16T08:33:58Z INFO  rtmp::session::server_session] [ S<-C ] [create stream] 
[2023-05-16T08:33:58Z TRACE tokio_util::codec::framed_impl] flushing framed transport
[2023-05-16T08:33:58Z TRACE tokio_util::codec::framed_impl] writing; remaining=41
[2023-05-16T08:33:58Z TRACE tokio_util::codec::framed_impl] framed transport flushed
[2023-05-16T08:33:58Z INFO  rtmp::session::server_session] [ S->C ] [create_stream_response]  app_name: live
[2023-05-16T08:33:58Z TRACE rtmp::chunk::unpacketizer] read chunks begin, current time: 1684226038577027672, and read state: ReadBasicHeader
[2023-05-16T08:33:58Z TRACE rtmp::chunk::unpacketizer] read chunk begin, current time: 1684226038577035526, and read state: ReadBasicHeader, and chunk index: 10
[2023-05-16T08:33:58Z TRACE rtmp::chunk::unpacketizer] read chunks end, current time: 1684226038577043321, and read state: ReadBasicHeader
[2023-05-16T08:33:58Z TRACE tokio_util::codec::framed_impl] attempting to decode a frame
[2023-05-16T08:33:58Z TRACE tokio_util::codec::framed_impl] attempting to decode a frame
[2023-05-16T08:33:58Z TRACE tokio_util::codec::framed_impl] frame decoded from buffer
[2023-05-16T08:33:58Z TRACE rtmp::chunk::unpacketizer] extend_data length: 46: content:[3, 0, 0, 0, 0, 0, 22, 14, 1, 0, 0, 0, 2, 0, 7, 70, 75, 62, 6C, 69, 73, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 2, 0, 4, 74, 65, 73, 74, 2, 0, 4, 6C, 69, 76, 65]
[2023-05-16T08:33:58Z TRACE rtmp::chunk::unpacketizer] read chunks begin, current time: 1684226038577242848, and read state: ReadBasicHeader
[2023-05-16T08:33:58Z TRACE rtmp::chunk::unpacketizer] read chunk begin, current time: 1684226038577251365, and read state: ReadBasicHeader, and chunk index: 11
[2023-05-16T08:33:58Z TRACE rtmp::chunk::unpacketizer] print_current_basic_header, csid: 3,format id: 0
[2023-05-16T08:33:58Z TRACE rtmp::chunk::unpacketizer] read_message_header, data left in buffer: 45
[2023-05-16T08:33:58Z TRACE rtmp::chunk::unpacketizer] read_message_header format 0, msg_length: 34
[2023-05-16T08:33:58Z TRACE rtmp::chunk::unpacketizer] read_message_header format 0, msg_type_id: 20
[2023-05-16T08:33:58Z TRACE rtmp::chunk::unpacketizer] print_current_basic_header state ReadMessageHeader, timestamp:0, timestamp delta:0, msg length: 34,msg type id: 20, msg stream id:1
[2023-05-16T08:33:58Z TRACE rtmp::chunk::unpacketizer] print_current_basic_header state ReadExtendedTimestamp, timestamp:0, timestamp delta:0, msg length: 34,msg type id: 20, msg stream id:1
[2023-05-16T08:33:58Z TRACE rtmp::chunk::unpacketizer] read_message_payload whole msg length: 34 and remaining bytes need to be read: 34
[2023-05-16T08:33:58Z TRACE rtmp::chunk::unpacketizer] read_message_payload buffer len:34, need_read_length: 34
[2023-05-16T08:33:58Z TRACE rtmp::chunk::unpacketizer] read_message_payload current msg payload len:34
[2023-05-16T08:33:58Z TRACE rtmp::chunk::unpacketizer] read chunk end, current time: 1684226038577329282, and read state: ReadBasicHeader, and chunk index: 12
[2023-05-16T08:33:58Z TRACE rtmp::chunk::unpacketizer] read chunk begin, current time: 1684226038577337888, and read state: ReadBasicHeader, and chunk index: 12
[2023-05-16T08:33:58Z TRACE rtmp::chunk::unpacketizer] read chunks end, current time: 1684226038577345643, and read state: ReadBasicHeader
[2023-05-16T08:33:58Z INFO  rtmp::session::server_session] [ S<-C ] [publish]  app_name: live, stream_name: test, url parameters: 
[2023-05-16T08:33:58Z INFO  rtmp::session::server_session] [ S->C ] [stream begin]  app_name: live, stream_name: test, url parameters: 
[2023-05-16T08:33:58Z TRACE tokio_util::codec::framed_impl] flushing framed transport
[2023-05-16T08:33:58Z TRACE tokio_util::codec::framed_impl] writing; remaining=18
[2023-05-16T08:33:58Z TRACE tokio_util::codec::framed_impl] framed transport flushed
[2023-05-16T08:33:58Z TRACE tokio_util::codec::framed_impl] flushing framed transport
[2023-05-16T08:33:58Z TRACE tokio_util::codec::framed_impl] writing; remaining=101
[2023-05-16T08:33:58Z TRACE tokio_util::codec::framed_impl] framed transport flushed
[2023-05-16T08:33:58Z INFO  rtmp::session::server_session] [ S->C ] [NetStream.Publish.Start]  app_name: live, stream_name: test
[2023-05-16T08:33:58Z INFO  rtmp::channels] event data: {"Publish":{"app_name":"live","stream_name":"test","info":{"id":"ec4a6966-d9ba-41c7-9684-291eae5fad78","sub_type":"PushRtmp","notify_info":{"request_url":"rtmp://localhost/live/test","remote_addr":"127.0.0.1:60294"}}}}
[2023-05-16T08:33:58Z TRACE rtmp::chunk::unpacketizer] read chunks begin, current time: 1684226038577619140, and read state: ReadBasicHeader
[2023-05-16T08:33:58Z TRACE rtmp::chunk::unpacketizer] read chunk begin, current time: 1684226038577631834, and read state: ReadBasicHeader, and chunk index: 13
[2023-05-16T08:33:58Z TRACE rtmp::chunk::unpacketizer] read chunks end, current time: 1684226038577640510, and read state: ReadBasicHeader
[2023-05-16T08:33:58Z TRACE tokio_util::codec::framed_impl] attempting to decode a frame
harlanc commented 1 year ago

I can't analyze the reason according to your logs..and I cannot reproduce the problem in my environment using the latest xiu version and the gstreamer version:

 gst-launch-1.0 --gst-version
 GStreamer Core Library version 1.10.4

You'd better provide more information and necessary steps to reproduce the problem..

gdesmott commented 1 year ago

GStreamer 1.10 is more than 6 years old, so you'll need a newer version to reproduce.

harlanc commented 1 year ago

Try the fix branch.

gdesmott commented 1 year ago

Same problem:

[2023-05-17T10:45:12Z INFO  xiu::api] Http api server listening on http://:8000
[2023-05-17T10:45:12Z TRACE mio::poll] registering event source with poller: token=Token(0), interests=READABLE | WRITABLE
[2023-05-17T10:45:12Z INFO  rtmp::rtmp] Rtmp server listening on tcp://0.0.0.0:1935
[2023-05-17T10:45:12Z TRACE mio::poll] registering event source with poller: token=Token(1), interests=READABLE | WRITABLE
[2023-05-17T10:45:21Z TRACE mio::poll] registering event source with poller: token=Token(2), interests=READABLE | WRITABLE
[2023-05-17T10:45:21Z INFO  rtmp::session::server_session] server session: 127.0.0.1:47878
[2023-05-17T10:45:21Z TRACE tokio_util::codec::framed_impl] attempting to decode a frame
[2023-05-17T10:45:21Z TRACE tokio_util::codec::framed_impl] frame decoded from buffer
[2023-05-17T10:45:21Z INFO  rtmp::handshake::handshake_server] [ S<-C ] [complex handshake] read C0C1
[2023-05-17T10:45:21Z WARN  rtmp::handshake::handshake_server] complex handshake failed.. err:digest error: cannot generate digest

[2023-05-17T10:45:21Z INFO  rtmp::handshake::handshake_server] [ S<-C ] [simple handshake] read C0C1
[2023-05-17T10:45:21Z INFO  rtmp::handshake::handshake_server] [ S->C ] [simple handshake] write S0S1S2
[2023-05-17T10:45:21Z TRACE tokio_util::codec::framed_impl] flushing framed transport
[2023-05-17T10:45:21Z TRACE tokio_util::codec::framed_impl] writing; remaining=3073
[2023-05-17T10:45:21Z TRACE tokio_util::codec::framed_impl] framed transport flushed
[2023-05-17T10:45:21Z TRACE tokio_util::codec::framed_impl] attempting to decode a frame
[2023-05-17T10:45:21Z TRACE tokio_util::codec::framed_impl] attempting to decode a frame
[2023-05-17T10:45:21Z TRACE tokio_util::codec::framed_impl] frame decoded from buffer
[2023-05-17T10:45:21Z INFO  rtmp::handshake::handshake_server] [ S<-C ] [simple handshake] read C2
[2023-05-17T10:45:21Z INFO  rtmp::handshake::handshake_server] simple handshake successfully..
[2023-05-17T10:45:21Z INFO  rtmp::session::server_session] [ S->C ] [send_set_chunk_size] 
[2023-05-17T10:45:21Z TRACE tokio_util::codec::framed_impl] flushing framed transport
[2023-05-17T10:45:21Z TRACE tokio_util::codec::framed_impl] writing; remaining=16
[2023-05-17T10:45:21Z TRACE tokio_util::codec::framed_impl] framed transport flushed
[2023-05-17T10:45:21Z TRACE tokio_util::codec::framed_impl] attempting to decode a frame
[2023-05-17T10:45:21Z TRACE tokio_util::codec::framed_impl] attempting to decode a frame
[2023-05-17T10:45:21Z TRACE tokio_util::codec::framed_impl] frame decoded from buffer
[2023-05-17T10:45:21Z TRACE rtmp::chunk::unpacketizer] extend_data length: 124: content:[3, 0, 0, 0, 0, 0, 70, 14, 0, 0, 0, 0, 2, 0, 7, 63, 6F, 6E, 6E, 65, 63, 74, 0, 3F, F0, 0, 0, 0, 0, 0, 0, 3, 0, 3, 61, 70, 70, 2, 0, 4, 6C, 69, 76, 65, 0, 4, 74, 79, 70, 65, 2, 0, A, 6E, 6F, 6E, 70, 72, 69, 76, 61, 74, 65, 0, 8, 66, 6C, 61, 73, 68, 56, 65, 72, 2, 0, E, 4C, 4E, 58, 20, 31, 30, 2C, 30, 2C, 33, 32, 2C, 31, 38, 0, 5, 74, 63, 55, 72, 6C, 2, 0, 15, 72, 74, 6D, 70, 3A, 2F, 2F, 6C, 6F, 63, 61, 6C, 68, 6F, 73, 74, 2F, 6C, 69, 76, 65, 0, 0, 9]
[2023-05-17T10:45:21Z TRACE rtmp::chunk::unpacketizer] read chunks begin, current time: 1684320321957197270, and read state: ReadBasicHeader
[2023-05-17T10:45:21Z TRACE rtmp::chunk::unpacketizer] read chunk begin, current time: 1684320321957270418, and read state: ReadBasicHeader, and chunk index: 0
[2023-05-17T10:45:21Z TRACE rtmp::chunk::unpacketizer] read_basic_header, chunk stream id update, new: 3, old:0, byte: 3
[2023-05-17T10:45:21Z TRACE rtmp::chunk::unpacketizer] print_current_basic_header, csid: 3,format id: 0
[2023-05-17T10:45:21Z TRACE rtmp::chunk::unpacketizer] read_message_header, data left in buffer: 123
[2023-05-17T10:45:21Z TRACE rtmp::chunk::unpacketizer] read_message_header format 0, msg_length: 112
[2023-05-17T10:45:21Z TRACE rtmp::chunk::unpacketizer] read_message_header format 0, msg_type_id: 20
[2023-05-17T10:45:21Z TRACE rtmp::chunk::unpacketizer] print_current_basic_header state ReadMessageHeader, timestamp:0, timestamp delta:0, msg length: 112,msg type id: 20, msg stream id:0
[2023-05-17T10:45:21Z TRACE rtmp::chunk::unpacketizer] print_current_basic_header state ReadExtendedTimestamp, timestamp:0, timestamp delta:0, msg length: 112,msg type id: 20, msg stream id:0
[2023-05-17T10:45:21Z TRACE rtmp::chunk::unpacketizer] read_message_payload whole msg length: 112 and remaining bytes need to be read: 112
[2023-05-17T10:45:21Z TRACE rtmp::chunk::unpacketizer] read_message_payload buffer len:112, need_read_length: 112
[2023-05-17T10:45:21Z TRACE rtmp::chunk::unpacketizer] read_message_payload current msg payload len:112
[2023-05-17T10:45:21Z TRACE rtmp::chunk::unpacketizer] read chunk end, current time: 1684320321957328107, and read state: ReadBasicHeader, and chunk index: 1
[2023-05-17T10:45:21Z TRACE rtmp::chunk::unpacketizer] read chunk begin, current time: 1684320321957334309, and read state: ReadBasicHeader, and chunk index: 1
[2023-05-17T10:45:21Z TRACE rtmp::chunk::unpacketizer] read chunks end, current time: 1684320321957339639, and read state: ReadBasicHeader
[2023-05-17T10:45:21Z INFO  rtmp::session::server_session] [ S<-C ] [connect] 
[2023-05-17T10:45:21Z WARN  rtmp::session::server_session] unknown connect properties: type:UTF8String("nonprivate")
[2023-05-17T10:45:21Z INFO  rtmp::session::server_session] connect properties: ConnectProperties { app: Some("live"), flash_ver: Some("LNX 10,0,32,18"), swf_url: None, tc_url: Some("rtmp://localhost/live"), fpad: None, capabilities: None, audio_codecs: None, video_codecs: None, video_function: None, object_encoding: None, page_url: None, pub_type: None }
[2023-05-17T10:45:21Z INFO  rtmp::session::server_session] [ S->C ] [set window_acknowledgement_size]
[2023-05-17T10:45:21Z TRACE tokio_util::codec::framed_impl] flushing framed transport
[2023-05-17T10:45:21Z TRACE tokio_util::codec::framed_impl] writing; remaining=16
[2023-05-17T10:45:21Z TRACE tokio_util::codec::framed_impl] framed transport flushed
[2023-05-17T10:45:21Z INFO  rtmp::session::server_session] [ S->C ] [set set_peer_bandwidth]
[2023-05-17T10:45:21Z TRACE tokio_util::codec::framed_impl] flushing framed transport
[2023-05-17T10:45:21Z TRACE tokio_util::codec::framed_impl] writing; remaining=17
[2023-05-17T10:45:21Z TRACE tokio_util::codec::framed_impl] framed transport flushed
[2023-05-17T10:45:21Z INFO  rtmp::session::server_session] [ S->C ] [set connect_response]
[2023-05-17T10:45:21Z TRACE tokio_util::codec::framed_impl] flushing framed transport
[2023-05-17T10:45:21Z TRACE tokio_util::codec::framed_impl] writing; remaining=202
[2023-05-17T10:45:21Z TRACE tokio_util::codec::framed_impl] framed transport flushed
[2023-05-17T10:45:21Z TRACE rtmp::chunk::unpacketizer] read chunks begin, current time: 1684320321957482589, and read state: ReadBasicHeader
[2023-05-17T10:45:21Z TRACE rtmp::chunk::unpacketizer] read chunk begin, current time: 1684320321957487108, and read state: ReadBasicHeader, and chunk index: 2
[2023-05-17T10:45:21Z TRACE rtmp::chunk::unpacketizer] read chunks end, current time: 1684320321957491446, and read state: ReadBasicHeader
[2023-05-17T10:45:21Z TRACE tokio_util::codec::framed_impl] attempting to decode a frame
[2023-05-17T10:45:21Z TRACE tokio_util::codec::framed_impl] attempting to decode a frame
[2023-05-17T10:45:21Z TRACE tokio_util::codec::framed_impl] frame decoded from buffer
[2023-05-17T10:45:21Z TRACE rtmp::chunk::unpacketizer] extend_data length: 16: content:[2, 0, 0, 0, 0, 0, 4, 5, 0, 0, 0, 0, 0, 0, 10, 0]
[2023-05-17T10:45:21Z TRACE rtmp::chunk::unpacketizer] read chunks begin, current time: 1684320321997649161, and read state: ReadBasicHeader
[2023-05-17T10:45:21Z TRACE rtmp::chunk::unpacketizer] read chunk begin, current time: 1684320321997659090, and read state: ReadBasicHeader, and chunk index: 3
[2023-05-17T10:45:21Z TRACE rtmp::chunk::unpacketizer] read_basic_header, chunk stream id update, new: 2, old:3, byte: 2
[2023-05-17T10:45:21Z TRACE rtmp::chunk::unpacketizer] print_current_basic_header, csid: 2,format id: 0
[2023-05-17T10:45:21Z TRACE rtmp::chunk::unpacketizer] read_message_header, data left in buffer: 15
[2023-05-17T10:45:21Z TRACE rtmp::chunk::unpacketizer] read_message_header format 0, msg_length: 4
[2023-05-17T10:45:21Z TRACE rtmp::chunk::unpacketizer] read_message_header format 0, msg_type_id: 5
[2023-05-17T10:45:21Z TRACE rtmp::chunk::unpacketizer] print_current_basic_header state ReadMessageHeader, timestamp:0, timestamp delta:0, msg length: 4,msg type id: 5, msg stream id:0
[2023-05-17T10:45:21Z TRACE rtmp::chunk::unpacketizer] print_current_basic_header state ReadExtendedTimestamp, timestamp:0, timestamp delta:0, msg length: 4,msg type id: 5, msg stream id:0
[2023-05-17T10:45:21Z TRACE rtmp::chunk::unpacketizer] read_message_payload whole msg length: 4 and remaining bytes need to be read: 4
[2023-05-17T10:45:21Z TRACE rtmp::chunk::unpacketizer] read_message_payload buffer len:4, need_read_length: 4
[2023-05-17T10:45:21Z TRACE rtmp::chunk::unpacketizer] read_message_payload current msg payload len:4
[2023-05-17T10:45:21Z TRACE rtmp::chunk::unpacketizer] read chunk end, current time: 1684320321997729773, and read state: ReadBasicHeader, and chunk index: 4
[2023-05-17T10:45:21Z TRACE rtmp::chunk::unpacketizer] read chunk begin, current time: 1684320321997738430, and read state: ReadBasicHeader, and chunk index: 4
[2023-05-17T10:45:21Z TRACE rtmp::chunk::unpacketizer] read chunks end, current time: 1684320321997746084, and read state: ReadBasicHeader
[2023-05-17T10:45:21Z TRACE rtmp::chunk::unpacketizer] read chunks begin, current time: 1684320321997755332, and read state: ReadBasicHeader
[2023-05-17T10:45:21Z TRACE rtmp::chunk::unpacketizer] read chunk begin, current time: 1684320321997761584, and read state: ReadBasicHeader, and chunk index: 5
[2023-05-17T10:45:21Z TRACE rtmp::chunk::unpacketizer] read chunks end, current time: 1684320321997768927, and read state: ReadBasicHeader
[2023-05-17T10:45:21Z TRACE tokio_util::codec::framed_impl] attempting to decode a frame
[2023-05-17T10:45:22Z TRACE tokio_util::codec::framed_impl] attempting to decode a frame
[2023-05-17T10:45:22Z TRACE tokio_util::codec::framed_impl] frame decoded from buffer
[2023-05-17T10:45:22Z TRACE rtmp::chunk::unpacketizer] extend_data length: 111: content:[43, 0, 0, 0, 0, 0, 21, 14, 2, 0, D, 72, 65, 6C, 65, 61, 73, 65, 53, 74, 72, 65, 61, 6D, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 2, 0, 4, 74, 65, 73, 74, 43, 0, 0, 0, 0, 0, 1D, 14, 2, 0, 9, 46, 43, 50, 75, 62, 6C, 69, 73, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 2, 0, 4, 74, 65, 73, 74, 43, 0, 0, 0, 0, 0, 19, 14, 2, 0, C, 63, 72, 65, 61, 74, 65, 53, 74, 72, 65, 61, 6D, 0, 40, 0, 0, 0, 0, 0, 0, 0, 5]
[2023-05-17T10:45:22Z TRACE rtmp::chunk::unpacketizer] read chunks begin, current time: 1684320322038804322, and read state: ReadBasicHeader
[2023-05-17T10:45:22Z TRACE rtmp::chunk::unpacketizer] read chunk begin, current time: 1684320322038822065, and read state: ReadBasicHeader, and chunk index: 6
[2023-05-17T10:45:22Z TRACE rtmp::chunk::unpacketizer] read_basic_header, chunk stream id update, new: 3, old:2, byte: 67
[2023-05-17T10:45:22Z TRACE rtmp::chunk::unpacketizer] print_current_basic_header, csid: 3,format id: 0
[2023-05-17T10:45:22Z TRACE rtmp::chunk::unpacketizer] print_current_basic_header, csid: 3,format id: 1
[2023-05-17T10:45:22Z TRACE rtmp::chunk::unpacketizer] read_message_header, data left in buffer: 110
[2023-05-17T10:45:22Z TRACE rtmp::chunk::unpacketizer] read_message_header format 1, msg_length: 33
[2023-05-17T10:45:22Z TRACE rtmp::chunk::unpacketizer] read_message_header format 1, msg_type_id: 20
[2023-05-17T10:45:22Z TRACE rtmp::chunk::unpacketizer] print_current_basic_header state ReadMessageHeader, timestamp:0, timestamp delta:0, msg length: 33,msg type id: 20, msg stream id:0
[2023-05-17T10:45:22Z TRACE rtmp::chunk::unpacketizer] print_current_basic_header state ReadExtendedTimestamp, timestamp:0, timestamp delta:0, msg length: 33,msg type id: 20, msg stream id:0
[2023-05-17T10:45:22Z TRACE rtmp::chunk::unpacketizer] read_message_payload whole msg length: 33 and remaining bytes need to be read: 33
[2023-05-17T10:45:22Z TRACE rtmp::chunk::unpacketizer] read_message_payload buffer len:103, need_read_length: 33
[2023-05-17T10:45:22Z TRACE rtmp::chunk::unpacketizer] read_message_payload current msg payload len:33
[2023-05-17T10:45:22Z TRACE rtmp::chunk::unpacketizer] read chunk end, current time: 1684320322038906615, and read state: ReadBasicHeader, and chunk index: 7
[2023-05-17T10:45:22Z TRACE rtmp::chunk::unpacketizer] read chunk begin, current time: 1684320322038915331, and read state: ReadBasicHeader, and chunk index: 7
[2023-05-17T10:45:22Z TRACE rtmp::chunk::unpacketizer] print_current_basic_header, csid: 3,format id: 1
[2023-05-17T10:45:22Z TRACE rtmp::chunk::unpacketizer] read_message_header, data left in buffer: 69
[2023-05-17T10:45:22Z TRACE rtmp::chunk::unpacketizer] read_message_header format 1, msg_length: 29
[2023-05-17T10:45:22Z TRACE rtmp::chunk::unpacketizer] read_message_header format 1, msg_type_id: 20
[2023-05-17T10:45:22Z TRACE rtmp::chunk::unpacketizer] print_current_basic_header state ReadMessageHeader, timestamp:0, timestamp delta:0, msg length: 29,msg type id: 20, msg stream id:0
[2023-05-17T10:45:22Z TRACE rtmp::chunk::unpacketizer] print_current_basic_header state ReadExtendedTimestamp, timestamp:0, timestamp delta:0, msg length: 29,msg type id: 20, msg stream id:0
[2023-05-17T10:45:22Z TRACE rtmp::chunk::unpacketizer] read_message_payload whole msg length: 29 and remaining bytes need to be read: 29
[2023-05-17T10:45:22Z TRACE rtmp::chunk::unpacketizer] read_message_payload buffer len:62, need_read_length: 29
[2023-05-17T10:45:22Z TRACE rtmp::chunk::unpacketizer] read_message_payload current msg payload len:29
[2023-05-17T10:45:22Z TRACE rtmp::chunk::unpacketizer] read chunk end, current time: 1684320322038974293, and read state: ReadBasicHeader, and chunk index: 8
[2023-05-17T10:45:22Z TRACE rtmp::chunk::unpacketizer] read chunk begin, current time: 1684320322038980805, and read state: ReadBasicHeader, and chunk index: 8
[2023-05-17T10:45:22Z TRACE rtmp::chunk::unpacketizer] print_current_basic_header, csid: 3,format id: 1
[2023-05-17T10:45:22Z TRACE rtmp::chunk::unpacketizer] read_message_header, data left in buffer: 32
[2023-05-17T10:45:22Z TRACE rtmp::chunk::unpacketizer] read_message_header format 1, msg_length: 25
[2023-05-17T10:45:22Z TRACE rtmp::chunk::unpacketizer] read_message_header format 1, msg_type_id: 20
[2023-05-17T10:45:22Z TRACE rtmp::chunk::unpacketizer] print_current_basic_header state ReadMessageHeader, timestamp:0, timestamp delta:0, msg length: 25,msg type id: 20, msg stream id:0
[2023-05-17T10:45:22Z TRACE rtmp::chunk::unpacketizer] print_current_basic_header state ReadExtendedTimestamp, timestamp:0, timestamp delta:0, msg length: 25,msg type id: 20, msg stream id:0
[2023-05-17T10:45:22Z TRACE rtmp::chunk::unpacketizer] read_message_payload whole msg length: 25 and remaining bytes need to be read: 25
[2023-05-17T10:45:22Z TRACE rtmp::chunk::unpacketizer] read_message_payload buffer len:25, need_read_length: 25
[2023-05-17T10:45:22Z TRACE rtmp::chunk::unpacketizer] read_message_payload current msg payload len:25
[2023-05-17T10:45:22Z TRACE rtmp::chunk::unpacketizer] read chunk end, current time: 1684320322039038013, and read state: ReadBasicHeader, and chunk index: 9
[2023-05-17T10:45:22Z TRACE rtmp::chunk::unpacketizer] read chunk begin, current time: 1684320322039044005, and read state: ReadBasicHeader, and chunk index: 9
[2023-05-17T10:45:22Z TRACE rtmp::chunk::unpacketizer] read chunks end, current time: 1684320322039051850, and read state: ReadBasicHeader
[2023-05-17T10:45:22Z INFO  rtmp::session::server_session] [ S<-C ] [create stream] 
[2023-05-17T10:45:22Z TRACE tokio_util::codec::framed_impl] flushing framed transport
[2023-05-17T10:45:22Z TRACE tokio_util::codec::framed_impl] writing; remaining=41
[2023-05-17T10:45:22Z TRACE tokio_util::codec::framed_impl] framed transport flushed
[2023-05-17T10:45:22Z INFO  rtmp::session::server_session] [ S->C ] [create_stream_response]  app_name: live
[2023-05-17T10:45:22Z TRACE rtmp::chunk::unpacketizer] read chunks begin, current time: 1684320322039191143, and read state: ReadBasicHeader
[2023-05-17T10:45:22Z TRACE rtmp::chunk::unpacketizer] read chunk begin, current time: 1684320322039197946, and read state: ReadBasicHeader, and chunk index: 10
[2023-05-17T10:45:22Z TRACE rtmp::chunk::unpacketizer] read chunks end, current time: 1684320322039204418, and read state: ReadBasicHeader
[2023-05-17T10:45:22Z TRACE tokio_util::codec::framed_impl] attempting to decode a frame
[2023-05-17T10:45:22Z TRACE tokio_util::codec::framed_impl] attempting to decode a frame
[2023-05-17T10:45:22Z TRACE tokio_util::codec::framed_impl] frame decoded from buffer
[2023-05-17T10:45:22Z TRACE rtmp::chunk::unpacketizer] extend_data length: 46: content:[3, 0, 0, 0, 0, 0, 22, 14, 1, 0, 0, 0, 2, 0, 7, 70, 75, 62, 6C, 69, 73, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 2, 0, 4, 74, 65, 73, 74, 2, 0, 4, 6C, 69, 76, 65]
[2023-05-17T10:45:22Z TRACE rtmp::chunk::unpacketizer] read chunks begin, current time: 1684320322039331368, and read state: ReadBasicHeader
[2023-05-17T10:45:22Z TRACE rtmp::chunk::unpacketizer] read chunk begin, current time: 1684320322039338391, and read state: ReadBasicHeader, and chunk index: 11
[2023-05-17T10:45:22Z TRACE rtmp::chunk::unpacketizer] print_current_basic_header, csid: 3,format id: 0
[2023-05-17T10:45:22Z TRACE rtmp::chunk::unpacketizer] read_message_header, data left in buffer: 45
[2023-05-17T10:45:22Z TRACE rtmp::chunk::unpacketizer] read_message_header format 0, msg_length: 34
[2023-05-17T10:45:22Z TRACE rtmp::chunk::unpacketizer] read_message_header format 0, msg_type_id: 20
[2023-05-17T10:45:22Z TRACE rtmp::chunk::unpacketizer] print_current_basic_header state ReadMessageHeader, timestamp:0, timestamp delta:0, msg length: 34,msg type id: 20, msg stream id:1
[2023-05-17T10:45:22Z TRACE rtmp::chunk::unpacketizer] print_current_basic_header state ReadExtendedTimestamp, timestamp:0, timestamp delta:0, msg length: 34,msg type id: 20, msg stream id:1
[2023-05-17T10:45:22Z TRACE rtmp::chunk::unpacketizer] read_message_payload whole msg length: 34 and remaining bytes need to be read: 34
[2023-05-17T10:45:22Z TRACE rtmp::chunk::unpacketizer] read_message_payload buffer len:34, need_read_length: 34
[2023-05-17T10:45:22Z TRACE rtmp::chunk::unpacketizer] read_message_payload current msg payload len:34
[2023-05-17T10:45:22Z TRACE rtmp::chunk::unpacketizer] read chunk end, current time: 1684320322039401831, and read state: ReadBasicHeader, and chunk index: 12
[2023-05-17T10:45:22Z TRACE rtmp::chunk::unpacketizer] read chunk begin, current time: 1684320322039406811, and read state: ReadBasicHeader, and chunk index: 12
[2023-05-17T10:45:22Z TRACE rtmp::chunk::unpacketizer] read chunks end, current time: 1684320322039411339, and read state: ReadBasicHeader
[2023-05-17T10:45:22Z INFO  rtmp::session::server_session] [ S<-C ] [publish]  app_name: live, stream_name: test, url parameters: 
[2023-05-17T10:45:22Z INFO  rtmp::session::server_session] [ S->C ] [stream begin]  app_name: live, stream_name: test, url parameters: 
[2023-05-17T10:45:22Z TRACE tokio_util::codec::framed_impl] flushing framed transport
[2023-05-17T10:45:22Z TRACE tokio_util::codec::framed_impl] writing; remaining=18
[2023-05-17T10:45:22Z TRACE tokio_util::codec::framed_impl] framed transport flushed
[2023-05-17T10:45:22Z TRACE tokio_util::codec::framed_impl] flushing framed transport
[2023-05-17T10:45:22Z TRACE tokio_util::codec::framed_impl] writing; remaining=101
[2023-05-17T10:45:22Z TRACE tokio_util::codec::framed_impl] framed transport flushed
[2023-05-17T10:45:22Z INFO  rtmp::session::server_session] [ S->C ] [NetStream.Publish.Start]  app_name: live, stream_name: test
[2023-05-17T10:45:22Z INFO  rtmp::channels] event data: {"Publish":{"app_name":"live","stream_name":"test","info":{"id":"5b65f72e-36ef-4316-8fe9-621a08bb2714","sub_type":"PushRtmp","notify_info":{"request_url":"rtmp://localhost/live/test","remote_addr":"127.0.0.1:47878"}}}}
[2023-05-17T10:45:22Z TRACE rtmp::chunk::unpacketizer] read chunks begin, current time: 1684320322039616477, and read state: ReadBasicHeader
[2023-05-17T10:45:22Z TRACE rtmp::chunk::unpacketizer] read chunk begin, current time: 1684320322039623481, and read state: ReadBasicHeader, and chunk index: 13
[2023-05-17T10:45:22Z TRACE rtmp::chunk::unpacketizer] read chunks end, current time: 1684320322039628570, and read state: ReadBasicHeader
[2023-05-17T10:45:22Z TRACE tokio_util::codec::framed_impl] attempting to decode a frame
harlanc commented 1 year ago

Check the xiu project file: Cargo.toml : did you comment out the rtmp network path and use the local path instead?

# rtmp = "0.3.0"   
# httpflv = "0.2.0"
# hls = "0.2.0"     
env_logger_extend = "0.1.1"
rtmp = { path = "../../protocol/rtmp/" }
httpflv = { path = "../../protocol/httpflv/" }
hls = { path = "../../protocol/hls/" }

and the httpflv/hls' Cargo.toml also needs to be updated.

gdesmott commented 1 year ago

did you comment out the rtmp network path and use the local path instead?

I did not. Just tried but it doesn't build then.

$ git diff
diff --git a/application/xiu/Cargo.toml b/application/xiu/Cargo.toml
index e5a06c1..78d1497 100644
--- a/application/xiu/Cargo.toml
+++ b/application/xiu/Cargo.toml
@@ -27,14 +27,10 @@ axum = "0.6.10"
 tokio-metrics = { version = "0.2.0", default-features = false }
 uuid = { version = "0.6.5", features = ["v4"] }

-rtmp = "0.3.0"   
-httpflv = "0.2.0"
-hls = "0.2.0"    
-env_logger_extend = "0.1.1"
-# rtmp = { path = "../../protocol/rtmp/" }
-# httpflv = { path = "../../protocol/httpflv/" }
-# hls = { path = "../../protocol/hls/" }
-# env_logger_extend = { path = "../../library/logger/" }
+rtmp = { path = "../../protocol/rtmp/" }
+httpflv = { path = "../../protocol/httpflv/" }
+hls = { path = "../../protocol/hls/" }
+env_logger_extend = { path = "../../library/logger/" }

 [features]
diff --git a/protocol/httpflv/Cargo.toml b/protocol/httpflv/Cargo.toml
index 0e1f831..aefc32c 100644
--- a/protocol/httpflv/Cargo.toml
+++ b/protocol/httpflv/Cargo.toml
@@ -19,10 +19,8 @@ uuid = { version = "0.6.5", features = ["v4"] }
 hyper = { version = "0.14", features = ["full"] }
 futures = "0.3"

-xflv = "0.2.0"
-rtmp = "0.3.0"
-# xflv = { path = "../../library/container/flv/" }
-# rtmp = { path = "../rtmp/" } #"0.0.4"
+xflv = { path = "../../library/container/flv/" }
+rtmp = { path = "../rtmp/" } #"0.0.4"

 [dependencies.tokio]
 version = "1.4.0"
diff --git a/protocol/rtmp/Cargo.toml b/protocol/rtmp/Cargo.toml
index 1065e19..8000ec4 100644
--- a/protocol/rtmp/Cargo.toml
+++ b/protocol/rtmp/Cargo.toml
@@ -31,13 +31,9 @@ serde_json = { version = "1", default-features = false, features = [
 serde = { version = "1.0", features = ["derive", "rc"] }
 serde_with = "2.2.0"

-bytesio = "0.2.0"
-xflv = "0.2.0"
-h264-decoder = "0.1.0"
-
-# bytesio = { path = "../../library/bytesio/" }
-# xflv = { path = "../../library/container/flv/" }
-# h264-decoder = { path = "../../library/codec/h264/" } 
+bytesio = { path = "../../library/bytesio/" }
+xflv = { path = "../../library/container/flv/" }
+h264-decoder = { path = "../../library/codec/h264/" } 

$ cargo run --bin xiu
    Updating crates.io index
   Compiling xiu v0.6.0 (/var/home/cassidy/dev/rust/xiu/application/xiu)
error[E0308]: arguments to this function are incorrect
   --> application/xiu/src/service.rs:186:17
    |
186 |                 RtmpEventProcessor::new(cient_event_consumer, event_producer);
    |                 ^^^^^^^^^^^^^^^^^^^^^^^
    |
note: expected `rtmp::channels::define::ClientEvent`, found `ClientEvent`
   --> application/xiu/src/service.rs:186:41
    |
186 |                 RtmpEventProcessor::new(cient_event_consumer, event_producer);
    |                                         ^^^^^^^^^^^^^^^^^^^^
    = note: `ClientEvent` and `rtmp::channels::define::ClientEvent` have similar names, but are actually distinct types
note: `ClientEvent` is defined in crate `rtmp`
   --> /var/home/cassidy/dev/rust/xiu/protocol/rtmp/src/channels/define.rs:94:1
    |
94  | pub enum ClientEvent {
    | ^^^^^^^^^^^^^^^^^^^^
note: `rtmp::channels::define::ClientEvent` is defined in crate `rtmp`
   --> /var/home/cassidy/.cargo/registry/src/github.com-1ecc6299db9ec823/rtmp-0.3.0/src/channels/define.rs:94:1
    |
94  | pub enum ClientEvent {
    | ^^^^^^^^^^^^^^^^^^^^
    = note: perhaps two different versions of crate `rtmp` are being used?
note: expected `rtmp::channels::define::ChannelEvent`, found `ChannelEvent`
   --> application/xiu/src/service.rs:186:63
    |
186 |                 RtmpEventProcessor::new(cient_event_consumer, event_producer);
    |                                                               ^^^^^^^^^^^^^^
    = note: `ChannelEvent` and `rtmp::channels::define::ChannelEvent` have similar names, but are actually distinct types
note: `ChannelEvent` is defined in crate `rtmp`
   --> /var/home/cassidy/dev/rust/xiu/protocol/rtmp/src/channels/define.rs:37:1
    |
37  | pub enum ChannelEvent {
    | ^^^^^^^^^^^^^^^^^^^^^
note: `rtmp::channels::define::ChannelEvent` is defined in crate `rtmp`
   --> /var/home/cassidy/.cargo/registry/src/github.com-1ecc6299db9ec823/rtmp-0.3.0/src/channels/define.rs:37:1
    |
37  | pub enum ChannelEvent {
    | ^^^^^^^^^^^^^^^^^^^^^
    = note: perhaps two different versions of crate `rtmp` are being used?
note: associated function defined here
   --> /var/home/cassidy/dev/rust/xiu/protocol/hls/src/rtmp_event_processor.rs:12:12
    |
12  |     pub fn new(consumer: ClientEventConsumer, event_producer: ChannelEventProducer) -> Self {
    |            ^^^

For more information about this error, try `rustc --explain E0308`.
error: could not compile `xiu` due to previous error

The usual good practice here is to always use the local crates and change it only when releasing.

harlanc commented 1 year ago

pull the latest code and try again

gdesmott commented 1 year ago

That works! :+1:

gdesmott commented 1 year ago

You closed the ticket but the fix is not merged into master.

harlanc commented 1 year ago

@gdesmott

Thanks for your reminder, will merge this weekend..