>  기사  >  웹 프론트엔드  >  Bilibili의 오픈 소스 HTML5 플레이어 코어 flv.js에 대해 어떻게 생각하시나요?

Bilibili의 오픈 소스 HTML5 플레이어 코어 flv.js에 대해 어떻게 생각하시나요?

PHP中文网
PHP中文网원래의
2017-03-18 09:41:1012827검색

flv.js는 세 가지 작업을 수행합니다.

3. 동영상 라이브 방송의 경우 HTML5는 지연 시간이 매우 짧은 HTTP FLV 재생을 지원하므로 Flash에 대한 웹 라이브 방송의 의존성을 제거합니다.

어떤 사람들은 제가 왜 MP4 형식을 직접 사용하지 않는지 물었고, MP4 형식을 싫어한다고 말했습니다.
이 문제는 과거의 유산입니다. 초기 단계에서 비디오 웹사이트는 전적으로 Flash 재생에 의존했기 때문에
다른 한편으로는 FLV 형식을 선택했습니다. FLV/MP4 패키징 형식을 주의 깊게 연구해 보면 FLV 형식이 매우 단순하다는 것을 알게 될 것입니다. MP4의 내부 상자는 다양한 유형이고 구조가 복잡하고 견고하며 중복되는 데이터가 너무 많습니다. FLV는 고유한 스트리밍 특성을 갖고 있어 네트워크 스트리밍에 적합한 반면, 가장 널리 사용되는 저장 형식인 MP4는 디자인이 반드시 우아하지는 않습니다.
여기서는 멀티미디어 캡슐화 형식의 장단점에 대해 이야기하고 싶지 않습니다. flv.js는 HTML5에서 사용자 정의 비디오 형식 재생을 구현하고 미디어 소스 확장

, Fetch API 및 ECMAScript 6과 같은 HTML5/웹의 최신 기술을 최대한 활용하고 다음 API로 테스트하는 좋은 예입니다. 개발 과정에서 Edge의 Fetch API 지원에 버그가 있다는 사실이 발견되었습니다. 다양한 브라우저에서 MSE 구현 세부 사항에 약간의 차이와 문제가 있음이 발견되었습니다. Safari의 MSE 구현이 덜 견고하다는 것이 발견되었습니다. 🎜> in flv .js 프로젝트 초기에는 MSE(Media Source Extensions)가 중국에 알려지지 않았지만 MSE API는 지난 4년 동안 발전했으며 HTML5 멀티미디어와 관련된 가장 중요한 API 중 하나입니다. MSE는 HTML5에서 사용자 정의 형식 재생을 구현하는 핵심입니다. flv.js의 오픈 소스도 MSE가 더 널리 이해되고 적용될 수 있기를 바랍니다.
마지막으로 Chrome과 같은 브라우저는 Flash 제거 프로세스를 가속화하고 있습니다. HTML5 비디오는 고성능 하드 해상도로 구현되었습니다. MSE는 현재 미디어 형식 확장 프로그램을 보완하는 역할을 합니다. HTML5 멀티미디어 기술은 Flash의 노후화를 넘어섰습니다. 형님 대단하네요... 처음 h5 플레이어가 나왔을 때 Station B가 emscripten을 사용하여 flv2mp4(어쨌든 asm.js는 있습니다) 같은 C++ 프로그램을 캡슐화한 다음 Blob에 넘긴 줄 알았습니다. API를 사용하고 비디오 태그로 스트리밍... 결국 MIDI 플레이어를 만들었습니다(https://

ACGSounds.com
) 아마 이렇게 플레이했을 텐데... 그런데 flv.js가 오픈 소스였나... 깜짝 놀랐어요! 실제로 네이티브 js를 사용하여 메타데이터, AAC 스트림 및 비디오 스트림을 직접 읽은 다음... 리먹스(videojs-contrib-hls에서 영감을 받아 ffmpeg와 같은 작업에 emscripten을 사용하여 큰 뉴스를 만들었습니다... 팩 진짜 무섭다... 이 flv.js는 flv를 비디오 컨테이너로 사용하고 html5 플레이어에서 재생할 때 발생하는 어려움을 해결합니다. 그러나 이는 미디어 소스 확장으로 구현되며, 이는 이 인터페이스를 사용하는 좋은 긍정적인 예를 제공합니다. 좋은 점이지만 큰 한계가 있습니다flv를 사용하는 다른 사이트에서는 계속해서 플래시를 사용하여 고급 광고 기능(예: 저장 공간을 순수 mp4로 변환저희 같은 제3자)을 구현할 예정입니다. Cors에 의해 차단되어 달성하기 어렵습니다
(누군가가 앞서 관련 사람들에게 왜 여전히 flv를 저장하는지 물었고, 플래시는 조만간 죽을 것입니다. 대답은 "그냥 재다중화 작업일 뿐입니다"이며 비용이 들지 않습니다. 많은 리소스”...)
하지만 완전히 불가능한 것은 아닙니다
제3자가 스테이션 b의 flv를 재생하기 위해 flv.js를 도입해야 하는 경우 가장 쉬운 방법은
http://
xxx.xxx.xxx.xxx/ws.acgv

ideo.com

주소는 모든 도메인 이름 재생 지원을 받을 수 있습니다 오늘 밤에 저희 쪽에서 지원해 보려고 합니다정정: hls.js 코드를 본 적이 없어서 C++ 코드에서 변환한 것으로 유지나 수정이 불가능한 것으로 가정합니다. 댓글에 수정사항이 있으니 댓글을 읽어보시면 됩니다. 또한 웹 측 비디오 재생을 위한 인프라가 서서히 성장한 것 같습니다. http+WebSocket+MSE+MPEG 대시+비디오 태그+오디오 태그+WebGL+WebRTC를 결합할 수 있어야 합니다. 네이티브 수준(비네이티브)보다 약하지 않은 비디오 재생 시스템 지금은 온라인 편집 및 믹싱을 생각하지 마세요. 현실적이지 않습니다.) 현재 각 모듈의 내부 성숙도는 충분하지 않지만 개발이 진행 중입니다. 복잡한 웹 비디오 애플리케이션을 위한 조건은 이미 준비되어 있습니다. 광고용으로 플래시를 고수하는 다른 제조업체들에게 bilibili는 신선한 공기의 숨결입니다. . . 저는 이 망할 웹사이트를 좋아합니다. . (゜-゜)つ로 한 가지만 말씀드리자면, 이런 일을 할 수 있다는 것은 참으로 긍지와 자부심을 가질 만한 일이고, 이를 해내는 과정은 참으로 감탄할 일입니다. 앞줄 막 Qianqian. @qianqian 저는 허벅지를 플래시로 로스팅하는 것에는 관심이 없습니다. 어쨌든 선저우가 가득 차면 온도는 50~60도에 불과합니다. . . 내가 걱정하는 것은!
HTML5는 충돌 없이 수십 개의 동영상을 열 수 있습니다!
플래시가 7개 이상 있으면 반드시 죽습니다! 좋은 오픈소스 프로젝트입니다. 그러나 실험적이고 백업적인 솔루션이 될 가능성이 더 높습니다.
기본적으로 이는 미디어 소스 확장의 구현에 달려 있습니다.
이것은 기본적으로 모바일 측에서 iOS Safari에 액세스할 수 없으므로 단기적으로 브라우저에서 flv 재생을 모바일 측으로 가져올 가능성이 차단된다는 의미입니다.
구현 아이디어 측면에서는 비디오 리소스 슬라이스를 직접 가져온 다음 이를 연결하여 비디오 요소에 공급하는 hls.js에 더 가깝습니다.
마지막으로, 이것이 플래시 및 비디오 웹사이트 솔루션에 대한 또 다른 긍정적인 도전이기 때문에 이것이 오랫동안 지속되기를 바랍니다. 게다가 오픈소스, 오픈소스, 오픈소스입니다! Mac에서 Bilibili 시청 시 컴퓨터가 꺼지는 문제 해결
그런데, 주요 동영상 사이트에서 탄막 기능을 켜두었기 때문에, 탄막 기능을 켜자마자 컴퓨터가 뜹니다. 생각해 보면 여전히 Bilibili의 양심입니다. 저는 RTB 회사의 프런트엔드에서 놀고 있으며, 일부 비디오 재생을 flv.js로 대체하는 경우가 많습니다. 뭐, 더 나아지길 바랍니다

위는 Bilibili(빌리빌리)의 오픈소스를 보는 방법입니다. HTML5 플레이어 코어 flv.js에 대한 자세한 내용은 PHP Chinese의 다른 관련 기사를 주목해주세요. 자세한 내용은 웹사이트!

관련 기사:

flv.js 코드의 종합적인 해석

오픈 소스 코드 flv.js 사용 지침

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.