Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
livest [2020/06/29 12:45] – [live] yairlivest [2020/09/05 13:49] (current) – [HLS] yair
Line 1: Line 1:
 =====live==== =====live====
 +<html>
 +<p><a href="https://www.haivision.com/products/srthub/?utm_medium=CTA&amp;utm_term=SRTHub&amp;utm_content=Sep%2B4&amp;utm_campaign=Blog&amp;wvideo=g6wyi820rt"><img src="https://embed-fastly.wistia.com/deliveries/2503e91f43c10e1b427c51faf01e0f80.jpg?image_play_button_size=2x&amp;image_crop_resized=960x540&amp;image_play_button=1&amp;image_play_button_color=0072cee0" width="400" height="225" style="width: 400px; height: 225px;"></a></p><p><a href="https://www.haivision.com/products/srthub/?utm_medium=CTA&amp;utm_term=SRTHub&amp;utm_content=Sep%2B4&amp;utm_campaign=Blog&amp;wvideo=g6wyi820rt">SRT Hub Cloud Based Media Routing | Haivision</a></p>
 +</html>
  
-{{:pasted:20200628-205004.png?733}}+[[https://en.wikipedia.org/wiki/List_of_streaming_media_systems#Servers|List_of_streaming_media_systems]] 
 + 
 +{{:pasted:20200628-205004.png?750}}
  
 ====HLS==== ====HLS====
 +
 +
 +===gstreamer/video.js===
 +the easiest stream i got was using hlssink
 +<code dot>
 +  gst-launch-1.0 videotestsrc is-live=true ! x264enc ! mpegtsmux \
 +  ! hlssink playlist-root=https://your-site.org \
 +  location=/srv/hls/hlssink.%05d.ts \
 +  playlist-location=/srv/hls/playlist.m3u8
 +</code>
 +
 +and video.js on the other site
 +<code javascript>
 +<video-js id=vid1 width=600 height=300 class="vjs-default-skin" controls>
 +  <source
 +     src="https://example.com/index.m3u8"
 +     type="application/x-mpegURL">
 +</video-js>
 +<script src="video.js"></script>
 +<script src="videojs-http-streaming.min.js"></script>
 +<script>
 +var player = videojs('vid1');
 +player.play();
 +</script>
 +</code>
 +
 +pipe video from rtsp ueye
 +  gst-launch-1.0.exe rtspsrc location=rtsp://169.254.37.87:8554/mystream ! fakesink ! fpsdisplaysink
 +
 +===Javelin===
 +[[https://gitlab.com/valeth/javelin|gitlab javelin]]
 +
 +install rust on server
 +  curl https://sh.rustup.rs -sSf | sh
 +  source $HOME/.cargo/env
 +you'll probably need a few deps, like 
 +  sudo apt install libssl-dev
 +<code bash>
 +cargo install javelin
 +# add an user with an associated stream key to the database
 +javelin --permit-stream-key="idiotstream:cc144117a8fe59af0f7f34ce9eca8f05" --rtmp-bind 46.101.213.56 --http-bind 46.101.213.56 
 +# start the server if not running
 +javelin run
 +</code>
 +couldn't get server/client to access 8080 to see the stream . trying the docker-compose way
 +===streamline===
 +https://github.com/streamlinevideo/streamline
 +
 +
 +===opencv>ffmpeg>hls===
 +[[https://www.nobile-engineering.com/wordpress/index.php/2018/10/30/video-streaming-hls-apache-nginx/|video-streaming-hls-apache-nginx]]\\
 +[[https://github.com/andreanobile/opencv_ffmpeg_streaming|opencv_ffmpeg_streaming]]
 +
 +
 ===optimizing=== ===optimizing===
   *https://www.wowza.com/blog/hls-latency-sucks-but-heres-how-to-fix-it   *https://www.wowza.com/blog/hls-latency-sucks-but-heres-how-to-fix-it
Line 23: Line 82:
 ====JSsip==== ====JSsip====
 https://tryit.jssip.net/ https://tryit.jssip.net/
- 
  
 ====SRT==== ====SRT====
  
 +https://www.haivision.com/blog/all/rtmp-vs-srt/ -- > {{:haivision_white_paper_rtmp_vs_srt_comparing_latency_and_maximum_bandwidth.pdf}}
 +
 +[[https://www.collabora.com/news-and-blog/news-and-events/low-latency-streaming-of-security-feeds-with-srt-and-gstreamer.html| gst and srt]]
  
 {{ youtube>SbvklCb0nNk?medium }} {{ youtube>SbvklCb0nNk?medium }}
Line 42: Line 103:
   ./srt-live-transmit udp://:1234 srt://:4201 -v   ./srt-live-transmit udp://:1234 srt://:4201 -v
 start a producer using ffmpeg [[https://www.bogotobogo.com/FFMpeg/ffmpeg_video_test_patterns_src.php|lavfi]] fakesource start a producer using ffmpeg [[https://www.bogotobogo.com/FFMpeg/ffmpeg_video_test_patterns_src.php|lavfi]] fakesource
-  ffmpeg -f lavfi -re -i testsrc=duration=300:size=1280x720:rate=30 -f lavfi -re -i sine=frequency=1000:duration=60:sample_rate=44100 -pix_fmt yuv420p -c:v libx264 -b:v 1000k -g 30 -keyint_min 120 -profile:v baseline -preset veryfast -f mpegts "udp://127.0.0.1:1234?pkt_size=1316"+  ffmpeg -f lavfi -re -i testsrc=duration=300:size=1280x720:rate=30 
 +   -pix_fmt yuv420p -c:v libx264 -b:v 1000k -g 30 -keyint_min 120 -profile:v baseline -preset veryfast 
 +   --f mpegts "udp://127.0.0.1:1234?pkt_size=1316"
  
 watch on vlc watch on vlc
Line 54: Line 117:
  
  
 +
 +====AZURE====
 +does support SRT, unlike aws. with thier end of life RTMP coming iin 2021
 +{{:pasted:20200705-002205.png}}
 +
 +https://azure.microsoft.com/en-us/blog/what-s-new-in-azure-media-services-video-processing/
  
 ====AWS==== ====AWS====
Line 121: Line 190:
   * https://securitytoday.com/directory/list/ip-video.aspx   * https://securitytoday.com/directory/list/ip-video.aspx
   * [[https://securitytoday.com/articles/2019/10/14/onvif-suspends-dahua-and-hikvision.aspx|onvif-suspends-dahua]]   * [[https://securitytoday.com/articles/2019/10/14/onvif-suspends-dahua-and-hikvision.aspx|onvif-suspends-dahua]]
 +
 +
 +==== scenario ====
 +
 +{{drawio>liveset}}
  
 ====test==== ====test====