Google 드라이브에서 zip 파일을 다운로드하고 있습니다. 이 파일에는 mp4 비디오가 포함되어 있으며 다운로드가 완료될 때까지 기다리고 싶지 않습니다. VLC는 불완전한 파일을 잘 재생하지만 다운로드한 파일은 mp4 파일이 아닌 zip 파일입니다. wget
아마도 다운로드를 필터로 직접 스트리밍하여 사용하고 funzip
파일로 출력한 다음 스트리밍 비디오처럼 재생할 수 있는 가장 쉬운 방법일 것입니다. 하지만 Google 드라이브에서 다운로드할 수 없었고 wget
계속해서 ERROR 400
잘못된 요청 오류가 반환되었습니다. Chromium에서도 같은 일이 발생했기 curl
때문에 Chromium으로 해결해야 했습니다. 이렇게 하면 다운로드하는 대신 불완전한 파일에서 전송해야 합니다.
현재 다운로드 중인 파일을 사용하여 이를 파이프하는 쉬운 방법이 있습니까 funzip
?
답변1
tail -n +0 -f /path/to/file | funzip ...
기본적으로 tail은 파일 길이의 변화를 모니터링하고 추가 바이트를 계속 스트리밍합니다. 그러나 다운로드가 언제 완료되는지 알 수 없으므로 스트림 작업에 따라 특정 시점에 다운로드를 종료해야 할 수도 있습니다.
물론 브라우저가 파일을 선형적으로 다운로드하려고 시도하며 파일이 부분적으로만 다운로드되었음을 나타내는 메타데이터가 기록되지 않을 것이라고 가정합니다(나중에 실제 파일 바이트로 덮어쓰게 됩니다). 실제로 브라우저의 다운로더는 매우 보수적이므로 이것이 작동할 것으로 예상할 수 있습니다.