예전에 만들어 놓은 gdata 모듈이 작동이 안된다는 제보가 들어와서 분석을 해보니

 img.src = 'http:\/\/v14.lscache7.c.youtube.com\/generate_204?ip=118.0.0.0& ...
 "fmt_map": "34\/640x360\/9\/0\/115,5\/320x240\/7\/0\/0"

다른건 차이가 없는데 이런식으로 escape 문자들이 추가되었다.
음.. 웹표준 준수하려고 생긴 변화인가? 아무튼 escape 문자를 왜 / 에 쓰는지 알수는 없지만 이런 변화가 생겼다.
신고
Posted by 구차니

댓글을 달아 주세요


예전에는(불과 한달전!) content가 feed - content 였는데 이제는 바뀌어서
feed - media:group - media:description에 들어있다.

2010/04/09 - [프로그램 사용/유튜브(youtube)] - youtube xml / RSS 주소

신고
Posted by 구차니

댓글을 달아 주세요

언어는 &hl
국가는 &gl 로 변수를 넘겨준다.
(웹상에서 언어를 변경할때는 이렇게 되는데 RSS Feed에는 영향을 미치지 못하는 것으로 보인다.)

http://gdata.youtube.com/feeds/api/standardfeeds/regionID/feedID?v=2

http://gdata.youtube.com/feeds/api/standardfeeds/ko/top_rated
위의 주소는, 한국의 top rated를 받아오는 방법이다.

Country Region ID
Australia AU
Brazil BR
Canada CA
Czech Republic CZ
France FR
Germany DE
Great Britain GB
Holland NL
Hong Kong HK
India IN
Ireland IE
Israel IL
Italy IT
Japan JP
Mexico MX
New Zealand NZ
Poland PL
Russia RU
South Korea KR
Spain ES
Sweden SE
Taiwan TW
United States US

[링크 : http://code.google.com/intl/ko-KR/apis/youtube/2.0/reference.html]

http://gdata.youtube.com/schemas/2007/categories.cat?hl=<LANGUAGE>
위의 내용은, 스키마를 언어별로 받아오는 것이다.
간단하게 카테고리별 문자열을 구글에게서 받아올수 있다.(내부적인 번역이 필요없다!)

Language/Locale hl Parameter Value
Chinese (Traditional) zh-TW
Czech cs-CZ
Dutch nl-NL
English (Great Britain, Ireland, Australia and New Zealand) en-GB
English (United States and Canada)
* default value
en-US
French fr-FR
German de-DE
Italian it-IT
Language/Locale hl Parameter Value
Japanese ja-JP
Korean ko-KR
Polish pl-PL
Portuguese (Brazil) pt-BR
Russian ru-RU
Spanish (Spain) es-ES
Spanish (Mexico) es-MX
Swedish sv-SE

[링크 : http://code.google.com/intl/ko-KR/apis/youtube/2.0/reference.html]

신고
Posted by 구차니

댓글을 달아 주세요

http://gdata.youtube.com/feeds/api/
에서 XML 파일을 받으면 기본적으로

<openSearch:startIndex>1</openSearch:startIndex>
<openSearch:itemsPerPage>25</openSearch:itemsPerPage>

첫번째 페이지, 25개 항목을 받아오도록 되어있다.
즉, 인자를 넘겨주면 다른 값을 볼수도 있다는 의미!

<link rel='previous' type='application/atom+xml'
  href='http://gdata.youtube.com/feeds/api/videos?start-index=1&max-results=25...'/>
<link rel='next' type='application/atom+xml'
  href='http://gdata.youtube.com/feeds/api/videos?start-index=51&max-results=25...'/>

[링크 : http://code.google.com/intl/ko-KR/apis/youtube/2.0/reference.html]


2010.05.07 추가
start-index 는 대소문자 구분하며, 1 부터 시작한다.
신고

'프로그램 사용 > 유튜브(youtube)' 카테고리의 다른 글

youtube api 변동으로 인한 content 태그 변경  (0) 2010.05.13
youtube locale 관련  (0) 2010.04.20
youtube gdata 검색관련  (0) 2010.04.20
youtube html5  (2) 2010.04.17
Percent encoding = URL Encoding  (0) 2010.04.16
유튜브 fmt 와 t 값  (0) 2010.04.15
Posted by 구차니

댓글을 달아 주세요

http://www.youtube.com/html5 로 접속하면 html5 베타를 사용하도록 하는 옵션이 존재한다.

YouTube HTML5 동영상 플레이어

YouTube에서 HTML5를 지원하기 위한 선택적 시험 기능입니다. 지원되는 브라우저를 사용 중인 경우 대부분의 동영상에 Flash Player가 아닌 HTML5 플레이어를 사용하도록 선택할 수 있습니다..


지원되는 브라우저

YouTube는 현재 HTML5의 동영상 태그와 h.264 동영상 코덱을 모두 지원하는 브라우저를 지원합니다. 지원되는 브라우저는 다음과 같습니다.


업데이트

  • 2010년 1월 17일: 전체화면 지원 사용(브라우저에서 지원하는 경우).


추가 제한사항(해결 중)

  • 광고가 포함된 동영상은 지원되지 않습니다(Flash Player에서 재생).
  • 전체화면은 지원되지 않습니다.
  • 다른 TestTube 시험기능을 선택하면 HTML5 플레이어를 가져올 수 없습니다(Feather는 지원됨).

그런데.. Firefox 는 아직이구나..OTL 털썩
그래서 일단은 Google Chrome으로 접속!

위는 HTML5에서 동영상 로딩시 나오는 화면
아래는 동영상 우클릭시 나오는 화면(일반 우클릭과 동일함)

화질이라던가 이런건 잘 모르겠고,
솔찍히 Flash와의 차이점은 눈에 띄지는 않는다.(사용자 측면에서 동일하게 동영상은 나오니까.)

크롬 - 플래시

파이어폭스 - 플래시

크롬 - HTML5

후처리 문제인지는 모르겠지만, 360p에서 자막을 알아보기 힘들정도로 HTML5는 조금 안습상황이다.
신고

'프로그램 사용 > 유튜브(youtube)' 카테고리의 다른 글

youtube locale 관련  (0) 2010.04.20
youtube gdata 검색관련  (0) 2010.04.20
youtube html5  (2) 2010.04.17
Percent encoding = URL Encoding  (0) 2010.04.16
유튜브 fmt 와 t 값  (0) 2010.04.15
VLC에서 youtube 동영상 재생하기  (2) 2010.04.13
Posted by 구차니

댓글을 달아 주세요

  1. 맨 아래 화면인 크롬(HTML5)에서 화면이 더 깨지네요. 아직 테스트해보질 않아서 약간 의아합니다.

    2010.04.17 11:16 신고 [ ADDR : EDIT/ DEL : REPLY ]
    • HTML5에서는 H.264로 한다고 되어있는데
      브라우저 내장 코덱의 문제인지는 모르겠어요.
      실제로 화면을 캡쳐한거라 플레이시에도 저렇게 많이 저하가 되고, 다른 블로그에서도 HTML5 테스트시에 화질저하/cpu사용율은 낮음 이런 특징을 보인다고 하더라구요

      2010.04.17 11:25 신고 [ ADDR : EDIT/ DEL ]

wget으로 손쉽게 다운로드 받는방법중에 찾은건 &t 값이 필요하다.
token 인지 table 인지는 모르겠지만, 이 값을 받을려고 동영상 페이지 300k 가량하는걸 받기도 모호하고
이래저래 찾아보는데 편하게 받는 법은 없는듯 하다.

http://www.youtube.com/v/BzbbpxR7ZTc
이런식으로 열면 리턴 URL로 t 값이 주어진다는데 오지도 않고..
정작 받아도 이상한 바이너리 파일이라.. 안드로메다로.. OTL

Firefox에서 열면 플래시인지 바로 전체화면(!) 플래시무비가 나온다.

유투브 H.264 인코딩 동영상 소스
요청 URL : http://www.youtube.com:80/get_video?video_id=[비디오ID]&t=[트랙 or 테이블 값]&fmt=18

파라미터
   - 비디오 아이디 : 유투브 검색 API로 쉽게 비디오 ID를 얻을 수 있습니다.
   - 트랙 or 테이블 값
      http://www.youtube.com:80/v/[비디오ID] 로 쿼리를 요청하면 Respone URI안에 t값이 포함되어져 있습니다.
   - fmt=18 : 이 파라미터를 붙이면 H.264 동영상 소스가, 붙이지 않으며 FLV 소스가 날라옵니다.

[링크 : http://blog.naver.com/cybersol/10029106108]

Fmt ID

포멧

픽셀 해상도

비디오 코덱

음성 코덱

해상도

비 고

fmt=0 

flv

320x240

flv1

mp3 1.0 22KHz

[ ]

( fmt=5와 같음)

fmt=5 

flv

320x240

flv1

mp3 1.0 22KHz

[small ]

 

fmt=6 

flv

480x360

flv1

mp3 1.0 44KHz

[ ]

(No more...)

fmt=13 

3gp

176x144

H263

AMR 2.0 8KHz

[ ]

(핸드폰 용)

fmt=17 

3gp

176x144

mpg4

AAC 1.0 22KHz

[ ]

(핸드폰 용)

fmt=18 

mp4

480x360

H264

AAC 2.0 44KHz

[large ]

 

fmt=22 

mp4

1280x720

H264

AAC 2.0 44KHz

[HD720 ]

 

fmt=34 

flv

640x480

H264

AAC 2.0 44KHz

[medium]

(기본값)

fmt=35 

flv

854x640

H264

AAC 2.0 44KHz

[large ]

 

fmt=37 

mp4

1920x1080

H264

AAC 2.0 44KHz

[HD1080]

 

[링크 : http://bluemarble.tistory.com /entry/YouTube-비디오-다운로드]

fmt는 format의 약자로, 모바일 기기나 임베디드 기기에서
특정 코덱만을 지원할 경우, 원하는 코덱/해상도를 선택하는데 이용될수 있다.
(전에 이 파일을 그렇게 찾았는데 블로그 폭발시켰는지 안떠서 OTL)

[링크 : http://hallang.tistory.com/218]

Comparison of YouTube media types

Standard Medium High 720p 1080p Mobile Old formats (pre Feb 2009)
Standard High Mobile
fmt value 34 18 35 22 37 17 0, 5 6 13
Container FLV MP4 FLV MP4 3GP FLV 3GP
Video Encoding MPEG-4 AVC (H.264) MPEG-4 Visual H.263
Aspect ratio 4:3, 16:9 16:9 11:9 4:3 11:9
Max Resolution 320×240
400×226
640×360
480×270
480×360
640×480
854×480
1280×720 1920×1080 176×144 320×240 480×360 176×144
Audio Encoding AAC MP3 AMR
Channels 2 (stereo) 1 (mono)
Sampling rate (Hz) 44100 22050 44100 8000

[링크 : http://en.wikipedia.org/wiki/YouTube#Quality_and_codecs]


신고
Posted by 구차니

댓글을 달아 주세요

웹(HTML)      http://www.youtube.com/results?search_query=검색어
RSS(XML)     http://gdata.youtube.com/feeds/base/videos?q=검색어
api(XML)       http://gdata.youtube.com/feeds/api/videos?q=검색어
신고
Posted by 구차니

댓글을 달아 주세요

유튜브 페이지에는 4개의 변수가 존재한다.
일단 이 녀석들을 URL decoding 해주면 아래와 같은 값으로 나오게 된다.

fmt_mapfmt_list와 내용이  유사하며
fmt_url_mapfmt_stream_map 과 내용이 유사하다.

아무튼 다운로드 주소를 얻을려면 fmt_url_map / fmt_stream_map 중에 하나에서 빼내면 된다.

fmt_map=22/2000000/9/0/115,35/640000/9/0/115,34/0/9/0/115,5/0/7/0/0&mpu=True&hl=ko_KR&ad_flags=0&rv.5.length_seconds=243&rv.0.thumbnailUrl=http://i1.ytimg.com/vi/lzVFyWNzjtE/default.jpg&rv.7.author=allkpop&cid=11332&rv.1.length_seconds=240&ad_logging_flag=1&rv.2.id=2f5hg3FlYc4

fmt_url_map=22|http://v15.lscache4.c.youtube.com/videoplayback?ip=0.0.0.0&sparams=id%2Cexpire%2Cip%2Cipbits%2Citag%2Cratebypass%2Coc%3AU0dWRVhNU19FSkNNNl9QR1dD&fexp=900023%2C901802&itag=22&ipbits=0&sver=3&ratebypass=yes&expire=1270825200&key=yt1&signature=428B55DAF445D856E5F8A704C91B635776474DC3.B807EF9FE3245923257F82EDCDDD2FB7EFC4CFAF&id=4c66f02fc912a449,

더보기


하지만.. 리눅스에서 wget으로는 다운로드 되지 않는다 OTL

$ wget "http://v15.lscache4.c.youtube.com/videoplayback?ip=0.0.0.0&sparams=id%2Cexpire%2Cip%2Cipbits%2Citag%2Cratebypass%2Coc%3AU0dWRVhNU19FSkNNNl9QR1dD&fexp=900023%2C901802&itag=22&ipbits=0&sver=3&ratebypass=yes&expire=1270825200&key=yt1&signature=428B55DAF445D856E5F8A704C91B635776474DC3.B807EF9FE3245923257F82EDCDDD2FB7EFC4CFAF&id=4c66f02fc912a449"
--17:55:02--  http://v15.lscache4.c.youtube.com/videoplayback?ip=0.0.0.0&sparams=id%2Cexpire%2Cip%2Cipbits%2Citag%2Cratebypass%2Coc%3AU0dWRVhNU19FSkNNNl9QR1dD&fexp=900023%2C901802&itag=22&ipbits=0&sver=3&ratebypass=yes&expire=1270825200&key=yt1&signature=428B55DAF445D856E5F8A704C91B635776474DC3.B807EF9FE3245923257F82EDCDDD2FB7EFC4CFAF&id=4c66f02fc912a449
Resolving v15.lscache4.c.youtube.com... 74.125.107.35
Connecting to v15.lscache4.c.youtube.com|74.125.107.35|:80... connected.
HTTP request sent, awaiting response... 403 Forbidden
17:55:02 ERROR 403: Forbidden.


2010/02/26 - [프로그램 사용/유튜브 (youtube)] - 유튜브 파일 다운로드 하기(download youtube as file)

신고
Posted by 구차니

댓글을 달아 주세요

  1. 은근 복잡하네요.

    2010.04.12 13:37 신고 [ ADDR : EDIT/ DEL : REPLY ]

스테레오 카메라야 머.. 가격이 2배면 간단하게 구현가능한데
음.. 아무튼 어떻게 올리고 어떤 카테고리에 들어있는건진 모르겠지만
유튜브에서 셀로판지나 매직아이 보듯 3D로 볼수 있는 컨텐츠가 있었다.




[링크 : http://www.youtube.com/watch?v=SE-u3Ga_oOY&feature=channel]

여러가지 설정중에 Cross-eyed로 하면 매직아이 보듯 사파리눈 하듯 보면 보이는데
역시.. 자연스럽긴해도 눈아파 죽겠다 ㄱ-

제목이 "YouTube 3D Player Test ( yt3d:enable=true )" 이다.
[링크 : http://www.youtube.com/watch?v=89cGA4-yPRw&feature=related]
신고
Posted by 구차니

댓글을 달아 주세요

  1. 바야흐로 3D 시대군요...
    뭔가를 볼 때 안경 쓰는 건 별로 안 좋은데.. 나중에는 그냥 보는 3D도 나오겠죠?

    2010.03.16 12:17 신고 [ ADDR : EDIT/ DEL : REPLY ]
    • 아무튼 cross eyed로 오래봤더니 1시간동안 어지러워 죽는줄 알았어요 ㅋㅋ

      2010.03.16 13:20 신고 [ ADDR : EDIT/ DEL ]
  2. 비밀댓글입니다

    2010.06.30 23:01 [ ADDR : EDIT/ DEL : REPLY ]
  3. 저거 내가쓴 것임
    에이~동영상인줄 알았네~
    뭐,성능은 좋네~
    참고로 난10살!

    2010.06.30 23:06 신고 [ ADDR : EDIT/ DEL : REPLY ]

아래는 wireshark로 tcp 에서 긁어 본건데, 간단하게 URL을 빼내기는 힘들다라는 내용
[링크 : http://blog.scouta.com/2007/10/20/youtubes-h264-file-url/]

아래는 &t 에 &fmt 값으로 원하는 포맷으로 변경후 받는 내용
[링크 : http://blog.jimmyr.com/High_Quality_on_Youtube_11_2008.php]


하.지.만 될리가 없잖아 ㄱ-
아무튼 혼자서 또 삽질을 하면서 알아낸 것은


http://www.youtube.com/watch?v=TMZNXW7cFCs
이 녀석을 샘플로 말하자면

이 html 페이지를 열어 보면 다음과 같은 내용이 있다.
yt.setConfig({
            'VIDEO_ID': 'TMZNXW7cFCs',
            'VIDEO_TITLE': '게임테크 2010 시연 동영상  1',

            'SWF_URL': (yt.flash.canPlayV9Swf() ? (!yt.flash.canPlayH264Videos() ? "http://s.ytimg.com/yt/swf/watch-vfl148687.swf" : "http://s.ytimg.com/yt/swf/watch_as3-vfl148857.swf") : "http://s.ytimg.com/yt/swf/watch_v8-vfl148687.swf"),
            'SWF_ARGS': {"rv.2.thumbnailUrl": "http%3A%2F%2Fi3.ytimg.com%2Fvi%2FfmPjDH1sDfo%2Fdefault.jpg", "rv.7.length_seconds": "600", "rv.0.url": "http%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DPOcCzju_kqk", "rv.0.view_count": "7243", "enablecsi": "1", "rv.2.title": "%EC%97%94%EB%93%9C%EA%B2%8C%EC%9E%84+-+%EC%A7%80%EA%B5%AC+%EB%85%B8%EC%98%88%ED%99%94+%EC%B2%AD%EC%82%AC%EC%A7%84+8%2F14", "rv.7.thumbnailUrl": "http%3A%2F%2Fi3.ytimg.com%2Fvi%2F2rEfw1DEtts%2Fdefault.jpg", "rv.4.rating": "5.0", "length_seconds": "78", "rv.0.title": "%EC%97%94%EB%93%9C%EA%B2%8C%EC%9E%84+-+%EC%A7%80%EA%B5%AC+%EB%85%B8%EC%98%88%ED%99%94+%EC%B2%AD%EC%82%AC%EC%A7%84+14%2F14", "rv.7.author": "junjangsoh", "rv.7.title": "%EC%97%94%EB%93%9C%EA%B2%8C%EC%9E%84+-+%EC%A7%80%EA%B5%AC+%EB%85%B8%EC%98%88%ED%99%94+%EC%B2%AD%EC%82%AC%EC%A7%84+10%2F14", "rv.3.view_count": "6324", "allow_embed": "1", "rv.5.title": "%EC%97%94%EB%93%9C%EA%B2%8C%EC%9E%84+-+%EC%A7%80%EA%B5%AC+%EB%85%B8%EC%98%88%ED%99%94+%EC%B2%AD%EC%82%AC%EC%A7%84+5%2F14", "rv.0.length_seconds": "564", "rv.4.thumbnailUrl": "http%3A%2F%2Fi3.ytimg.com%2Fvi%2FnHQokcqw2uw%2Fdefault.jpg", "fmt_url_map": "22%7Chttp%3A%2F%2Fv20.lscache7.c.youtube.com%2Fvideoplayback%3Fip%3D0.0.0.0%26sparams%3Did%252Cexpire%252Cip%252Cipbits%252Citag%252Cratebypass%26fexp%3D900023%252C901802%26itag%3D22%26ipbits%3D0%26sver%3D3%26ratebypass%3Dyes%26expire%3D1267196400%26key%3Dyt1%26signature%3D0F25C849B5E0697E2708D7FDF90873CA778C1814.33DA1EEAD4CC9692C5613494A2C564133BF81595%26id%3D4cc64d5d6edc142b%2C35%7Chttp%3A%2F%2Fv21.lscache2.c.youtube.com%2Fvideoplayback%3Fip%3D0.0.0.0%26sparams%3Did%252Cexpire%252Cip%252Cipbits%252Citag%252Calgorithm%252Cburst%252Cfactor%26fexp%3D900023%252C901802%26algorithm%3Dthrottle-factor%26itag%3D35%26ipbits%3D0%26burst%3D40%26sver%3D3%26expire%3D1267196400%26key%3Dyt1%26signature%3D241955F71A0A876EC7B6DB78E3E792F66F3F21AD.309C4F50111292184108BB359CEEF7A9A86B918F%26factor%3D1.25%26id%3D4cc64d5d6edc142b%2C34%7Chttp%3A%2F%2Fv2.lscache8.c.youtube.com%2Fvideoplayback%3Fip%3D0.0.0.0%26sparams%3Did%252Cexpire%252Cip%252Cipbits%252Citag%252Calgorithm%252Cburst%252Cfactor%26fexp%3D900023%252C901802%26algorithm%3Dthrottle-factor%26itag%3D34%26ipbits%3D0%26burst%3D40%26sver%3D3%26expire%3D1267196400%26key%3Dyt1%26signature%3D6AE4B5BA71E0F02396287FFDA1DF821A6158B6AF.CB0891E42ADAB8317ECA61A64CF77DD79BE662AC%26factor%3D1.25%26id%3D4cc64d5d6edc142b%2C5%7Chttp%3A%2F%2Fv7.lscache3.c.youtube.com%2Fvideoplayback%3Fip%3D0.0.0.0%26sparams%3Did%252Cexpire%252Cip%252Cipbits%252Citag%252Calgorithm%252Cburst%252Cfactor%26fexp%3D900023%252C901802%26algorithm%3Dthrottle-factor%26itag%3D5%26ipbits%3D0%26burst%3D40%26sver%3D3%26expire%3D1267196400%26key%3Dyt1%26signature%3D5AD304AB9BCC13F8BD46205F6F5FD95EF491C5EB.AB6CB2D6EEAE16BAE8003D88D2628D4008065739%26factor%3D1.25%26id%3D4cc64d5d6edc142b", "rv.2.rating": "5.0", "csi_page_type": "watch", "keywords": "14", "cr": "KR", "rv.1.url": "http%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DLUs4UPyE2AI", "rv.6.thumbnailUrl": "http%3A%2F%2Fi4.ytimg.com%2Fvi%2FCjn_lrc2b_k%2Fdefault.jpg", "rv.1.id": "LUs4UPyE2AI", "rv.3.rating": "5.0", "rv.6.title": "%EC%97%94%EB%93%9C%EA%B2%8C%EC%9E%84+-+%EC%A7%80%EA%B5%AC+%EB%85%B8%EC%98%88%ED%99%94+%EC%B2%AD%EC%82%AC%EC%A7%84+13%2F14", "fmt_list": "22%2F2000000%2F9%2F0%2F115%2C35%2F640000%2F9%2F0%2F115%2C34%2F0%2F9%2F0%2F115%2C5%2F0%2F7%2F0%2F0", "rv.7.id": "2rEfw1DEtts", "rv.1.title": "%EC%97%94%EB%93%9C%EA%B2%8C%EC%9E%84+-+%EC%A7%80%EA%B5%AC+%EB%85%B8%EC%98%88%ED%99%94+%EC%B2%AD%EC%82%AC%EC%A7%84+1%2F14", "rv.1.thumbnailUrl": "http%3A%2F%2Fi1.ytimg.com%2Fvi%2FLUs4UPyE2AI%2Fdefault.jpg", "rv.6.length_seconds": "602", "rv.0.rating": "5.0", "watermark": "http%3A%2F%2Fs.ytimg.com%2Fyt%2Fswf%2Flogo-vfl106645.swf%2Chttp%3A%2F%2Fs.ytimg.com%2Fyt%2Fswf%2Fhdlogo-vfl100714.swf", "rv.6.author": "junjangsoh", "rv.5.id": "gfsJ3Eq_Zhs", "rv.4.author": "junjangsoh", "plid": "AASAfHyi-5gDThaQ", "rv.0.id": "POcCzju_kqk", "rv.3.length_seconds": "598", "rv.5.rating": "5.0", "rv.4.url": "http%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DnHQokcqw2uw", "sdetail": "p%3A%2Fvideos", "fexp": "900023%2C901802", "rv.1.author": "junjangsoh", "rv.1.rating": "5.0", "rv.4.title": "%EC%97%94%EB%93%9C%EA%B2%8C%EC%9E%84+-+%EC%A7%80%EA%B5%AC+%EB%85%B8%EC%98%88%ED%99%94+%EC%B2%AD%EC%82%AC%EC%A7%84+3%2F14", "rv.5.thumbnailUrl": "http%3A%2F%2Fi4.ytimg.com%2Fvi%2FgfsJ3Eq_Zhs%2Fdefault.jpg", "rv.5.url": "http%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DgfsJ3Eq_Zhs", "rv.3.title": "%EC%97%94%EB%93%9C%EA%B2%8C%EC%9E%84+-+%EC%A7%80%EA%B5%AC+%EB%85%B8%EC%98%88%ED%99%94+%EC%B2%AD%EC%82%AC%EC%A7%84+4%2F14", "sourceid": "y", "rv.0.author": "junjangsoh", "rv.3.thumbnailUrl": "http%3A%2F%2Fi2.ytimg.com%2Fvi%2Fi27PAb-w0AY%2Fdefault.jpg", "rv.2.author": "junjangsoh", "rv.6.url": "http%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DCjn_lrc2b_k", "rv.7.rating": "5.0", "rv.3.url": "http%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3Di27PAb-w0AY", "fmt_map": "22%2F2000000%2F9%2F0%2F115%2C35%2F640000%2F9%2F0%2F115%2C34%2F0%2F9%2F0%2F115%2C5%2F0%2F7%2F0%2F0", "hl": "en_US", "rv.7.url": "http%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3D2rEfw1DEtts", "rv.2.view_count": "5454", "rv.4.length_seconds": "611", "rv.4.view_count": "7731", "rv.2.url": "http%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DfmPjDH1sDfo", "rv.5.length_seconds": "600", "rv.0.thumbnailUrl": "http%3A%2F%2Fi1.ytimg.com%2Fvi%2FPOcCzju_kqk%2Fdefault.jpg", "fmt_stream_map": "22%7Chttp%3A%2F%2Fv20.lscache7.c.youtube.com%2Fvideoplayback%3Fip%3D0.0.0.0%26sparams%3Did%252Cexpire%252Cip%252Cipbits%252Citag%252Cratebypass%26fexp%3D900023%252C901802%26itag%3D22%26ipbits%3D0%26sver%3D3%26ratebypass%3Dyes%26expire%3D1267196400%26key%3Dyt1%26signature%3D0F25C849B5E0697E2708D7FDF90873CA778C1814.33DA1EEAD4CC9692C5613494A2C564133BF81595%26id%3D4cc64d5d6edc142b%2C35%7Chttp%3A%2F%2Fv21.lscache2.c.youtube.com%2Fvideoplayback%3Fip%3D0.0.0.0%26sparams%3Did%252Cexpire%252Cip%252Cipbits%252Citag%252Calgorithm%252Cburst%252Cfactor%26fexp%3D900023%252C901802%26algorithm%3Dthrottle-factor%26itag%3D35%26ipbits%3D0%26burst%3D40%26sver%3D3%26expire%3D1267196400%26key%3Dyt1%26signature%3D241955F71A0A876EC7B6DB78E3E792F66F3F21AD.309C4F50111292184108BB359CEEF7A9A86B918F%26factor%3D1.25%26id%3D4cc64d5d6edc142b%2C34%7Chttp%3A%2F%2Fv2.lscache8.c.youtube.com%2Fvideoplayback%3Fip%3D0.0.0.0%26sparams%3Did%252Cexpire%252Cip%252Cipbits%252Citag%252Calgorithm%252Cburst%252Cfactor%26fexp%3D900023%252C901802%26algorithm%3Dthrottle-factor%26itag%3D34%26ipbits%3D0%26burst%3D40%26sver%3D3%26expire%3D1267196400%26key%3Dyt1%26signature%3D6AE4B5BA71E0F02396287FFDA1DF821A6158B6AF.CB0891E42ADAB8317ECA61A64CF77DD79BE662AC%26factor%3D1.25%26id%3D4cc64d5d6edc142b%2C5%7Chttp%3A%2F%2Fv7.lscache3.c.youtube.com%2Fvideoplayback%3Fip%3D0.0.0.0%26sparams%3Did%252Cexpire%252Cip%252Cipbits%252Citag%252Calgorithm%252Cburst%252Cfactor%26fexp%3D900023%252C901802%26algorithm%3Dthrottle-factor%26itag%3D5%26ipbits%3D0%26burst%3D40%26sver%3D3%26expire%3D1267196400%26key%3Dyt1%26signature%3D5AD304AB9BCC13F8BD46205F6F5FD95EF491C5EB.AB6CB2D6EEAE16BAE8003D88D2628D4008065739%26factor%3D1.25%26id%3D4cc64d5d6edc142b", "sk": "AN-IBdoG6rDwqBQ2JAmJ7AiKj79qzYtCC", "rv.1.view_count": "25631", "rv.1.length_seconds": "596", "rv.6.rating": "5.0", "rv.5.author": "junjangsoh", "vq": "medium", "rv.3.id": "i27PAb-w0AY", "rv.2.id": "fmPjDH1sDfo", "rv.2.length_seconds": "600", "rv.5.view_count": "6470", "t": "vjVQa1PpcFNMsS2pAI26JfksbOObe4nVZu_ORw-B1v4%3D", "rv.6.id": "Cjn_lrc2b_k", "video_id": "TMZNXW7cFCs", "rv.6.view_count": "5377", "rv.3.author": "junjangsoh", "rv.4.id": "nHQokcqw2uw", "rv.7.view_count": "4854"},
            'SWF_GAM_URL': null,
            'SWF_DC_URL': null,
            'SWF_EXPRESS_URL': null,
            'SWF_AD_EURL': null,
            'SWF_IS_PLAYING_ALL': false,
            'SWF_SET_WMODE': false,

            'SHOW_AUTOSHARE': true,
            'IS_WIDESCREEN': false,
            'IS_HD_AVAILABLE': true,
            'WIDE_PLAYER_STYLES':         ["watch-wide-mode"]
,
            'EMBED_URL': 'http://www.youtube.com/v/TMZNXW7cFCs&hl=en_US&fs=1',
            'VIDEO_LANGUAGE': 'EN',
            'VIDEO_USERNAME': 'say2420',
            'PLAY_NEXT_FROM': '',
            'PLAY_NEXT_COUNT': '0',
            'QL_AUTOSCROLL_DEST': 0,
            'LOCALE': 'en_US',
            'AXC': '',
            'SUBSCRIBE_AXC': '',

            'PLAYER_SAVE_QUALITY': true,

            'COMMENTS_THRESHHOLD': -5,
            'COMMENTS_FILTER': 0,
            'COMMENTS_PAGE_SIZE': 10,
            'COMMENTS_MAX_PAGE': 1,
            'COMMENTS_COUNT': 4,

            'IS_BRANDED_WATCH': false
        });

아무튼 저넘의 fmt_url_map을 들여다보자!
"22%7Chttp%3A%2F%2Fv20.lscache7.c.youtube.com%2Fvideoplayback%3Fip%3D0.0.0.0%26sparams%3Did%252Cexpire%252Cip%252Cipbits%252Citag%252Cratebypass%26fexp%3D900023%252C901802%26itag%3D22%26ipbits%3D0%26sver%3D3%26ratebypass%3Dyes%26expire%3D1267196400%26key%3Dyt1%26signature%3D0F25C849B5E0697E2708D7FDF90873CA778C1814.33DA1EEAD4CC9692C5613494A2C564133BF81595%26id%3D4cc64d5d6edc142b%2C35%7Chttp%3A%2F%2Fv21.lscache2.c.youtube.com%2Fvideoplayback%3Fip%3D0.0.0.0%26sparams%3Did%252Cexpire%252Cip%252Cipbits%252Citag%252Calgorithm%252Cburst%252Cfactor%26fexp%3D900023%252C901802%26algorithm%3Dthrottle-factor%26itag%3D35%26ipbits%3D0%26burst%3D40%26sver%3D3%26expire%3D1267196400%26key%3Dyt1%26signature%3D241955F71A0A876EC7B6DB78E3E792F66F3F21AD.309C4F50111292184108BB359CEEF7A9A86B918F%26factor%3D1.25%26id%3D4cc64d5d6edc142b%2C34%7Chttp%3A%2F%2Fv2.lscache8.c.youtube.com%2Fvideoplayback%3Fip%3D0.0.0.0%26sparams%3Did%252Cexpire%252Cip%252Cipbits%252Citag%252Calgorithm%252Cburst%252Cfactor%26fexp%3D900023%252C901802%26algorithm%3Dthrottle-factor%26itag%3D34%26ipbits%3D0%26burst%3D40%26sver%3D3%26expire%3D1267196400%26key%3Dyt1%26signature%3D6AE4B5BA71E0F02396287FFDA1DF821A6158B6AF.CB0891E42ADAB8317ECA61A64CF77DD79BE662AC%26factor%3D1.25%26id%3D4cc64d5d6edc142b%2C5%7Chttp%3A%2F%2Fv7.lscache3.c.youtube.com%2Fvideoplayback%3Fip%3D0.0.0.0%26sparams%3Did%252Cexpire%252Cip%252Cipbits%252Citag%252Calgorithm%252Cburst%252Cfactor%26fexp%3D900023%252C901802%26algorithm%3Dthrottle-factor%26itag%3D5%26ipbits%3D0%26burst%3D40%26sver%3D3%26expire%3D1267196400%26key%3Dyt1%26signature%3D5AD304AB9BCC13F8BD46205F6F5FD95EF491C5EB.AB6CB2D6EEAE16BAE8003D88D2628D4008065739%26factor%3D1.25%26id%3D4cc64d5d6edc142b"

무언의 규칙성이 느껴지지 않는가!?
그렇다면 치환을 고고싱~

%7C 는 |
%3A 는 :
%2F 는 /
%3F 는 ?
%26 는 &
%25 는 %
%2C 는 ,
%3D 는 =

이므로 치환을 하면

"22|http://v20.lscache7.c.youtube.com/videoplayback?ip=0.0.0.0&sparams=id%2Cexpire%2Cip%2Cipbits%2Citag%2Cratebypass&fexp=900023%2C901802&itag=22&ipbits=0&sver=3&ratebypass=yes&expire=1267196400&key=yt1&signature=0F25C849B5E0697E2708D7FDF90873CA778C1814.33DA1EEAD4CC9692C5613494A2C564133BF81595&id=4cc64d5d6edc142b

,35|http://v21.lscache2.c.youtube.com/videoplayback?ip=0.0.0.0&sparams=id%2Cexpire%2Cip%2Cipbits%2Citag%2Calgorithm%2Cburst%2Cfactor&fexp=900023%2C901802&algorithm=throttle-factor&itag=35&ipbits=0&burst=40&sver=3&expire=1267196400&key=yt1&signature=241955F71A0A876EC7B6DB78E3E792F66F3F21AD.309C4F50111292184108BB359CEEF7A9A86B918F&factor=1.25&id=4cc64d5d6edc142b

,34|http://v2.lscache8.c.youtube.com/videoplayback?ip=0.0.0.0&sparams=id%2Cexpire%2Cip%2Cipbits%2Citag%2Calgorithm%2Cburst%2Cfactor&fexp=900023%2C901802&algorithm=throttle-factor&itag=34&ipbits=0&burst=40&sver=3&expire=1267196400&key=yt1&signature=6AE4B5BA71E0F02396287FFDA1DF821A6158B6AF.CB0891E42ADAB8317ECA61A64CF77DD79BE662AC&factor=1.25&id=4cc64d5d6edc142b

,5|http://v7.lscache3.c.youtube.com/videoplayback?ip=0.0.0.0&sparams=id%2Cexpire%2Cip%2Cipbits%2Citag%2Calgorithm%2Cburst%2Cfactor&fexp=900023%2C901802&algorithm=throttle-factor&itag=5&ipbits=0&burst=40&sver=3&expire=1267196400&key=yt1&signature=5AD304AB9BCC13F8BD46205F6F5FD95EF491C5EB.AB6CB2D6EEAE16BAE8003D88D2628D4008065739&factor=1.25&id=4cc64d5d6edc142b"

의 내용이 나오게 된다.
아무튼 http:// 부터 클릭하면 다운로드를 하게 된다.
22>18 순으로 H.264를 지원하는 해상도 이므로 적절하게 다운로드!



2010/01/26 - [프로그램 사용/VLC] - VLC로 youtube 동영상 감상하기

신고
Posted by 구차니

댓글을 달아 주세요

  1. 오호라....ㅋㅋㅋ 재밌네요... ㅋㅋㅋ

    2010.02.27 11:09 신고 [ ADDR : EDIT/ DEL : REPLY ]
  2. 후럴! 뭐가 이리 복잡한가요?@.@
    (때려쳐!때려쳐!)

    2010.03.06 19:10 신고 [ ADDR : EDIT/ DEL : REPLY ]
  3. 좋은 내용 감사합니당. 덕분에 java 코드를 고칠 수 있었어요 ㅎ

    2014.08.18 13:30 신고 [ ADDR : EDIT/ DEL : REPLY ]
    • 오래전 글인데 여전히 동일한 방법으로 내용을 넣어두고 있나보네요 ^^
      그리고 이런건.. 댓글로 다시는 것도 좋지만 트랙백으로 해당 링크를 거는 것도 방법입니다 ^^

      좋은하루 되세요~!

      2014.08.18 14:00 신고 [ ADDR : EDIT/ DEL ]