Commit graph

  • 1ea21ddc44 RTMP handshake fix, ReadFull now only reads upto C0C1 instead of waiting on full sequence cursed Muaz Ahmad 2024-03-13 11:34:23 +0500
  • f1a3734d95 RTMP handshake fix, ReadFull now only reads upto C0C1 instead of waiting on full sequence transcoder-test Muaz Ahmad 2024-03-13 11:34:23 +0500
  • 11b0c4dd6e RTMP handshake fix, ReadFull now only reads upto C0C1 instead of waiting on full sequence main Muaz Ahmad 2024-03-13 11:34:23 +0500
  • 5eaac2e552 wrapped all RTMP tcp reads in io.ReadFull Muaz Ahmad 2024-03-11 14:00:21 +0500
  • 343146d080 wrapped all RTMP tcp reads in io.ReadFull Muaz Ahmad 2024-03-11 14:00:21 +0500
  • b2760dcb78 wrapped all RTMP tcp reads in io.ReadFull Muaz Ahmad 2024-03-11 14:00:21 +0500
  • 970b6366a7 updated README Muaz Ahmad 2024-02-27 14:59:33 +0500
  • 3f2890a858 wrap read in io.ReadFull so that it actually reads everything over latency between TCP packets Muaz Ahmad 2024-02-27 14:44:12 +0500
  • 64c07efc39 wrap read in io.ReadFull so that it actually reads everything over latency between TCP packets Muaz Ahmad 2024-02-27 14:44:12 +0500
  • d0c3bffd3b wrap read in io.ReadFull so that it actually reads everything over latency between TCP packets Muaz Ahmad 2024-02-27 14:44:12 +0500
  • 6274e7a679 fix for fix for ignoring shotgunned induction handshake Muaz Ahmad 2024-02-27 14:43:39 +0500
  • 6fa6482162 fix for improper handshake conclusion Muaz Ahmad 2024-02-27 13:04:25 +0500
  • 82f1b575f1 cursed mjpeg livestreaming Muaz Ahmad 2023-10-27 12:46:16 +0500
  • 98311e3edf command to run with hls-transcoder-2 Muaz Ahmad 2023-10-26 00:18:34 +0500
  • 9b85fdb456 parse options from cmd args Muaz Ahmad 2023-10-25 15:04:59 +0500
  • 460150d9ac Updated README Muaz Ahmad 2023-09-23 20:50:07 +0500
  • dbbec0954a switch to BROKEN const delcration when error in data loop Muaz Ahmad 2023-09-23 20:45:07 +0500
  • abe6337dc2 tunnel deletion on shutdown fix Muaz Ahmad 2023-09-23 20:44:20 +0500
  • fb39b051db successful encryption Muaz Ahmad 2023-09-23 20:36:22 +0500
  • 15bd8578df basic encryption key material handling Muaz Ahmad 2023-09-23 19:12:46 +0500
  • c41b00ccfa handle ts segment write errors Muaz Ahmad 2023-09-23 16:37:49 +0500
  • 9d7a57745f store aes key len as full not /4 value Muaz Ahmad 2023-09-23 16:37:31 +0500
  • 074222e8ac skip initial deletion if init.mp4 doesn't exist Muaz Ahmad 2023-09-22 15:16:54 +0500
  • c957c29188 comments Muaz Ahmad 2023-09-22 14:58:33 +0500
  • 25ce4427e6 Updated README Muaz Ahmad 2023-09-22 14:58:26 +0500
  • e8a9573b7b run cleanup when shutdown received Muaz Ahmad 2023-09-22 13:13:17 +0500
  • e05180baf3 old file deletion Muaz Ahmad 2023-09-22 12:54:50 +0500
  • 77c36a689a Pipe to transcoder instead of file Muaz Ahmad 2023-09-22 12:33:55 +0500
  • 96b9895735 Removed client caching, fix for old video having mismatched codecs with new Muaz Ahmad 2023-09-22 12:33:31 +0500
  • 1cc2a1e3f4 TLPKTDROP, serial arithmetic refactoring Muaz Ahmad 2023-09-22 11:22:13 +0500
  • c2d9ebbeb4 file writing, lost packet handling Muaz Ahmad 2023-09-21 16:11:27 +0500
  • e1852b6ae0 stream key checking Muaz Ahmad 2023-09-21 13:36:11 +0500
  • cbf372b0f4 ack report with correct metadata Muaz Ahmad 2023-09-21 12:40:16 +0500
  • 32f414e19d basic data packet handling Muaz Ahmad 2023-09-20 15:06:32 +0500
  • 19c601e9be Added conclusion hs handling Muaz Ahmad 2023-09-19 15:14:13 +0500
  • 2aa08bad18 Added packet writing, induction hs handling Muaz Ahmad 2023-09-19 14:14:50 +0500
  • d517877720 Packet-byte handling, protocol struct to handle protocol states Muaz Ahmad 2023-09-18 12:28:04 +0500
  • 184dac910a Basic UDP tunneling intake Muaz Ahmad 2023-09-18 11:51:55 +0500
  • 53af3d325f Moved transcoder command creation to separate package entirely Muaz Ahmad 2023-09-08 14:56:21 +0500
  • 8be70f035b to run with custom hls-player instead of hls.js Muaz Ahmad 2023-08-24 15:20:30 +0500
  • 6677ec6afd added readme Muaz Ahmad 2023-08-24 14:40:57 +0500
  • 33fc16f38c change cleanup to check for active stream (prevents segment wipe on reconnect) Muaz Ahmad 2023-08-24 12:51:12 +0500
  • 82a426ef49 h264 keyframe fix to keep desired hls segment length Muaz Ahmad 2023-08-22 15:08:55 +0500
  • 355b1bfa77 fix for weird obs bug with chunkstream ids on rapid i3 workspace switching (maybe also alt+tabs?) Muaz Ahmad 2023-08-22 14:59:17 +0500
  • 7b5021f8d2 switch to fragmented mp4 from ts Muaz Ahmad 2023-08-22 14:58:01 +0500
  • 699666695e Comments Muaz Ahmad 2023-08-21 20:25:54 +0500
  • 21fc4a5816 Now adds EXT-X-PROGRAM-DATE-TIME to m3u8 for player syncing Muaz Ahmad 2023-08-21 18:44:12 +0500
  • e026a83d06 Proper deferred stream state flip on connection break Muaz Ahmad 2023-08-21 18:43:35 +0500
  • 880d010989 file serving implemented, video served with hls.js Muaz Ahmad 2023-08-21 15:11:19 +0500
  • 14336095ea shorten playlist size, use stream key to construct uri for http server Muaz Ahmad 2023-08-21 15:10:07 +0500
  • 223bbf40f7 add static html for stream page, m3u8 file sending Muaz Ahmad 2023-08-21 13:02:06 +0500
  • d39763a2e0 switch to std lib http handler Muaz Ahmad 2023-08-21 12:39:38 +0500
  • 72948ff24c basic http server setup Muaz Ahmad 2023-08-21 12:19:31 +0500
  • 5941184ada auto-clean stream directory at start of new stream and after 1m at end of stream, holy shit it just works Muaz Ahmad 2023-08-18 16:22:25 +0500
  • f80e86fcf6 pipe flv to ffmpeg hls segmentation Muaz Ahmad 2023-08-18 15:50:24 +0500
  • f165efcdc2 Audio+video handling, break data loop on command message since it should only ever be an unpublish if working correctly, or exit anyway for non-proper protocol Muaz Ahmad 2023-08-18 14:43:52 +0500
  • 5a21ef83d2 Also write tag size at end Muaz Ahmad 2023-08-18 14:21:31 +0500
  • fc4560076c metadata handling, errors for invalid message type but successful read, flv byte write index removed since unneeded Muaz Ahmad 2023-08-18 13:24:54 +0500
  • cbf1492b0e flv stream data handling, temporary dump to a file instead of ffmpeg Muaz Ahmad 2023-08-18 12:48:05 +0500
  • 050e8b104f basic data loop handle (placeholder) Muaz Ahmad 2023-08-17 16:35:06 +0500
  • 70d7ba474e add publish handling, refactor command for easier value checking Muaz Ahmad 2023-08-17 15:01:12 +0500
  • 10089f4f25 add server publish checking Muaz Ahmad 2023-08-17 14:58:07 +0500
  • 579bf2e195 read and write publishing, check stream key validity (if dir exists) Muaz Ahmad 2023-08-17 14:57:30 +0500
  • f6e23abbaf msg stream id little-endian fix Muaz Ahmad 2023-08-17 13:28:00 +0500
  • 4f4a896b84 Finish stream creation response Muaz Ahmad 2023-08-15 17:46:41 +0500
  • 9f0cf39b3b Process and check create stream command, store transaction id Muaz Ahmad 2023-08-15 15:55:41 +0500
  • b0239ed761 Fix format 3 handling for new messages with the same delta and other params Muaz Ahmad 2023-08-15 15:55:11 +0500
  • 56b6c2ff69 Redo param init, handle reading createStream and placeholder for response Muaz Ahmad 2023-08-15 15:54:04 +0500
  • 5efc3d0970 Allow tracking transaction id Muaz Ahmad 2023-08-15 15:53:20 +0500
  • a38fbea911 Basic create stream handle, void releasestream and fcpublish calls since no doc, and only going to accept stream data anyway Muaz Ahmad 2023-08-15 15:29:46 +0500
  • 83c61128d8 Remove pointless pointer ref for a single string Muaz Ahmad 2023-08-15 14:34:48 +0500
  • 74ba5931d3 Removed unnecessary ingest file Muaz Ahmad 2023-08-15 14:28:13 +0500
  • 881cbe28f8 Pass successful connect return Muaz Ahmad 2023-08-15 14:27:54 +0500
  • ae9bb63d04 Complete encoding of main types Muaz Ahmad 2023-08-15 14:27:28 +0500
  • a526753112 Add null parsing Muaz Ahmad 2023-08-15 14:27:00 +0500
  • 7311b761b2 Fixed cyclic package dep Muaz Ahmad 2023-08-15 13:16:29 +0500
  • d1b5ade036 Added connect response writing Muaz Ahmad 2023-08-15 12:32:44 +0500
  • a070e0c952 Added chunk size and bandwidth write to peer Muaz Ahmad 2023-08-13 14:43:07 +0500
  • 94bd146e77 Basic msg chunking and writing Muaz Ahmad 2023-08-13 14:31:04 +0500
  • d90127def6 Try writing chunks, start with window ack size msg Muaz Ahmad 2023-08-13 14:30:39 +0500
  • dbc55a2880 Object read, root obj access fix Muaz Ahmad 2023-08-12 02:18:03 +0500
  • 369a7c40f4 Added number, bool and string amf decoding Muaz Ahmad 2023-08-11 15:51:46 +0500
  • 74d95d4769 Basic root and number AMF decoding Muaz Ahmad 2023-08-11 15:22:25 +0500
  • ca36226491 Stream key not involved until publish stage, just check if proper command and app Muaz Ahmad 2023-08-11 15:21:49 +0500
  • 3d7e00169b Refactor command process to separate file Muaz Ahmad 2023-08-11 13:12:12 +0500
  • 0c054b67c0 connect object processing, stream key checking Muaz Ahmad 2023-08-11 13:09:36 +0500
  • 7782f14eb5 Add connect command read code, import amf package Muaz Ahmad 2023-08-10 23:53:58 +0500
  • ac5834a12e Add amf encoding package, test code Muaz Ahmad 2023-08-10 23:53:23 +0500
  • 58d12652e5 Remove chunk size test code, add connect command test code Muaz Ahmad 2023-08-10 23:52:52 +0500
  • d5d5e71270 Added \"stream key\" to params storage Muaz Ahmad 2023-08-10 23:51:54 +0500
  • 48c3bb1df4 Refactor, remove unused buffer and stream map init Muaz Ahmad 2023-08-10 23:51:24 +0500
  • c7ea01e3bd Force read peer chunk size message from client Muaz Ahmad 2023-08-10 20:58:01 +0500
  • 5df64adcbd Refactor, wrapper around ReadChunk to manage structs Muaz Ahmad 2023-08-10 20:34:10 +0500
  • d5d2301cad Loop chunk read Muaz Ahmad 2023-08-10 15:29:25 +0500
  • 510be80449 Store and init protocol parameters Muaz Ahmad 2023-08-10 15:29:10 +0500
  • 05087ccbb3 Export ChunkBuffers, track bytes read in total Muaz Ahmad 2023-08-10 15:28:43 +0500
  • fabcecae43 Refactor to export structs chnk_stream and message Muaz Ahmad 2023-08-10 13:58:57 +0500
  • 48029e0ee6 chunk format 3 handling Muaz Ahmad 2023-08-10 13:24:06 +0500
  • 37e28d88d3 added chunk type 2 parse Muaz Ahmad 2023-08-10 13:09:26 +0500
  • bb98894fc3 Code refactoring, persistent chunk read bufs, type 1 chunks Muaz Ahmad 2023-08-10 12:49:26 +0500