Commit Graph

6519 Commits (0e550d496bb46832ea11532a0dbc9f3fa4766b1b)

Author SHA1 Message Date
winlin 2887cda176 support multiple http hooks for a event.
winlin 30099dfa09 support multiple http hooks for a event.
winlin 9f3139c5c3 add comments for api server
winlin a478452f57 support http callback hooks: on_connect
winlin 65fde21e6c add http client
winlin bb22c3b5cd add http library, support in build script
winlin 3600be9796 add http callback in config
winlin d3cee00b3b add cherrypy api server
winlin 4b9eabdf01 udpate files.
winlin 263213d8b6 update version, add build date
winlin 3b09f9bea9 support audio transcode only, speex/mp3 to aac
winlin 2d592d177d refine the signals of ffmpeg.
winlin 71895a4da6 fix the ffmpeg kill bug, wait until ffmpeg quit.
winlin cab88dfe70 hls support multiple publish/unpublish. disable hls when not support
winlin 679e851f07 support max_connections, drop if exceed.
winlin 4827777035 fix the build ffmpeg script bug, add yasm to path when build
winlin 86b1f3349a fix bug of forward, erase msgs when error
winlin 89c0170850 fix bug of forward, earse the forwarded msgs.
winlin 8c5661b9ff fix bug of hls muxer, support close/open/flush even muxer is closed.
winlin 6207a2f19e fix the rewind bug, support republish by restart the ffmpeg encoder.
winlin b9440df745 add encoder/hls pithy print
winlin 464d78b762 add todo for ffmpeg
winlin 113731dd6b reap the transcode process
winlin b5bba29768 refine hls, extract ts cache for ts cache audio and flush once
winlin 1c2f5052dd refine the hls muxer module
winlin b4eb38c86b refine hls code, reorder classes.
winlin d6897205c7 add todo for protocol
winlin a2e6e6718e fix the m3u8 crash bug, simplify it
winlin 2b0bef18ed add todo for forward
winlin 09f9811a97 fix the hls crash bug
winlin 6f0bba9856 add todo: cycle all process, reap the exited
winlin 2695e4d0c6 fix bug of core
winlin 6af0794bab support dead-loop detect for forwarder and transcoder.
winlin e4ea965a3a update conf
winlin 9d65cd1c9f change server name to demo, dev used for development vhost
winlin 35676920be convert to unix format
winlin 18028ad4cb update readme
winlin bf18a3ac96 change demo video to 200kbps
winlin bbf7b9bb01 disable the forward for bug. update the steps
winlin 41fcda1d86 use hosts to play stream
winlin 5502344e85 add forward sample
winlin 5cc1ad6da8 add drawtext filter sample
winlin 1da09e5ffb add sample video
winlin a7c83b1aee support ffmpeg filter
winlin 9a0d8855d8 support ffmpeg filter
winlin f85b70966c rename global username and email
winlin 951cd08f1f refine the params
winlin 407801b8a6 add ffempty
winlin b88596b6dc update readme
winlin 601a69aa70 update readme
winlin 52e6115f9a update readme
winlin 525af4599f support live stream transcoding by ffmpeg.
winlin ee18b9f537 add ffempty
winlin 2be9ef2a8b add research empty ffmpeg
winlin 06278176dd add research empty ffmpeg
winlin 80a81b1661 parse ffmpeg params
winlin ce15f4bce3 update encoder framework
winlin 8d91561ca0 add ffmpeg transcoding framework
winlin b1466c8883 fix build ffmpeg bug, add -ldl compile option
winlin 129244aafa change x264 from 10bit to 8bit
winlin a086e2bbfa add transcoding params to config
winlin 57064237d0 rename author to contributor
winlin 9a582b0e4a refine the configure
winlin ad618702aa add ffmpeg build script
winlin 041ce8f18f add ffmpeg build script
winlin e4840d4480 add ffmpeg build script
winlin 14c2585cc3 add build ffmpeg script
winlin df53681a07 add ffmpeg-2.1, x264-core138, lame-3.99.5, libaacplus-2.0.2.
winlin 93fec0997f add ffmpeg2.1
winlin 790294f437 add authors
winlin 28572b009a remove the clock msg from log
winlin 5d69236bff convert to unix format
winlin db405b7e0e support forward stream to origin/edge
winlin f656087d74 add forward framework
winlin 2fa7610f9c add rtmp client
winlin 844718c99b refine the forwarder
winlin 1f8bb0e935 add forward st thread
winlin f09d457644 add forward framework
winlin c76043f95b add ccache zip
winlin eddef96479 add +x for build ccache script
winlin 3515af9dff add tools
winlin de95bf74b1 refine source, extract gop cache, add srs forwarder.
winlin 023e23bc82 add performance test
winlin ecebedfed2 refine code
winlin af5e7f002f fix the memory leak error
winlin 005f821441 fix bug of hls conf detect
winlin 3877ab0ff2 fix bug of hls conf detect
winlin a26c28334e update readme
winlin 1653e444dd add comments for auto ptr message
winlin 90af450d63 add todo for response client detail error
winlin 62a2384a35 check publish streaming available
winlin ec5cb39b96 add options --with/without -hls/ssl
winlin f8855cfcbb fix the aac jump bug on iphone, correct the audio pts, use audio buffer and flush audio
winlin d631882d34 use nginx-1.5.7 for security hole fixed
winlin c78baedf4e fix bug of 0.5 release.
winlin 94623c0cee fix bug of shared ptr, must copy the payload for it free it.
winlin 758dff0e97 fix bug of hls, close the muxer when segment finished
winlin 00ec634d56 support hls_fragment and hls_window
winlin 04cfe20279 support HLS, refine the dir use app
winlin 57ea56970d add nginx and used as http server
winlin 0c72c56f74 support HLS(m3u8)
winlin 749b7bdb2a refine hls, support time jitter detect and correct
winlin 326713fbed refine code, extract the rtmp jitter for hls
winlin 501b182dc9 refine code, write audio immediatly
winlin dbdfb29de1 refine code, remove the base dts, donot drop start BP frames
winlin b4235582dc refine code, remove the base dts, donot drop start BP frames
winlin 9e5b3afcbe update readme
winlin 7ed20cc670 support write ts file
winlin 164392f6aa fix bug of ts_info
winlin d5b84b5e20 refine ts code
winlin 38e66be490 fix ts audio bug, aac adts header and PES_packet_length fixed
winlin 4fca914694 support write ts file
winlin ca6720aab2 add time to write ts file
winlin 385394315d add ts mux framework
winlin 4af3982721 add ts muxer to write hls/ts file
winlin ce021b25c7 update the config file format
winlin bb775ef7bd update the ts_info
winlin adb7572c8c print the nalu of avc
winlin 19f16ba7a8 remove the analysis doc for ts
winlin ecc8688455 ensure sequence header is ok when parse avc/aac data
winlin c243ad3282 avc/aac demux the flv samples
winlin fcfd51ee20 decoded audio and video. add avc file format doc
winlin ba234e8741 add avc format doc. decode the flv codec info
winlin b87318dec0 extract method to process publish message
winlin 195a857f22 nginx never keep the metadata.
winlin 4f3cdd51c1 change metadata. add hls class.
winlin 200a6a6975 add hls config
winlin e3e0db9bb1 fix the format to unix without x
winlin 235e3cc120 add comments for PES packet length is 0
winlin 2c4c91d821 convert format to unix
winlin 145eb7bf29 convert ts_info to unix format
winlin 14211d884a add comments for ts_info
winlin cdd548004c rename ts_info.cpp to ts_info.cc
winlin 37e53f3735 add ts PCR analysis, the tool MPEG-2-ts-packet-analysis.2.4.5.0 decode PCR wrong
winlin 71015dc4a1 fix bug of aac demux, make same to ffmpeg, demux success
winlin c7e5bc0264 add ffmpeg demuxed dts/pts doc
winlin 26c24b7bdc add ts dts/pts analysis
winlin 08d745f1cf remove the flv muxer
winlin 21b962e9ff rename ts to mpegts, for github parse the *.ts as typedscript
winlin f70894d2c3 demux aac from ts and write to file.aac
winlin a0ecc5a305 finger out the PES_packet_length is 0
winlin dc7f2cff86 remove the unused h264 enums
winlin 3913e46ba5 fix bug of ts_info
winlin af5ce26746 finger out the ts audio/video package for AACADTS and H264NAL
winlin 54a1116f7a add ts analysis file
winlin 974af0605b fix protocol decode PCUC packet bug, requires 4bytes
winlin bc8828a7de update the random generater
winlin 4bba9ddcbb add ts_info doc
winlin c350a182b7 link the -lcrypto
winlin d1e20dc866 fix the global static instance error, use function to get server
winlin c79372417d parse the aac ADTS packets, add h264 doc
winlin f667351095 add aac specification, iso-13818-7
winlin 1ae03a2ba0 parse video/audio message
winlin 6b75390476 add Makefile for ts_info
winlin 6d4e4d3da2 update the ts_info, parse the PES packet
winlin b2fe7fb8a1 update ts_info, parse the PES packet dts/pts.
winlin a47a53f271 update the ts_info parse the PMT and PES header
winlin 89332789d1 update ts_info, parse header, adaption field and PAT
winlin 611d2a7e46 update ts_info, parse header, adaption field and PAT
winlin 741564b809 add reference doc from vb
winlin c621be2247 add ts_info.cpp for HLS research
winlin 732b2bbc6e add hls specification
winlin d06d83fb96 add rtmp players
winlin 8745ab542b add rtmp players
winlin ff565c4d9b fix bug of amf0 decode
winlin bf1113dad7 add log for update video/audio sequence header
winlin 687d190da1 reset the audio sample size and video frame size when unpublish
winlin 0645f5e927 calc the delta for time jitter for video
winlin 8f528ae5b2 v0.4 released. 12500 lines.
winlin b855caa045 refine handshake, pithy print clock
winlin 3669419e4c support config and reload the pithy print.
winlin 6c3b5943e9 add reload config comments for config.
winlin 0813104c6e support reload config(vhost and its detail).
winlin aef2fe9db5 support reload config(vhost and its detail).
winlin 68ccd7eb64 support reload config(listen and chunk_size) by SIGHUP(1).
winlin ed3525056c support config the chunk_size.
winlin c78af697a1 support pause for live stream.
winlin c77695ce55 add comments for extended-timestamp, always send the extended-timestamp even chunk type=0x03
winlin 883b054f9d update readme.
winlin 6e62efb9e6 update readme.
winlin 751323fac8 release v0.3, 11773 lines
winlin 58d9677ddd support vhosts specified config.
winlin 9f94f891ad delete the cache when unpublish, when publish the encoder will update it
winlin a5339c2a27 refine socket buffer, append bytes to vector directly
winlin c0b6982e0d support listen multiple ports.
winlin 2aa15a1134 support nginx-style config file
winlin 8ee307b0b4 update configure, try to detect the tools
winlin a1a3a2eef9 add macro to disable the srs_trace
winlin b4427877f7 support pithy print log message specified by stage.
winlin 293399dcf5 fix bug of time jitter correcter
winlin 3aa6be8645 fix the timestamp bug. correct the audio diff by audiosamplerate
winlin 3accc969ab update the signature of server
winlin 3c8e1f8ff7 fix bug of extended-timestamp, support librtmp/ffmpeg publish
winlin 0ed8807727 support cache last gop for video
winlin 359c7da19b support flash publish
winlin 6d385f15a7 refine code, add todo command
winlin 24a54a40e8 refine code, add prefix srs
winlin 53a668e34d support h264/avc codec by rtmp complex handshake(SrsComplexHandshake)
winlin f0f4837a97 define the structs for c0c1 complex handshake
winlin e6ca039dd6 add rtmp complex handshake classes
winlin 598aaa5c98 detect the video/audio codec, only cache the h264/aac sequence header
winlin 2987a24877 add TODO for complex handshake
winlin 2ee913bd70 update comment TODO for sequence header and fast-startup caching last gop
winlin 9da31de1c1 support decode user control message. response ping automatically
winlin 0a92faf2e3 update timestamp comments
winlin b40d0467a8 time jitter detect and correct, very simple algorithm
winlin e31e3d601d time jitter detect and correct, very simple algorithm
winlin 2a346c2398 support send acknowledgement when recv message.
winlin 5d1d0ff8bb update help
winlin a0a0da5f23 release v0.1, support FMLE/FFMPEG publish, vp6 codec live streaming
winlin 54b9c5d389 support FMLE/FFMPEG publish vp6 codec, h264/aac not support yet
winlin 444a45facd fix bug to accept FFMPEG streaming
winlin 150489af51 support ffmpeg publish
winlin 584a427c2e dispatch video/audio/data to consumers
winlin 0a0d33335a rename base message to ISrsMessage
winlin 52a454c41b rename base message to ISrsMessage
winlin d8a99dde52 rename SrsSharedMessage to SrsSharedPtrMessage
winlin cdd843a641 rename SrsMessage to SrsCommonMessage
winlin c64ed83378 add shared ptr to video/audio/data
winlin 5af377e41d add shared ptr message
winlin 940d2f02eb basic media cache framework
winlin a24d0ecf0c support decode onMetaData.
winlin ed371d6e7e support FMLE publish streaming
winlin 33c586181d support fmle publish. fix bug of rtmp chunk stream.
winlin e598616e14 fix objectEncoding bug, default to AMF0, change to AMF3 if required.
winlin 99aa8bc087 support FMLE releaseStream, FCPublish
winlin 58a54176f7 support onStatus, RtmpSampleAccess, DataStart
winlin adc382ad48 support set chunk size, PCUC 4bytes packets
winlin af5961432d support createStream and play, identity the play client
winlin 5475d0e435 support ack size.
winlin 2e590e18f4 fix bug of send rtmp message
winlin 1beee1e970 support ecma array. connect app response.
winlin 8283ed465a support encode amf0 packet, connect app response packet
winlin 57dd58d557 send set peer bandwidth packet.
winlin 2abfcee10f support set ack window size.
winlin 1047e06bf3 encode packet and send out
winlin a2d2fa1a25 log the req.
winlin bd64ae8257 refine the protocol and amf0, extract the template method as global static method
winlin 2c53134bbb connect vhost/app packet decoded.
winlin df400ef1c5 connect vhost/app packet decoded.
winlin 2886672347 amf0 object decode framework
winlin 810bb6ba38 decode amf0 string
winlin a638ebd1c6 decode the amf0 command message: connect.
winlin 63bf9e112d decode the amf0 command message: connect.
winlin 25468e4ff8 refine buffer read socket logic.
winlin 496c5ecfde add amf0 decode framework.
winlin f5672998fd expect rtmp packet which decoded from message payload
winlin bf5378434f decode chunk stream to RTMP message
winlin 2625ecc151 decode message header
winlin f730ccbf9f decode basic header
winlin 393e32ee0f add rtmp specification
winlin bd66702299 add rtmp specification
winlin 9541ac1e35 add log macro use __PRETTY_FUNCTION__ for c++
winlin 49a7cb9afb refine comments.
winlin 56e78bdf6f add comments. refine naming
winlin a323483bea add protocol stack
winlin fbe6e061c0 simple handshake(specified by rtmp protocol v1.0) success
winlin 3976a17841 add auto free. recv c0c1
winlin 0609eeb7c8 add socket rtmp and buffer. rename logs
winlin d4b6178f0f get peer ip and add rtmp class
winlin 96e1de255c close fd when delete connection object
winlin 973bea1e14 extract the rtmp connection
winlin d8a64603c0 support listen and accept framework
winlin 5b02f9c78b init st, add error code
winlin eb3b824e6c rename upp project
winlin a4c5f94b15 add copyright info
winlin 78c69016ba add srs_core.cpp
winlin 67d96fcab4 add log
winlin 7268dd15a1 add build framework