동영상이 YouTube에서 시청되었거나 다운로드되었는지 여부를 네트워크 트래픽별로 알 수 있습니까?


1

제 질문은 인기있는 YouTube 다운로더에 관한 것입니다. youtube-dl (명령 행 프로그램) 또는 비디오 다운로드 헬퍼 (Firefox 브라우저 확장 기능).

두 가지 경우 비교 :

  1. YouTube에서 동영상보기
  2. 다운로더를 사용하여 비디오를 다운로드하십시오 (구체적으로 가정하십시오). youtube-dl )

예를 들어 네트워크 트래픽을 검사하여 동영상이 다운로드되었지만 YouTube에서만 "보지 못했다"고 말할 수 있습니까?

아마도 다음과 같은 프로그램을 사용하여 네트워크 트래픽을 비교할 수 있습니다. Wireshark ? 나는 그 자신을 할 수는 없지만, 아마도 이것은 누군가가 그 질문에 답하는 것을 도울 것입니다.


안티 복사 대책을 사용하는 특수 플레이어 + 스트림 콤보가 아닌 한 온라인 비디오를 재생할 때 로컬 컴퓨터에도 다운로드되며 브라우저 캐시에서 복사 할 수 있습니다.
— Karan

이 브라우저에 배경 조사를 캐시 해줘야합니다. 어쩌면이 방법을 통해 다운로드 할 때 간단한 비디오 시청에 차이가 발생하지 않는 방법 / 소프트웨어를 찾을 수 있습니다.
— humanityANDpeace

답변:


1

예, 네트워크 트래픽을 볼 때 두 가지 유스 케이스를 구분할 수 있습니다. 간단한 설명은 다음과 같습니다.

  • 당신이 원시 비디오 파일을 다운로드 할 때 youtube-dl한 번에 전체 파일을로드하는 것입니다.
  • 브라우저를 통해 YouTube 비디오를 시청할 때 Flash 클라이언트는 비디오를 청크로 다운로드합니다. 덩어리가 버퍼를 채우고 일단 버퍼가 다 쓰러지면 플레이어는 다음 덩어리를 가져옵니다.

요즘 HTTP를 통해 둘 다 할 수 있습니다. 비디오를로드 할 때 클라이언트 동작을 관찰 할 수 있습니다. 한 번에 완전히 다운로드되지 않습니다. 버퍼가 재생되고 다음 부분이로드됩니다. 이는 물론 여러 리소스가 하나의 리소스에 대해 여러 요청이 YouTube에 전송되므로 네트워크 트래픽에서 볼 수 있습니다.

Kuschnig et al. (아래 참조) :

비디오   세그먼트가 제공되는 크기가 lch 인 청크로 분할됩니다.   표준 HTTP 서버. 비디오 다운로드   청크는 클라이언트가 조정합니다. 이를 위해   클라이언트가 nc HTTP 기반 요청 - 응답 스트림을 유지 관리합니다.   각 스트림에 대해 별도의 대기열을 사용하여 여러 청크의 다운로드를 예약합니다

YouTube 스트리밍 트래픽에 대해 자세히 알고 싶다면 물론 더 자세히 설명 할 수 있습니다. 현재 YouTube 버퍼링 최적화 및 다양한 동영상 스트리밍 시나리오 분석에 대한 다양한 시뮬레이션 실험을 수행하고 있습니다.

추가 읽기 :

  • Kuschnig, Robert, Ingo Kofler, Hermann Hellwagner. "인터넷 비디오 스트리밍을위한 HTTP 기반 요청 - 응답 스트림 평가." 멀티미디어 시스템에 관한 두 번째 연례 ACM 회의의 진행. 2011 년 ACM PDF )

  • Stockhammer, Thomas. "HTTP를 통한 동적 적응 형 스트리밍 - 표준 및 설계 원칙." 멀티미디어 시스템에 관한 두 번째 연례 ACM 회의의 진행. ACM, 2011. ( PDF )


따라서 다운로더가 플래시 클라이언트와 비슷한 방식으로 데이터 요청을 모방 할 수는 없습니까? 올바른 사용자 에이전트 문자열과 함께, 차별화 할 수 있습니까?
— Karan

음, 그럼 물론 적절한 비디오 클라이언트 또는 단순히 다운 로더 역할을하는 것 사이에서 머리카락을 나눌 수 있습니다. 물론 당신은 맞습니다. 비디오 플레이어 요청을 모방 할 수 있고 사용자 에이전트 문자열을 변경하는 것이 트래픽을 모호하게하는 또 다른 방법 일 것입니다. . 네가 충분히 영리하다면 어떤 탐지 알고리즘을 속일 수있을거야.
— slhck

참된. 원래의 질문을 참고하면 Google / 음악 업계는 콘텐츠를 다운로드 할 수 있다는 사실을 모르는 것처럼 바보가 아닙니다 (종종 다운로드 가속기를 사용하여 서버에 여러 번 연결됨). 개인적인 용도로만 사용하거나 DRM을 도입하거나 인기를 떨어 뜨리거나 무기 경쟁에서 벗어나기를 원하지 않는 한 상관하지 않습니다. 어쨌든 저작권 소유자가 업로드하지 않은 모든 저작권 보호 콘텐츠가 YouTube에서 삭제 될 경우 많은 문제가 남아있을 것입니다. :)
— Karan

이 답변은 2012 년에 작성되었으며 현재의 환경에서 그것이 지적하는 점은 다소 오해의 소지가 있습니다. 특히 유튜브는 대시 전개를 지원합니다. 실제로 최고 품질의 컨텐츠 변환을 얻으려면 해당 단편화 프로토콜을 사용해야합니다. 한편 자동화 된 접근을 구별하는 것에 관한 OP의 질문에 관해서, youtube-dl 이제 DASH가이 대답의 전제를 모호하게하는 것 같습니다.
— Glenn Slayden

@GlennSlayden 당신은 DASH가 현재 YouTube의 스트리밍 기술로서 우월하다고 말하면서 옳습니다. youtube-dl 이 프로토콜을 사용하여 콘텐츠를 가져옵니다. 그러나 정기적 인 플레이어 다운로드가 버퍼를 채우고 버퍼를 일정 수준까지 고갈시킨 다음 다시 채우는 진동 상태로 들어가면 트래픽 자체가 다르게 보일 것입니다. 나는 그것을 추측하고있다. youtube-dl 최고 속도로 다운로드 할 수 있습니다. (물론, 이것은 검증되어야합니다 ...)
— slhck

-1

네, 다릅니다 (특별한 경우에 youtube-dl ) youtube.com 웹 사이트에서 시청하는 동안 트래픽이 https : // 전송하고 youtube-dl에서 생성 된 트래픽은 암호화되지 않은 http : // .

누군가가 패키지를 스니핑하면 그는 파일이 YouTube에서 시청되지 않았 음을 알 수 있습니다. 적어도 평범한 방법은 아닙니다.


youtube-dl이 https 연결을 사용하도록 만들 수 없습니까? YouTube가 있습니까? 항상 https를 사용 하시겠습니까?
— Karan

나는 youtube-dl이 https 연결을 사용하는 것이 불가능해야하는 이유를 알지 못합니다. 여전히 https 처리는 좀 더 까다 롭고 목표를 달성 할 필요가없는 것처럼 보입니다 (자원을 다운로드하는 메커니즘 제공). 현재의 방식으로는 데이터를 "모방 (mimic) 비디오 시청 방식"으로 다운로드한다는 측면 목표를 달성하지 못합니다. 이 목표 (https 연결을 사용하는 경우에도)는 브라우저의 정교한 동작이 옳지 않은 것으로 의심되기 때문에 달성되지 않습니다. 내 생각에 youtube-dl은 작은 파이썬 응용 프로그램과 비슷합니다.
— humanityANDpeace

왜 downvoting? 그것은 다른 경우의 예를 보여줌으로써 질문에 답합니다. 적어도 부분적으로 질문에 응답합니다. wireshark를 사용하고 이것을 조사하기 위해 어떤 작업이 필요했습니다. 나는이 작품에 대해 가치가 없다고 느낀다.
— humanityANDpeace

나는 누가 하향 투표했는지 모르지만 진지하게 받아들이지 마십시오. 사이트가 작동하는 방식입니다.
— Karan

@ 카란 : 위로를 주셔서 감사합니다. 여전히 나는 잘못하지 않은 것, 심지어는 부분적으로 도움이되는 대답에 대한 하향 투표를보기가 혼란 스럽다. 다운 voting 대신에 나는 더 나은 답변을 표결에 부칠 것입니다. 나는 사이트가 틀린 대답이 downvoted되는 방법을 작동하지만 나는 혼란 스럽다.
— humanityANDpeace
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.