나는 youtube-dl 을 사용하여 YouTube 비디오의 바이너리 스트림의 URL을 얻습니다. 어떤 이유로 든 다운로드하고 싶은 경우 다음과 같이합니다.
youtube-dl -f bestaudio -g --skip-download https://www.youtube.com/watch?v=nk5YtLYcH74
URL을 얻은 후 어떻게 든 다음과 같이 말립니다 .
https://r6---sn-gqn-vhgl.googlevideo.com/videoplayback\?id\=afe82f21e356....
또는 출력을 물론 파일로 전달할 수 있지만 이것은 설명하기위한 것입니다. 나는 그것을 다운로드하고 싶지만 curl은 아니지만 Scala HTTP 클라이언트를 사용하여 지금은 akka-http 입니다. 하지만 그렇게하면 :
IllegalResponseException: Response Content-Length 195022703 exceeds the configured limit of 8388608
나는 이것이 큰 스트림이라는 것을 알고 있지만 어떻게 자동으로 curl을 수행합니까? 청크를 어떻게 요청하거나 어떻게 작동합니까? Scala / Java로 어떻게 작성해야합니까?
일부 코드 및 기타 :
val connectionFlow = Http().outgoingConnectionTls(hostname)
val responseFuture =
Source.single(HttpRequest(uri = path, method = GET))
.via(connectionFlow)
.runWith(Sink.foreach[HttpResponse] { r =>
logger.info(s"${r.status}")
})
기본 콘텐츠 길이는 akka-http의 경우 8M입니다.
application.conf 파일에서 akka http 클라이언트 구문 분석에 대한 max-content-length 값을 늘리면 제대로 작동합니다.
akka.http.client.parsing.max-content-length =78m
이 링크에 대한 conf 및 정보에 대한 자세한 내용 http://doc.akka.io/docs/akka-stream-and-http-experimental/1.0/scala/http/configuration.html
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다