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
มาเริ่มต้นการใช้งานตามโค้ดกันเลยครับ
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()
ผลลัพธ์
- หากเล่นไฟล์เสียง จะได้ยินเเสียงออกมา แต่ไม่ปรากฎหน้าต่างโปรแกรม 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 แบบสด ๆ กันครับ
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()
ผลลัพธ์
[caption id="" align="aligncenter" width="1366"] ใช้ 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 ความคิดเห็น:
แสดงความคิดเห็น
แสดงความคิดเห็นได้ครับ :)