댓글 검색 목록

[Nodejs] NodeJS를 사용하여 매일 코로나 바이러스 비디오 생성

페이지 정보

작성자 운영자 작성일 20-04-06 11:23 조회 883 댓글 0

지난 주 Github에서 오픈 소스 프로젝트로 출시 한 Shotstack 용 코로나 바이러스 비디오 데모를 진행하고 있습니다.


https://dev.to/shotstack/generate-daily-coronavirus-videos-using-nodejs-lpo 


코로나 바이러스 사례와 데이터에서 우리의 세계 사망자가 매일 피드를 사용하면 COVID-19 전염병의 영향을 받는 각 국가에 대한 비디오를 생성 할 수 있습니다. 

바이러스의 기하급수적인 성장을 볼 수 있는 극적인 방법입니다.


다음은 3 월 28 일부터 미국 용으로 제작 된 비디오의 예입니다.



YouTube 재생 목록에서 몇 가지를 더 볼 수 있습니다.


비디오를 만드는 방법 


이 프로젝트는 Node JS로 작성되었으며 Github에서 사용할 수 있습니다. 

스크립트는 npm (또는 Yarn) 명령을 사용하여 실행할 CLI 도구로 설정되었습니다.


첫 번째 단계는 다음에서 저장소를 체크 아웃 하는 것입니다.

https://github.com/shotstack/coronavirus-data-video-demo


이 프로젝트는 Shotstack 비디오 편집 API에 의존하므로 키가 필요합니다. 웹 사이트 https://shotstack.io를 통해 무료 키에 가입 할 수 있습니다.


readme 파일의 지시 사항에 따라 종속성을 설치하는 방법을 보여주고 API 키와 사용 가능한 명령으로 .env 파일을 설정하십시오.


주요 명령은 다음과 같습니다.


npm run dataset


그러면 World In Data에서 최신 CSV 파일을 다운로드하여 유럽 질병 예방 및 제어 센터 (ECDC)에서 데이터를 제공합니다. 데이터는 매일 업데이트됩니다.


npm run list


CSV 파일에서 사용 가능한 데이터가 있는 국가 목록이 표시됩니다.


npm run generate -- --country 'United States'


npm run list 명령을 사용하여 표시 한대로 선택한 국가를 사용하여 API로 렌더링 하기 위해 비디오를 대기 시킬 수 있습니다.


스크립트는 5 초마다 API를 폴링하고 약 20 초 후에 브라우저에서 다운로드하거나 재생할 수 있는 비디오 파일 인 비디오 URL이 반환됩니다.


작동 원리 


Shotstack 비디오 편집 API는 코드를 사용하여 비디오 편집을 자동화 할 수 있는 클라우드 기반 비디오 편집기입니다. 

JSON을 사용하여 비디오를 구성하는 방법, 즉 비디오, 이미지, SVG, 오디오, 텍스트 및 HTML과 같은 미디어 유형과 함께 클립을 자르고 순서를 지정하는 방법을 지정합니다.


JSON 편집 사양은 API에 게시되어 모든 에셋을 결합하고 최종 비디오를 저장하며 URL을 mp4 파일로 반환하는 렌더링 엔진을 호출합니다. 

사용 가능한 기능, 인증 및 API 요청에 대해 검증 된 메소드를 제공하는 Node SDK도 사용할 수 있습니다.


fast-csv 패키지를 사용하면 스크립트는 먼저 CSV 파일을 반복하여 데이터를 국가별로 그룹화 합니다.


그런 다음 국가 데이터는 사용자 선택에 따라 필터링 되어 데이터를 반복하는 generateVideo 메소드로 전송되며 매 2 프레임 (0.08 초)마다 사건 수, 사망 및 날짜가 포함 된 카운터가 증가합니다.


데이터는 Shotstack SDK로 전달되어 프레임과 텍스트, 배경 비디오 및 편집 내용이 자동으로 구성된 사운드 트랙과 함께 생성됩니다.


마지막으로 완전한 편집 JSON 데이터가 렌더링 될 API에 게시됩니다.


이 프로세스는 사용자가 선택한 모든 국가에 대해 반복 될 수 있으며 이론상 CSV 파일의 모든 국가 및 데이터는 매일 한 번에 자동으로 대기하고 렌더링 될 수 있습니다.


오픈 소스 및 저작권 


코로나 바이러스 전염병은 어리석은 상황이지만 이것이 우리 API의 능력에 대한 유용한 데모가 되기를 바랍니다. 

이 비디오가 얼마나 실용적인지 잘 모르겠지만 프로젝트를 복제하고 실험 해보고 (무료로 시작할 수 있음) 창의력을 발휘해 보다 영향력 있는 것을 만들 수 있기를 바랍니다.


이 코드는 MIT 라이센스에 따라 공개되며 사용 된 모든 자산은 CC0이므로 사용자를 확인하거나 로열티 또는 수수료를 지불하지 않고도 어디서나 사용할 수 있습니다. 물론 자신의 자산을 사용할 수 있습니다.


GUI 구축 


향후 몇 주 동안 사용자가 드롭 다운 목록에서 국가를 선택하여 비디오를 만들 수 있는 프런트 엔드 웹 인터페이스를 구축하려고 합니다. 

유용하다고 생각되거나 더 나은 아이디어가 있다면 아래에 의견을 남겨주십시오.



댓글목록 0

등록된 댓글이 없습니다.

웹학교 로고

온라인 코딩학교

코리아뉴스 2001 - , All right reserved.