Media4 ffmpeg shaka packger로 인코딩, mpd 파일 생성하기 Description FFMPEG 및 shaka-packager를 이용한 dash 인코딩 및 패키징 스크립트 How to Use Dependencies python3 (3.6이상) ffmpeg h-264 codec shaka-packager Using 파일에서 shaka-packer 경로를 수정해야 함 $ python3 encode_mpd.py video_path.mp4 Packaging completed successfully. 두번 나와야함 ./dest_video_path/live, ./dest_video_path/ondemand 폴더에 mpd 파일 및 비디오 세그먼트가 생성됨 Test index.html Reference Media encoding (https://google.github.io/sh.. 2023. 2. 3. node.js 비디오 비교하기 두 비디오가 같은 영상인지 확인하기 let hashes = [] let isSame = false let folderlist = ['original.mp4', 'newvideo.mp4'] let rs = fs.createReadStream(videopath, {flags:'r'}) let buffer /// 큰 비디오 파일을 한번에 읽을 수 없어서 이벤트 방식으로 읽어온 데이터를 하나로 합침 rs.on('data', chunk => { buffer += chunk }); // 파일을 다 읽었으면 해쉬 체크 rs.on('end', () => { hashes.push(sha1.sync(buffer)) if (hashes.length == folderlist.length){ isSame = hashes.eve.. 2023. 2. 3. node.js HTTP 분할 다운로드 서버 HTTP 분할 다운로드 서버 http.createServer(function (req, res) { fs.access(path, (err) => { if(err){ res.writeHead(404, { "Content-type": "text/plain" }); res.write("404 Not Found\n"); res.end(); return; } else{ const range = req.headers.range; let [start, end] = range.replace(/bytes=/, "").split("-"); start = parseInt(start); end = parseInt(end); res.statusCode = 206; res.write(data.subarray(start, end .. 2023. 2. 3. bittorrent 정리 P2P BitTorrent 동작원리 Torrent 파일 (.torrent) 다운로드 토렌트 파일 구조 Torrent Filename Info Hash: 파일 식별자, ____으로 표시된 4개 값으로 생성됨. 하나라도 변경될 경우 해쉬 값 바뀜 Tracker Tracker URL: 파일을 공유하는 피어들의 정보를 관리하는 서버 (트래커) 주소 (다수의 트래커를 이용할 수 있음) Tracker URL ... Meta Data Directory: 파일 다운로드 위치 = Files에 적힌 여러 개의 파일을 포함시켜 배포할 수 있음 Created On Created By Comment Piece Length: 통신 시 주고받는 파일 조각의 크기 Private Files Filname/Filesize: 공유하는 실.. 2023. 2. 3. 이전 1 다음