동영상이 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.