10 เมษายน 2559

Published เมษายน 10, 2559 by with 0 comment

ถ่ายทอดสดเต็มหน้าจอด้วย VLC ในภาษาไพทอน

สวัสดีผู้อ่านทุกท่านครับ หลาย ๆ ท่านที่ได้ติดตามรายการทีวีต่างประเทศผ่าน Dailymotion , Livestream , Twitch , UStream และ YouTube Live คงมีตารางเวลาการรับชมรายการกันอยู่ครับ แต่หากต้องการรับชม ต้องเสียเวลาคลิกเปิดลิงค์ บทความนี้ผมจะพาผู้อ่านไปรับชมการถ่ายทอดสดเต็มหน้าจอด้วย VLC ในภาษาไพทอนกันครับ

บริการ Live stream เป็นบริการถ่ายทอดสดแบบออนไลน์ ปัจจุบันนี้เป็นที่นิยม เนื่องจากสามารถเข้าถึงได้สะดวกและสด นอกจากนั้นใคร ๆ ก็สามารถมีทีวีออนไลน์เป็นของตัวเองได้

ก่อนเข้าสู่การเขียนโปรแกรมบชมการถ่ายทอดสดเต็มหน้าจอด้วย VLC  ในภาษาไพทอน ผมขอแนะนำให้รู้จักกับโมดูล livestreamer ก่อนครับ




โมดูล livestreamer เป็นเครื่องมือสำหรับใช้เปิดเล่น Live stream บนโปรแกรมต่าง ๆ เช่น VLC เป็นต้น

  • รองรับทั้ง Dailymotion , Livestream , Twitch , UStream และ YouTube Live

  • ใช้ Simplified BSD license

  • ใช้งานได้ทั้ง Windows , Mac OS , Linux

  • มี API ให้เรียกใช้งานได้โดยภาษา Python

  • รองรับทั้ง Python 2 และ Python 3


สามารถติดตั้งได้โดยใช้คำสั่ง pip :
pip install livestreamer

การใช้งาน
สามารถใช้งานได้ง่าย ๆ โดยการใส่ลิงค์บริการ Livestream ที่รองรับ และ ใส่ความละเอียดที่ต้องการ
$ livestreamer twitch.tv/day9tv best
[cli][info] Found matching plugin twitch for URL twitch.tv/day9tv
[cli][info] Opening stream: source (hls)
[cli][info] Starting player: vlc

โมดูลนี้จะทำการเรียกโปรแกรมที่มีอยู่ในเครื่องขึ้นถ่ายทอดสด
อ่านเอกสารการใช้งานได้ที่ http://docs.livestreamer.io




จากบทความ มาใช้ VLC กับภาษา Python กัน ผมจะใช้โปรแกรม VLC รับชมถ่ายทอดสดแบบออนไลน์กันครับ

ผมต้องการรับชมช่อง NASA TV

ช่อง NASA TV ใช้บริการ UStream ดังนั้นเราไม่มีทางเอาลิงค์ http://www.ustream.tv/nasahdtv ไปใส่ให้ VLC เล่นได้โดยตรง เราต้องใช้โมดูล livestreamer ในการดึงลิงค์  Live stream ที่ซ่อนอยู่มาให้ VLC เพื่อให้สามารถถ่ายทอดช่อง NASA TV ได้

[python]
import vlc
import livestreamer
import time
instance = vlc.Instance()
player = instance.media_player_new()

def play(url):
media = instance.media_new(url)
player.set_media(media)
player.set_fullscreen(True) # เต็มหน้าจอ
player.play()

streams = livestreamer.streams("http://www.ustream.tv/nasahdtv") # ใส่ลิงค์
stream = streams['best'] # ดึงลิงค์คุณภาพดีที่สุด
play(stream.url) # ทำการถ่ายทอดโดย VLC
time.sleep(60) # หน่วงเวลา 60 วินาที
player.stop() # หยุดการถ่ายทอด
[/python]

[caption id="" align="aligncenter" width="1366"]ถ่ายทอดสดเต็มหน้าจอด้วย VLC ในภาษาไพทอน ถ่ายทอดสดเต็มหน้าจอด้วย VLC ในภาษาไพทอน[/caption]

คิดอะไรต่อยอดดี ?

  • ใช้ scheduler ทำการถ่ายสดรายการทีวีออนลไน์ตามช่องเวลาที่ต้องการ - อ่านเพิ่มเติม scheduler ได้ที่บทความ สร้างตารางเวลา scheduler ใน Python

  • ทำระบบป้ายโฆณษา

  • และอื่น ๆ


ติดตามบทความต่อไปนะครับ
ขอบคุณครับ

ติดต่อผู้เขียนบล็อกได้ที่



0 ความคิดเห็น:

แสดงความคิดเห็น

แสดงความคิดเห็นได้ครับ :)