Node.js로 비디오 제공

codeKiller

랩톱에서 로컬 네트워크로 비디오를 제공하기 위해 간단한 Node.js 서버를 작성하고 있습니다.

나는 최선의 방법을 확인하기 위해 주변을 검색하고 있었고 두 가지 방법을 찾았습니다 .nodejs를 사용하여 비디오 파일을 제공 할 때 다른 방법보다 선호되는 방법이 있는지 알아내는 데 도움이 필요합니다.

비디오 파일은 거대한 비디오 파일, 영화 크기입니다 ....

옵션 1 : Express 사용 :

Express 서버에 대한 모든 일반적인 상용구 코드를 만든 후 비디오를 보낼 때 다음과 같은 작업을 수행하는 사람들을 보았습니다.

app.get('/getMovie', (req, res) => {
    res.sendFile('assets/video.mp4', { root: __dirname });
});

옵션 2 : Http 사용 :

이 옵션의 경우 http 서버 등을 만든 후 사람들은 먼저 ReadStream을 fs만든 다음 비디오를 보냅니다. 다음과 같은 것 :

res.writeHead(200, {'Content-Type': 'video/mp4'});
let readStream = fs.createReadStream("movie.mp4");
readStream.pipe(res);

나에게 옵션 2는 대용량 비디오 파일의 경우 더 합리적으로 들리지만 어떤 것이 가장 좋으며 그 이유는 확실하지 않습니다.

Express server-static은 범위 요청을 수락하므로 실제로 한 번에 전체 비디오 파일을 제공하지 않습니다.

범위 요청을 통해 클라이언트는 청크 단위로 비디오를 요청할 수 있습니다. 헤더가 비디오 시작 부분에 있으면 클라이언트가 비디오를 다운로드 할 때 재생을 시작할 수 있습니다.

브라우저 검사의 아래 네트워크 메시징 (이 경우 safari)은 범위 요청을 수락하는 비디오에 대한 서버 요청의 예를 보여줍니다.

여기에 이미지 설명 입력

응답에는 클라이언트 (이 경우 브라우저)에게 서버가 범위 요청을 수락 함을 알리는 정보가 포함되어 있음을 볼 수 있습니다.

이미지 왼쪽에있는 다음 요청을 보면 시작에서 끝 바이트까지 청크별로 비디오 청크를 요청하는 것을 볼 수 있습니다. 예를 들어 다음은 81920 ~ 98303 바이트에 대한 요청 및 응답입니다.

여기에 이미지 설명 입력

Express serve-static에 대한 자세한 내용은 http://expressjs.com/en/resources/middleware/serve-static.html 에서 확인할 수 있습니다 .

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Heroku로 Node.js 앱을 배포 할 때 공개 디렉토리 문제

분류에서Dev

Node.js로 새 데이터 제공

분류에서Dev

node.js로 무들 LMS 제공

분류에서Dev

Node.js의 오류 메시지에 제공된 번호

분류에서Dev

FFmpeg로 비디오 파일에서 오디오 제거

분류에서Dev

Node 서버의 비디오 스트림이 Firefox에서만 제대로 작동하지 않습니까?

분류에서Dev

Flash 비디오로드 문제

분류에서Dev

AWS Elastic Beanstalk-monorepo (하위 디렉터리)에서 node.js 앱 제공

분류에서Dev

Node.JS-Simple Socket.IO 예제가 작동하지 않습니다. 디버그 가져 오기-정적 콘텐츠 제공 /socket.io.js(Mac OSX / Localhost)

분류에서Dev

node.js가 "생성자가 아닙니다"오류를 제공하는 Typescript

분류에서Dev

node.js에서 gzip으로 압축 된 빌드 제공

분류에서Dev

Node.js 및 AngularJS로 정적 파일 제공

분류에서Dev

Node.js의 Kinesis 비디오 스트림에 미디어 넣기

분류에서Dev

레일 3의 ffmpeg에 의해 변환 될 비디오 경로에서 공간을 제거하십시오.

분류에서Dev

메모리 부족 오류를 제공하는 큰 비디오 파일 다운로드

분류에서Dev

ffmpeg가 비디오 및 오디오를 제대로 mux하지 못함

분류에서Dev

입력, 오디오 및 비디오-15.04로 업그레이드 한 후 문제

분류에서Dev

PHP에서 웹 루트 외부의 파일에서 html5 비디오 소스로 비디오를 제공하는 방법

분류에서Dev

비디오의 오디오 스트림 제거-FFMPEG로 오디오 또는 비디오를 변환하지 않고 재귀 적으로

분류에서Dev

비디오 js는 controlbar를 영구적으로 제거합니다.

분류에서Dev

node.js http 서버를 통해 js 및 기타 파일을 html로 제공

분류에서Dev

오디오와 비디오의 볼륨 제어 및 FFMpeg를 사용하여 특정 기간 동안 만 루프로 비디오에 짧은 오디오 추가

분류에서Dev

Apple 비디오에 제공된대로 Apple Watch 중앙 정렬 UI를 만드는 방법

분류에서Dev

Node.js : 페이지가로드 될 때 비디오의 첫 번째 프레임 표시

분류에서Dev

스트림을 사용하여 Node.js를 사용하여 Youtube에 비디오 업로드

분류에서Dev

iOS7에서 ShareKit으로 YouTube에 비디오 공유

분류에서Dev

360 비디오 용 ExifTools 프로세스의 Java Process Builder 공백

분류에서Dev

ffmpeg에 버퍼로 오디오 데이터 제공

분류에서Dev

비디오가 제대로 재생되지 않음, 비디오 드라이버 문제

Related 관련 기사

  1. 1

    Heroku로 Node.js 앱을 배포 할 때 공개 디렉토리 문제

  2. 2

    Node.js로 새 데이터 제공

  3. 3

    node.js로 무들 LMS 제공

  4. 4

    Node.js의 오류 메시지에 제공된 번호

  5. 5

    FFmpeg로 비디오 파일에서 오디오 제거

  6. 6

    Node 서버의 비디오 스트림이 Firefox에서만 제대로 작동하지 않습니까?

  7. 7

    Flash 비디오로드 문제

  8. 8

    AWS Elastic Beanstalk-monorepo (하위 디렉터리)에서 node.js 앱 제공

  9. 9

    Node.JS-Simple Socket.IO 예제가 작동하지 않습니다. 디버그 가져 오기-정적 콘텐츠 제공 /socket.io.js(Mac OSX / Localhost)

  10. 10

    node.js가 "생성자가 아닙니다"오류를 제공하는 Typescript

  11. 11

    node.js에서 gzip으로 압축 된 빌드 제공

  12. 12

    Node.js 및 AngularJS로 정적 파일 제공

  13. 13

    Node.js의 Kinesis 비디오 스트림에 미디어 넣기

  14. 14

    레일 3의 ffmpeg에 의해 변환 될 비디오 경로에서 공간을 제거하십시오.

  15. 15

    메모리 부족 오류를 제공하는 큰 비디오 파일 다운로드

  16. 16

    ffmpeg가 비디오 및 오디오를 제대로 mux하지 못함

  17. 17

    입력, 오디오 및 비디오-15.04로 업그레이드 한 후 문제

  18. 18

    PHP에서 웹 루트 외부의 파일에서 html5 비디오 소스로 비디오를 제공하는 방법

  19. 19

    비디오의 오디오 스트림 제거-FFMPEG로 오디오 또는 비디오를 변환하지 않고 재귀 적으로

  20. 20

    비디오 js는 controlbar를 영구적으로 제거합니다.

  21. 21

    node.js http 서버를 통해 js 및 기타 파일을 html로 제공

  22. 22

    오디오와 비디오의 볼륨 제어 및 FFMpeg를 사용하여 특정 기간 동안 만 루프로 비디오에 짧은 오디오 추가

  23. 23

    Apple 비디오에 제공된대로 Apple Watch 중앙 정렬 UI를 만드는 방법

  24. 24

    Node.js : 페이지가로드 될 때 비디오의 첫 번째 프레임 표시

  25. 25

    스트림을 사용하여 Node.js를 사용하여 Youtube에 비디오 업로드

  26. 26

    iOS7에서 ShareKit으로 YouTube에 비디오 공유

  27. 27

    360 비디오 용 ExifTools 프로세스의 Java Process Builder 공백

  28. 28

    ffmpeg에 버퍼로 오디오 데이터 제공

  29. 29

    비디오가 제대로 재생되지 않음, 비디오 드라이버 문제

뜨겁다태그

보관