Commit Graph

2535 Commits

Author SHA1 Message Date
Saxon aad0c54039 codec/h264/lex_test.go: removed unnecessary conversion 2019-05-30 19:06:50 +09:30
Saxon 20d5f9605f codec/h264/lex.go: checking NAL packet lengths 2019-05-30 19:05:08 +09:30
Saxon 8b7c62602f codec/h264/lex.go: made nalType if statement in RTPLexer.Lex more go like 2019-05-30 18:49:27 +09:30
Saxon 1df0d214c9 revid/revid.go: fixed merge conflicts 2019-05-27 15:00:41 +09:30
Saxon Milton 4b74ea3291 Merged in revid-rtsp-camera (pull request #200)
revid: RTSP Camera Input

Approved-by: Alan Noble <anoble@gmail.com>
2019-05-27 05:16:59 +00:00
Saxon 03c45b1bcf protocol/rtcp/parse.go: removed ParseSSRC and checkPacket functions as not required anymore 2019-05-27 14:31:14 +09:30
Saxon 0ee6e86638 codec/h264/lex.go: fixed bug in handleFUA 2019-05-27 14:23:33 +09:30
Saxon 85a5f043c8 codec/h264/lex.go: removed FUIndicatorIdx const in handleFUA 2019-05-27 14:08:44 +09:30
Saxon a39cd31a57 codec/h264/lex.go: added spec link for nal type consts 2019-05-27 14:07:04 +09:30
Saxon 5b970823ef codec/h264/lex_test.go: renamed t to tmp in destination.Write() 2019-05-24 10:41:18 +09:30
Saxon 41f442437d codec/h264/lex_test.go: improve comment for rtpReader struct 2019-05-24 10:40:17 +09:30
Saxon e158101170 codec/h264/lex_test.go: fixed Saxon Nelson-Milton author indentation in file header 2019-05-24 10:38:54 +09:30
Saxon 5dfff61887 codec/h264/lex.go: merge logic for start end packet writing into first if 2019-05-24 10:38:06 +09:30
Saxon 04cd2e66ff codec/h264/lex.go: updated comment for RTPLexer.handleFUA() 2019-05-24 10:36:30 +09:30
Saxon 930c35a154 codec/h264/lex.go: udpated comment for RTPLexer.handleSTAPA 2019-05-24 10:36:00 +09:30
Saxon e1fd6837ef codec/h264/lex.go: updated comment for RTPLexer.Lex() 2019-05-24 10:34:52 +09:30
Saxon b49e65d928 codec/h264/lex.go: commented buffer size consts 2019-05-24 10:33:34 +09:30
Saxon ad241abdfd protocol/rtcp/client.go: fixed missing double quote in comment for Client.SetName() 2019-05-24 10:14:37 +09:30
Saxon 809d904878 revid/revid.go: commented startRTSPCamera 2019-05-23 14:10:09 +09:30
Saxon d7d205a7a9 protocol/rtcp/parse.go: updated comment for ParseTimestamp(...) 2019-05-23 14:07:19 +09:30
Saxon ecc0ab8664 container/mts/encoder.go: updated comment for Encode constants 2019-05-23 14:05:17 +09:30
Saxon 35069bd4f3 codec/h264/lex.go: using if and else statements rather than switch for start and end indicator logic in handleFUA 2019-05-23 13:55:25 +09:30
Saxon 0e7504374e codec/h264: fixed some minor naming and comment spelling 2019-05-22 15:09:54 +09:30
Saxon 722ddc6ccb codec/h264/lex_test.go: added test for RTPLexer.Lex(...) and also fixed some build errors 2019-05-22 14:49:25 +09:30
Saxon ceb15e53c3 codec/h264/lex.go: wrote lexer for lexing h264 access units from RTP stream 2019-05-22 12:23:29 +09:30
Saxon c0b5724ea7 Merge branch 'master' into h264-rtp-lexer 2019-05-22 11:10:03 +09:30
Saxon Milton c3d8572eed Merged in use-codecutil-in-lexers (pull request #201)
codec: H264 and MJPEG lexers now using codecutil package for byte scanner functionality
2019-05-22 01:39:22 +00:00
Saxon 980cf8da21 codec: H264 and MJPEG lexers now using codecutil package for byte scanner functionality 2019-05-22 11:07:39 +09:30
Saxon 85984555a3 container/mts/encoder.go: fixed comment for pmtTable initialisation 2019-05-21 17:09:47 +09:30
Saxon fbcd163864 protocol/rtcp: fixed bug regarding checking of close err channel from client in routines. 2019-05-21 17:07:28 +09:30
Saxon d29141cf05 container/mts: changed consts H264, H265 and Audio to EncodeH264, EncodeH265 and EncodeAudio 2019-05-21 16:57:17 +09:30
Saxon eeaf806c6e protocol/rtcp/client.go & revid/revid.go: removed rtcp.Client.Done() and now blocking on rtcp.Client.Err() in revid.
It seems unnecessary to have the rtcp.Client.Done() func, considering that we could use
the rtcp.Client.err channel itself to determine if the RTCP client has been stopped.
We simple wait on a chan receive in revid in the error handling routine, and we check the
'ok' return - if it is false, then the err chan has been closed and we can get out of the
error handling loop. This should also reduce CPU usage significantly.
2019-05-21 13:23:04 +09:30
Saxon 88ffdf08b5 revid: changed the input enum for RTSP input from RTSPCamera to RTSP 2019-05-21 12:18:52 +09:30
Saxon 39a573e10b protocol/rtsp: removed cmd/record as revid can do what this did 2019-05-21 01:51:14 +09:30
Saxon 91d2697a55 revid: general clean up 2019-05-21 01:48:29 +09:30
Saxon 970a445ca4 codec/h265/lexer.go & protocol/rtp/client.go: fixed lexer and rtp client.
The lexer had a bug which is now fixed, and the RTP client is no longer looking for SSRC
in rtp.NewClient (which means we miss a packet).
2019-05-20 20:49:50 +09:30
Saxon 3ff726e439 revid & cmd/revid-cli: removed need for command line flags to specify addresses for RTP and RTCP.
Removed the command line flags that were used to specifiy local and remote addresses for RTP and RTCP. These are now
derived from the initial RTSP connection and also from the RTSP SETUP method reply.
2019-05-20 19:45:59 +09:30
Saxon bc6a0ae55e revid: using RTCP client to maintain RTP stream from RTSP server
Now adopting an RTCP client so that the RTP stream from the RTSP server can be maintained past 1 minute.
This change involved some refactor.
The rtcp.NewClient signature has been simplified. There is now a default send interval and name for use
in the source description in the receiver reports. These can be customised if required with the new
SetSendInterval and SetName funcs. The rtcp.NewClient signature now takes an rtp.Client, so that it
can get information from the RTP stream, like most recent sequence number. As a result of this requirement
the rtp package parse file has been extended with some functions for parsing out the sequence number and
ssrc from RTP packets and the RTP client provides getters for these things.
2019-05-20 18:14:27 +09:30
Saxon 819b4a122f codec/h264: renamed Lex to LexFromBytestream 2019-05-19 21:44:23 +09:30
Saxon f52acc7efb codec/h264: fixed comment for Lex 2019-05-19 21:38:05 +09:30
Saxon Milton eaba622909 Merged in separate-codecs (pull request #188)
codec: created h264 and mjpeg packages to house lexers

Approved-by: Alan Noble <anoble@gmail.com>
2019-05-19 11:46:33 +00:00
Saxon 0567a81757 codec/h265: removed unnecessary allocation in handle fragmentation 2019-05-19 21:14:41 +09:30
Saxon abd41d9f01 codec/h265/lex_test.go: fixed TestLex to account for previous changes 2019-05-19 20:45:26 +09:30
Saxon a2d1b09e92 codec/h265: fixed lexer to get nal header into start of fragment
Now getting the nal header and type from fu header for the first fragment. We can now
lex and create HEVC MTS to RTP - working fine. Need to use RTCP now to continue stream.
2019-05-19 17:21:41 +09:30
Saxon 92d4c5f79a container/mts/encoder.go: generalising stream id logic 2019-05-16 16:41:52 +09:30
Saxon 548b7caa81 revid: fixed rtpPort and rtcpPort parsing and added H264 and H265 IDs
Added H264ID and H265ID consts and added logic to select this const for use in encoder based on mediaType param in NewEncoder. Also now
declaring PMT in NewEncoder so that we can set streamID correctly based on mediaType.
2019-05-16 13:57:10 +09:30
Saxon bd56e936a4 cmd/revid-cli: checking Input flag string and assigning cfg.Input to revid.RTSPCamera if 'RTSPCamera' is entered. 2019-05-16 13:05:09 +09:30
Saxon 5a2f15054d cmd/revid-cli: added flags related to RTSP input
Added 'RTSPCamera' option to description for 'Input' revid-cli flag. Also added other flags required
to set config params for RTSP input, like RTSPURL, RTPRecvAddr and RTCPAddr.
2019-05-16 12:55:35 +09:30
Saxon 25bb49bce7 revid: using h265 lexer now in the case of RTSPCamera input 2019-05-14 11:56:04 +09:30
Saxon 1059b5e738 revid: wrote basics of a startRTSPCamera func
Currently just connecting to RTSP server, requesting OPTIONS, DESCRIBE, SETUP and PLAY. Also creating RTP client and giving
this to process from for the lexer.
2019-05-14 11:47:18 +09:30