วันศุกร์, มีนาคม 15, 2556

youtube-dl recipe: รวมคำสั่งโหลด Youtube video มาเก็บไว้ดู

ตั้งชื่อตอนว่า Youtube-dl Recipe; รวมสูตรคำสั่งของ youtube-dl

    youtube-dl เป็นโปรแกรมเขียนด้วยภาษา python เอาไว้ดาวโหลด youtube video  มาเก็บเอาไว้เป็นไฟล์ flv หรือ mp4; ประโยชน์ที่ผมชอบมัน 
  1. ดูซ้ำได้โดยไม่ต้อง online
  2. ดูแบบลื่นไหลไม่สะดุด
  3. แถมยังหากเป็นไฟล์ที่มี cc (close caption) หรือ ซับไตเติ้ล (subtitle) ก็ยังโหลดมาเป็นไฟล์ .srt เล่นแบบแสดง subtitle ได้ด้วย 
   ตัวโปรแกรม youtube-dl เป็น open source โหลดได้จาก github.com/rg3/youtube-dl ตัวมันรันได้ทุก platform (Windows, Linux, Mac OSX) ที่มี/ติดตั้ง python 2.6 ขึ้นไปเอาไว้ 

คำสั่งที่ผมชอบใช้ 

1.โหลดที่ละหลายๆเรื่อง
    โหลด youtube โดยเอา URL ใส่ไว้ใน text file (ep12.txt) ใช้ในกรณีอยากโหลดละคร(series) ที่ upload เป็นหลายๆส่วน (เช่น 1/7- 7/7)
$python youtube-dl.py -v --format 18 -o '%(title)s.%(ext)s' --batch-file <file>

ตัวอย่าง  
$python youtube-dl.py -v --format 18 -o '%(title)s.%(ext)s' --batch-file <file>

--format 
    ใส่เลข itag; คือ format ของ video ที่เราต้องการ ดูรายละเอียดได้จาก wikipedia Youtube
ที่ผมชอบใช้ ถ้าเป็นละครทีวีไทย ใช้ 18 ก็พอ ถ้าเป็นพวกไฟล์ keynote ของตปท.หรือ music video ก็จะใช้ 22 หรือ 37
tag = Container | Video Resolution | Video encoding| Audio encoding
18 = mp4 | 270p/360p | H.264| AAC
22 = mp4 | 720p | H.264| AAC
37 = mp4 | 1080p | H.264| AAC

-o
บอกมันว่าจะ save แล้วตั้งชื่อไฟล์อย่างไร %(title)s.%(ext)s คือใช้ชื่อเรื่องของ youtube นั้นแล้ว ext ก็เป็นไปตาม itag ที่เลือก

--batch-file <ep12.txt>
บอกว่าให้ไปดู URL จาก file ที่ให้ไปโดยเนื้อหาข้างในก็เป็น 1 URL 1 บรรทัด

2.โหลดแบบเอา subtitle ด้วย
$python youtube-dl.py --format <##> -o %(title)s.%(ext)s --write-srt URL
ตัวอย่าง 
$python youtube-dl.py --format 22 -o %(title)s.%(ext)s --write-srt vXTXmq5z2tM
--write-srt
บอกให้มัน save subtitle หรือ cc มาให้ด้วย,ถ้ามี

3.โหลดแบบ simple simple 
ใช้ค่า default ทุกอย่าง
$python youtube-dl.py URL
ตัวอย่าง
$python youtube-dl.py vXTXmq5z2tM

Note: 
  • ถ้ารันบน OSX parameter -o ต้องใส่ single quote ครอบด้วย เช่นนี้ -o '%(title)s.%(ext)s'
  • URL ไม่ต้องมี http:// หรือ youtube.com เอา id ของมันมาใส่ได้เลย หากดาวโหลดจาก youtube อยู่แล้ว 
  • ถ้าใช้ linux หรือ osx ทำ alias ไว้เลยครับ เช่น
    alias youtube-dl='python ~/script/youtube-dl/youtube-dl.py'
  • ถ้าวัันดีคืนร้าย รันแล้วไม่ยอมโหลดให้ลอง update program ดูก่อนใช้คำสั่ง
    $youtube.dl -U

ลองหาอ่านเพิ่มเติมได้ที่ https://github.com/rg3/youtube-dl/#readme
หรือจะพิมพ์ youtube-dl -h ก็ได้ ^^

PS. If you want to read Thai please try to use Google Translate. (I embedded the tools, find it on the right.

ไม่มีความคิดเห็น :