스트리밍에 관하여

박정호·2022년 3월 21일
0

ipfs로 올렸고, 플랫폼을 infura로 설정은 하였는데,

data를 다시 get 해 올때 infura api가 어떠한 로직을 제공해 주고 있는지 확인을 못했다.

참고하도록 블록체인 + 스트리밍 서비스를 하고 있는 체인플릭스를 링크 첨부한다.
https://www.chainflix.net/popularity

좋아요 혹은 조회수 등은 뭐 외부 db로 처리가 된다고 생각하는데
봤던 재생시간 등의 저장은 보통 어떻게 할까? 그것 역시 외부 db로 처리가 될 것 같은데

그럼 vimeo 같은 api는 어떠한 장점을 가지고 사용하는 것인가?

드는 궁금점은 체인플릭스는 스트리밍을 자체 구축으로 진행한 것인가
아니면 api를 끌어다 쓰는 형태인가.

정리하자면 같은 선상에 둘 수 있는건

infura vimeo wowza youtube 일 것이다.

http 프로토콜은 텍스트, 이미지 데이터 전송을 위해 설계된 프로토콜이지 동영상이나 음악에 대한 실시간 전송을 하기 위해 만든 프로토콜은 아닙니다.
동영상이나 음악 서비스 제공자들이 스트리밍 서비스를 별도로 운영하는게 괜히 하고 싶어 하는게 아닙니다..

ipfs streaming 기술 분석

  1. https://github.com/REVOtic/ipfs-streaming
    FFMpeg 사용

  2. https://fission.codes/blog/experimenting-with-hls-video-streaming-and-ipfs/
    HLS
    <hls 참고>
    https://medium.com/revotic/streaming-with-ipfs-2145e6df5a4e

  3. https://github.com/tomeshnet/ipfs-live-streaming
    언어가 달라서 자세히 안봤음

  4. discuss 흥미로워서 가져와봄
    https://discuss.ipfs.io/t/is-it-possible-to-use-ipfs-for-live-video-streaming/1115

<실시간 방송 웹>
https://okky.kr/article/1005957?note=2442070
음... 생각을 좀 해보자

예제
https://medium.com/@HoseungJang/node-js-express-hls%EB%A1%9C-%EB%8F%99%EC%98%81%EC%83%81-%EC%8A%A4%ED%8A%B8%EB%A6%AC%EB%B0%8D%ED%95%98%EA%B8%B0-46006408a0e6
미디어 파일을 일단 ffmpeg로 어떠한 처리를 하고,
미디어 플레이어는 hls를 사용하고,
미디어 저장 등은 s3 같은 플랫폼을 이용한다.
ffmpeg를 통해 미디어가 어떠한 변화가 있는지 로그를 봐야할 것 같다.
그리고 ffmpeg 처리를 받은 데이터를 바로 ipfs로 쏴줘도 되는지 이것도 고려를 해봐야한다

<hls.js git>
https://github.com/video-dev/hls.js/

레딧을 보니 libp2p를 언급한다. ipfs.io에 libp2p에 대한 언급이 나오는 걸 보니 이미 내장되어 있는건가?
https://www.reddit.com/r/ipfs/comments/lfp123/could_a_streaming_site_be_hosted_on_ipfs_reliably/
https://blog.naver.com/PostView.nhn?isHttpsRedirect=true&blogId=hmmhmmhm&logNo=221400156082&parentCategoryNo=&categoryNo=1&viewDate=&isShowPopularPosts=false&from=postView

HLS 서버의 예제가 있는데 서비스의 프로세스를 훑기 좋다
https://okky.kr/article/1001988?note=2435714

암튼 위에 이러한 과정들이
vimeo youtube wowza 등에서 제공을 하고 있는 서비스일 것이라 생각한다.

hls에 대한 간략한 설명이 있다
https://okky.kr/article/1084796?note=2560458

일단 ffmpeg로 생각을 흘렸는데
이걸 stream 라이브러리와 연결시킬 수 있을까? ffmpeg에 achiver 같은게 들어가 있는건가?

profile
개발하기

0개의 댓글