Youku 및 iQiyi와 같은 비디오 웹사이트를 구축하는 방법, 기술적인 어려움은 무엇입니까?

너무 많은 사람들이 나에게 이런 질문을 했습니다.

Youku와 같은 비디오 웹사이트를 구축하는 방법은 일반 그래픽 웹사이트와 매우 다르며 주의해야 할 함정은 무엇입니까?

다음으로 저는 Youku 플랫폼 개발 엔지니어로서 이 질문에 일반적으로 대답하겠습니다.

우선 일부 일반 개발자(비디오 분야 이외의 사람들)에게 널리 알리고 싶습니다. 비디오 웹사이트는 많은 그래픽 웹사이트와 본질적으로 다릅니다. 둘을 혼동하지 마십시오.

Youku 창립 초기(2006년), Yongqiang Koo 사장은 Youku의 기술 플랫폼, 즉 "가장 빠른 것이 왕이다"라는 기조를 세웠습니다. 나중에 사실은 이 원칙이 Youku가 많은 플랫폼 중에서 눈에 띄는 데 도움이 되었으며 일반적으로 최종 사용자의 환영을 받았다는 사실을 입증했습니다.

따라서 저는 Youku 플랫폼의 전 R&D 부서장으로서 이 아이디어를 엄격하게 준수하여 구현합니다. 정말 이 정도 규모의 영상 플랫폼을 구축하고 싶다면 기술적인 난이도가 사실 상당히 크다(구덩이를 밟아본 사람에게는 별거 아닌 것처럼 보인다).

우선, "가장 빠른 것이 왕이다"라는 목표를 진정으로 달성하려면 발전을 뒷받침할 충분한 자본 준비금이 있어야 합니다.

Youku 창립 1주년(2007년) 이후 Koo Yongqiang은 Tencent와의 단독 인터뷰에 응해 "가장 빠른 것이 왕이다"라는 Youku의 전략을 대중에게 설명했습니다.

내역을 열어서 직접 확인할 수 있으므로 여기서는 반복하지 않겠습니다.

https://www.cyzone.cn/article/920.html  

둘째, 강력한 기술 개발팀이 필요합니다.

Gu Yongqiang은 그때 소후에서 나왔는데, 초기에 1,300만 달러의 투자를 받은 이후 2006년에 비디오 업계의 유명 인사들을 많이 끌어들여 그와 함께 일하게 되었습니다. 6년 넘게 열심히 일한 업계, 3년 뒤 합류한 핵심팀의 일원으로서 대규모 그룹인 유쿠에서도 많은 연습을 쌓았습니다.

"빠른 것이 왕이다"라는 네 가지 단어를 실천하려면 "빠른 릴리즈, 빠른 검색, 빠른 재생"이 필요합니다 .

핵심 기술 수준에서는 다음과 같은 전문 기술이 필요합니다.

1. 신속 방출 기술

이러한 측면에서는 비디오 프로그램의 빠른 업로드와 빠른 트랜스코딩이 필요합니다.

동영상을 빠르게 업로드하기 위해서는 동영상 콘텐츠의 대규모 동시 업로드와 재개 가능한 업로드가 필요합니다. 이에 우리는 C 언어를 사용하여 업로드 서버를 독립적으로 구현합니다. 현재 단일 서버는 최대 1,000명의 동시 사용자가 업로드할 수 있도록 지원합니다. 동시에 지원은 H5의 재개된 전송을 기반으로 합니다.

빠른 트랜스코딩을 잘 수행하려면 이 측면에 더 높은 기술적 내용이 있어야 합니다. 13년 후에 현재 Intel CPU를 사용하여 1080P Blu-ray 고화질 비디오를 변환하여 몇 배 더 빠르게 트랜스코딩할 수 있는지 확인할 수 있습니다.

몇 년 전 Youku 플랫폼에는 3,000개 이상의 서버가 있었고 그 중 거의 절반이 비디오 트랜스코딩에 사용되었습니다. 기술 개선과 최적화를 거쳐 이 분야에서 큰 기술적 도약이 이루어졌습니다. 현재 30단 트랜스코딩을 지원하며 특정 세부 정보를 추가할 수 있어(1918098288) 프로그램 출시의 실시간 성능이 크게 향상되고 운영 비용이 효과적으로 절감됩니다.

2. 빠른 검색 기술

2007년 12월 21일, Youku의 일일 비디오 조회수(VV)가 1억을 초과했습니다.

이것은 무엇을 보여줍니까? 매일 최소 1억 명이 귀하의 동영상 콘텐츠를 검색합니다.

사용자 방문이 급증함에 따라 Youku의 콘텐츠 검색 기술도 초기 데이터베이스 읽기 및 쓰기 분리에서 수직 하위 데이터베이스, 수평 하위 테이블, 메모리 기반으로 여러 번 개선되었습니다. 데이터베이스, 전체 텍스트 검색 및 분산 데이터베이스 , Hadoop, 캐싱 및 기타 기술의 공동 적용을 통해 대량 콘텐츠 검색의 응답 시간을 밀리초 단위로 실현할 수 있습니다.

3. 빠른 재생 기술

전국 수억 명의 네티즌과 거대한 콘텐츠 리소스 라이브러리에 직면하여 빠른 콘텐츠 재생을 달성하는 것은 플랫폼 아키텍처와 핵심 기술 역량에 대한 심각한 도전입니다.

우리 모두 알고 있듯이 비디오 데이터는 인터넷에서 전송되는 데이터 중 가장 큰 유형입니다. 텍스트나 사진과 달리 데이터의 양은 최대 수백 KB에 불과하고, 동영상의 트래픽은 초당 수 MB에 달하며, 초당 데이터베이스는 사진의 10배 이상입니다.

또한 이러한 대규모 데이터베이스를 전송하려면 중단 없이 연속성과 안정성을 달성해야 하므로 서버 성능 및 스트리밍 미디어 소프트웨어 성능에 대한 요구 사항이 매우 높습니다.

기능 측면에서 스트리밍 미디어 서버는 다중 터미널 및 다중 프로토콜 게시(예: HLS, HTTP-TS, HTTP-FLV, DASH, RTMP)를 지원해야 하며 다중 스트림 적응(사용자에게 제공)을 지원해야 합니다. 최고의 시청 경험을 제공), 다중 서버 로드 밸런싱 및 높은 동시 성능을 지원해야 합니다.

따라서 당사의 스트리밍 미디어 기술은 200개의 동시성을 지원하는 초기 단일 서버부터 현재 5,000개의 동시성을 지원하는 데까지 N번의 기술 반복을 거쳤습니다.

또한, 스트리밍 미디어 서버의 성능 향상은 단일 서버의 처리 능력을 의미할 뿐이며, 전국 수억 명의 사용자에게 접근하려면 수천 대의 서버가 구축되어야 하며, 이러한 서버는 주요 노드에 분산되어야 합니다. 대도시, 지방 수도, 동부 2선 도시의 각종 IDC 전산실을 포함한 국내 전체 인터넷. 세부정보를 추가할 수 있습니다(1918098288). 이러한 스트리밍 미디어 서버를 배치한 후 유기적인 전체로 연결하고 콘텐츠 배포 기술을 사용하여 초대형 CDN 콘텐츠 배포 네트워크를 형성하여 비디오 콘텐츠와 사용자의 신속한 배포를 실현해야 합니다. ' 근처의 온디맨드와 같은 한편으로는 사용자의 시청 경험을 크게 향상시키는 동시에(재생 응답이 빠릅니다), 다른 한편으로는 플랫폼의 자본 투자(2급 도시의 대역폭)도 크게 절약합니다. 1급 도시에 비해 훨씬 낮습니다.)

서버 클러스터 로드 밸런싱 및 CDN 구축 측면에서 Youku 플랫폼은 투자 비용을 통제하기 위해 F5와 같은 하드웨어 솔루션을 선택하지 않고 자체 개발한 소프트웨어를 사용하여 이를 달성했습니다. 매우 좋은 성과를 거두었으며 비디오 배포 측면에서 일부 전문 CDN 서비스 제공업체(예: Lanxun 및 Wangsu)를 능가했습니다.

위의 부분 외에도 다음과 같이 고려해야 할 다른 많은 기술적 세부 사항이 있습니다.

대규모 동시 실시간 메시징 시스템 이 시스템은 사용자가 비디오를 보거나 실시간 문자 채팅을 할 때 실시간 자막을 제공하는 데 사용됩니다. 이러한 종류의 동시성은 종종 수백만 수준에 이릅니다.

서버 의 로드 밸런싱은 웹 서버가 주로 프로그램 메타데이터 정보(주로 그림 및 텍스트 정보) 표시를 제공하는 데 사용되기 때문에 대규모 동시 액세스의 경우 다중 서버 로드 밸런싱을 달성하는 방법, 분산 수행 방법 배포와 관련이 있습니다. 최종 사용자 경험은 직접적으로 관련됩니다.

플랫폼의 보안 보호에는 주로 웹사이트 CMS 시스템의 보안과 공용 네트워크 서버의 공격 방지(예: DDOS 공격) 기능이 포함됩니다.

프로그램 저장 장치의 읽기 및 쓰기 성능 역시 플랫폼의 전반적인 서비스 성능을 테스트하는 핵심 요소입니다. 비디오 콘텐츠의 엄청난 데이터 볼륨으로 인해 다양한 저장 매체(SATA 하드 디스크, SAS 하드 디스크, 솔리드 스테이트 하드 디스크) 및 다양한 스토리지 아키텍처는 콘텐츠 읽기의 응답 속도 및 데이터 처리량과 밀접한 관련이 있으므로 캐리어는 레벨 플랫폼은 이러한 측면에서 완벽한 디자인이 필요하며 Youku는 이와 관련하여 기술을 업데이트하고 반복해 왔습니다.

프로그램 메타데이터 정보의 자동 추출은 향후 운영 및 유지 관리 비용과 관련이 있기 때문에 대규모 운영 플랫폼에도 중요합니다. 좋은 운영 플랫폼은 시스템을 설계할 때 이러한 원칙을 따르는 것입니다. 즉, 기계가 자동으로 수행할 수 있는 작업은 기계 작업에 비해 수동 작업 비용이 훨씬 높기 때문에 절대로 인력에 의해 수행되어서는 안 됩니다. 기계보다 훨씬 낮습니다. Youku 플랫폼에서는 모든 프로그램의 기본 메타데이터(프로그램 이름, 프로그램 기간, 프로그램 포스터, 재생 트랙 미리보기)가 프로그램을 통해 자동으로 추출되며 배경에는 수동 원클릭 포스터 차단 기능도 있습니다. 인건비를 대폭 절감합니다.

위 내용은 거시적 차원에서 고려한 몇 가지 핵심 사항일 뿐이며, 모든 기술 연계에는 많은 함정이 존재한다고 할 수 있으므로, 기본 운영 지원 플랫폼의 효율적인 운영을 위해서는 강력한 기술 개발팀이 매우 중요합니다.

오늘은 너무 많은 내용을 쓸 것이므로 아직 질문이 있으면 나중에 추가할 수 있습니다.

 

추천

출처blog.csdn.net/zhiboshequ/article/details/104485987