บริการ 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 ในภาษาไพทอน[/caption]
คิดอะไรต่อยอดดี ?
- ใช้ scheduler ทำการถ่ายสดรายการทีวีออนลไน์ตามช่องเวลาที่ต้องการ - อ่านเพิ่มเติม scheduler ได้ที่บทความ สร้างตารางเวลา scheduler ใน Python
- ทำระบบป้ายโฆณษา
- และอื่น ๆ
ติดตามบทความต่อไปนะครับ
ขอบคุณครับ
ติดต่อผู้เขียนบล็อกได้ที่
0 ความคิดเห็น:
แสดงความคิดเห็น
แสดงความคิดเห็นได้ครับ :)