6 มีนาคม 2559

Published 3/06/2559 by with 0 comment

มาใช้ VLC กับภาษา Python กัน

สวัสดีผู้อ่านทุกท่านครับ บทความนี้ผมจะพาผู้อ่านไปใช้งาน VLC ซึ่งเป็นโปรแกรม (กรวย) ดูสื่อวิดีโอและเพลงยอดนิยมในปัจจุบันนี้ หลังจากที่บทความก่อน ๆ ผมพาผู้อ่านไปเล่นเสียงด้วย

Python กันมาแล้ว แต่ถ้าจะเล่นวิดีโอหรือเพลงด้วย VLC บทความนี้เราจะไปเขียนโปรแกรมภาษา Python เชื่อมกับทำงานกับ VLC กันครับ

อย่างแรก ให้ทำการติดตั้ง VLC ก่อนครับ
สำหรับผู้ใช้งาน Windows
ให้ทำการตั้งค่า path ให้กับ VLC ก่อนใช้งานด้วยครับ

ต่อไปให้ทำการติดตั้ง Python bindings ด้วยคำสั่ง pip :
pip install python-vlc

หรือโหลดไฟล์ vlc.py มาใช้งานได้ที่ http://git.videolan.org/p=vlc/bindings/python.git;a=blob_plain;f=generated/vlc.py;hb=HEAD

มาเริ่มต้นการใช้งานตามโค้ดกันเลยครับ

[python]
import vlc
instance = vlc.Instance()

#สร้าง MediaPlayer พร้อม instance พื้นฐาน
player = instance.media_player_new()

#โหลดไฟล์เพลงเข้ามา
# ที่ตั้งไฟล์สื่อที่ต้องการเล่น ให้ปรับเปลี่ยนไปตามที่ต้องการครับ สำหรับ Windows อย่าลืมใส่ r'หน้าสตริงที่ตั้งไฟล์'ด้วยครับ
media = instance.media_new(r'C:\ADELE-Skyfall.mp3')
#เพิ่มสื่อไปยังตัวเล่น
player.set_media(media)

#เล่นสื่อ
player.play()

# เช็คสถานะว่าโปรแกรมได้เล่นสื่อหรือไม่ ถ้าใช่จะคืนค่า 1 หากไม่ จะคืนค่า 0
player.is_playing()
# ปรับเสียงให้ดัง 70 %
player.audio_set_volume(70)
#หยุดเล่นชั่วคราว
player.pause()
#หยุดเล่น
player.stop()
[/python]

ผลลัพธ์

  • หากเล่นไฟล์เสียง จะได้ยินเเสียงออกมา แต่ไม่ปรากฎหน้าต่างโปรแกรม VLC ขึ้นมา

  • หากเล่นไฟล์วิดีโอ จะปรากฎหน้าต่างเล่นวิดีโอ แต่ไม่ปรากฎหน้าต่างโปรแกรม VLC ขึ้นมาเช่นกัน


มาลองเล่น live stream กัน


ผมต้องการใช้งาน live stream กับ VLC ผ่าน rtmp โดยผมต้องการดู NASA TV ผมได้ค้นหาพบ rtmp protocol ของ NASA TV ลิงค์คือ
http://iphone-streaming.ustream.tv/ustreamVideo/6540154/streams/live/playlist.m3u8

เพราะ NASA ใช้ ustream ซึ่งรองรับ rtmp protocol
เรามาเขียนโค้ด Python สั่งให้ VLC ทำ live stream ของ NASA TV แบบสด ๆ กันครับ

[python]
import vlc
instance = vlc.Instance()
player = instance.media_player_new()
media = instance.media_new('http://iphone-streaming.ustream.tv/ustreamVideo/6540154/streams/live/playlist.m3u8')
player.set_media(media)
player.play()
[/python]

ผลลัพธ์

[caption id="" align="aligncenter" width="1366"]ใช้ VLC กับภาษา Python เพื่อทำ live stream ของ NASA TV ใช้ VLC กับภาษา Python เพื่อทำ live stream ของ NASA TV[/caption]

เอกสารการใช้งานเพิ่มเติม vlc.py สามารถแกะได้ที่ https://git.videolan.org/?p=vlc/bindings/python.git;a=blob_plain;f=generated/vlc.py;hb=HEAD
เอกสารการใช้งานและการนำไปใช้งานกับ GUI เช่น Tk และ PyQt สามารถอ่านได้ที่ http://wiki.videolan.org/PythonBinding
ติดตามบทความต่อไปนะครับ
ขอบคุณครับ

แฟนของผู้เขียนบทความ Wannaphong




"ท่ามกลางเรื่องร้าย ๆ ย่อมมีเรื่องดี ๆ เสมอ" (แต่จะเห็นไหมเป็นอีกเรื่อง)ตัวอย่างเช่น รถยนต์ยางแตกใกล้ทางโค้ง แต่ดีที่ยา...

Posted by Wannaphong on 5 มีนาคม 2016


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

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

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