pym3u8downloader
M3U8 Downloader เป็นคลาส Python ที่ออกแบบมาเพื่อดาวน์โหลดและต่อไฟล์วิดีโอจากเพลย์ลิสต์ M3U8 รวมถึงเพลย์ลิสต์หลัก คลาสนี้มีฟังก์ชันการทำงานที่ครอบคลุมสำหรับการจัดการไฟล์เพลย์ลิสต์ M3U8 ดาวน์โหลดส่วนวิดีโอ เลือกที่จะรวมเป็นไฟล์วิดีโอเดียว และจัดการเงื่อนไขข้อผิดพลาดต่างๆ
M3U8Downloader สามารถติดตั้งได้โดยใช้ pip:
pip install pym3u8downloader
from pym3u8downloader import M3U8Downloader
# Initialize the downloader
downloader = M3U8Downloader (
input_file_path = "http://example.com/video.m3u8" ,
output_file_path = "output_video"
)
# Download and concatenate the playlist
downloader . download_playlist ()
# Download and concatenate the master playlist
downloader . download_master_playlist ( name = '720' )
# Output
# Verify : [##################################################] 100%
# Download: [##################################################] 100%
# Build : [##################################################] 100%
pym3u8downloader
M3U8Downloader
M3U8Downloader(input_file_path: str, output_file_path: str, skip_space_check: Optional[bool] = False, debug: Optional[bool] = False, debug_file_path: Optional[str] = 'debug.log', max_threads: Optional[int] = 10, verify_ssl: Optional[bool] = True)
: เตรียมใช้งานอ็อบเจ็กต์ M3U8Downloader ด้วยพารามิเตอร์ที่กำหนด download_playlist(merge: bool = True)
: ดาวน์โหลดไฟล์วิดีโอจากเพลย์ลิสต์ M3U8 พารามิเตอร์ merge
ที่เป็นทางเลือกจะกำหนดการจัดการส่วนที่ดาวน์โหลด เมื่อตั้งค่า merge
เป็น True
วิธีการจะดาวน์โหลดและเชื่อมต่อส่วนวิดีโอทั้งหมดเป็นไฟล์เอาต์พุตเดียว หาก merge
เป็น False
ระบบจะดาวน์โหลดเฉพาะส่วนโดยไม่ต้องต่อเข้าด้วยกัน ทำให้แต่ละส่วนเป็นไฟล์เดี่ยวกันdownload_master_playlist(name: Optional[str] = None, bandwidth: Optional[str] = None, resolution: Optional[str] = None, merge: bool = True)
: ดาวน์โหลดไฟล์วิดีโอจากเพลย์ลิสต์หลัก M3U8 โดยเลือกตัวแปรเฉพาะไว้ ขึ้นอยู่กับพารามิเตอร์เสริม เช่น name
bandwidth
และ resolution
พารามิเตอร์ merge
ที่เป็นทางเลือกจะกำหนดการจัดการส่วนที่ดาวน์โหลด เมื่อตั้งค่า merge
เป็น True
วิธีการจะดาวน์โหลดและเชื่อมต่อส่วนวิดีโอทั้งหมดเป็นไฟล์เอาต์พุตเดียว หาก merge
เป็น False
ระบบจะดาวน์โหลดเฉพาะส่วนโดยไม่ต้องต่อเข้าด้วยกัน ทำให้แต่ละส่วนเป็นไฟล์เดี่ยวกัน input_file_path
: คุณสมบัติ Getter/setter สำหรับเส้นทางไฟล์อินพุตoutput_file_path
: คุณสมบัติ Getter/setter สำหรับเส้นทางไฟล์เอาต์พุตskip_space_check
: คุณสมบัติ Getter/setter สำหรับแฟล็กตรวจสอบพื้นที่ข้ามdebug
: คุณสมบัติ Getter/setter สำหรับแฟล็ก debugdebug_file_path
: คุณสมบัติ Getter/setter สำหรับพาธของไฟล์ดีบักmax_threads
: คุณสมบัติ Getter/setter สำหรับจำนวนเธรดสูงสุดที่สามารถดำเนินการแบบขนานได้is_download_complete
: คุณสมบัติ Getter สำหรับสถานะการดาวน์โหลดเสร็จสิ้นverify_ssl
: คุณสมบัติ Getter/setter สำหรับแฟล็กตรวจสอบ SSL ซึ่งจะช่วยข้ามคำเตือน SSL สำหรับ URL ที่ใช้ HTTPS ค่าเริ่มต้นเป็น TrueM3U8DownloaderError
คลาสข้อผิดพลาดนี้ใช้เพื่อส่งสัญญาณปัญหาหรือข้อผิดพลาดใดๆ ที่พบระหว่างการดำเนินการเมธอด M3U8Downloader
M3U8DownloaderError(message: str)
: เริ่มต้น M3U8DownloaderErrorM3U8DownloaderWarning
คลาสคำเตือนนี้ใช้เพื่อส่งสัญญาณปัญหาใดๆ ที่พบระหว่างการดำเนินการเมธอด download_master_playlist
ของคลาส M3U8Downloader
โดยเฉพาะอย่างยิ่งเมื่อไม่มีการส่งผ่านพารามิเตอร์ นอกจากข้อความเตือนแล้ว ตัวแปร json_data
จะถูกส่งกลับพร้อมกับรูปแบบความละเอียดที่มีอยู่ทั้งหมด (ตัวแปร) ในรูปแบบที่มีโครงสร้าง JSON
M3U8DownloaderWarning(message: str, json_data: Optional[list] = None)
: เริ่มต้น M3U8DownloaderWarningสำหรับคำแนะนำการแก้ไขปัญหาโดยละเอียด โปรดดูที่ การแก้ไขปัญหา
โปรดดูใบอนุญาต MIT ภายในโครงการสำหรับข้อมูลเพิ่มเติม
เรายินดีรับการสนับสนุนจากชุมชน! ไม่ว่าคุณจะมีแนวคิดเกี่ยวกับฟีเจอร์ใหม่ การแก้ไขข้อบกพร่อง หรือการปรับปรุง คุณสามารถเปิดปัญหาหรือส่งคำขอดึงข้อมูลบน GitHub ได้เลย