pym3u8downloader
M3U8 Downloader adalah kelas Python yang dirancang untuk mengunduh dan menggabungkan file video dari playlist M3U8, termasuk playlist master. Kelas ini menawarkan fungsionalitas komprehensif untuk mengelola file playlist M3U8, mendownload segmen video, menggabungkannya secara opsional ke dalam satu file video, dan menangani berbagai kondisi kesalahan.
M3U8Downloader dapat diinstal menggunakan 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)
: Menginisialisasi objek M3U8Downloader dengan parameter yang ditentukan. download_playlist(merge: bool = True)
: Mengunduh file video dari playlist M3U8. Parameter merge
opsional menentukan penanganan segmen yang diunduh. Saat merge
diatur ke True
, metode akan mengunduh dan menggabungkan semua segmen video ke dalam satu file keluaran. Jika merge
adalah False
, ia hanya mengunduh segmen tanpa menggabungkannya, menjaga setiap segmen sebagai file individual.download_master_playlist(name: Optional[str] = None, bandwidth: Optional[str] = None, resolution: Optional[str] = None, merge: bool = True)
: Mengunduh file video dari daftar putar master M3U8, dengan varian tertentu yang dipilih berdasarkan parameter opsional seperti name
, bandwidth
, dan resolution
. Parameter merge
opsional menentukan penanganan segmen yang diunduh. Saat merge
diatur ke True
, metode akan mengunduh dan menggabungkan semua segmen video ke dalam satu file keluaran. Jika merge
adalah False
, ia hanya mengunduh segmen tanpa menggabungkannya, menjaga setiap segmen sebagai file individual. input_file_path
: Properti pengambil/penyetel untuk jalur file masukan.output_file_path
: Properti pengambil/penyetel untuk jalur file keluaran.skip_space_check
: Properti pengambil/penyetel untuk tanda centang lewati spasi.debug
: Properti pengambil/penyetel untuk tanda debug.debug_file_path
: Properti pengambil/penyetel untuk jalur file debug.max_threads
: Properti pengambil/penyetel untuk jumlah maksimum thread yang dapat dieksekusi secara paralel.is_download_complete
: Properti pengambil untuk status penyelesaian unduhan.verify_ssl
: Properti pengambil/penyetel untuk tanda verifikasi SSL. Ini membantu melewati peringatan SSL untuk URL berbasis HTTPS. Defaultnya adalah Benar.M3U8DownloaderError
Kelas kesalahan ini digunakan untuk menandakan masalah atau kesalahan apa pun yang ditemui selama pelaksanaan metode M3U8Downloader
.
M3U8DownloaderError(message: str)
: Inisialisasi M3U8DownloaderError.M3U8DownloaderWarning
Kelas peringatan ini digunakan untuk memberi sinyal masalah apa pun yang ditemui selama eksekusi metode download_master_playlist
kelas M3U8Downloader
, terutama ketika tidak ada parameter yang diteruskan. Bersamaan dengan pesan peringatan, variabel json_data
dikembalikan dengan semua format resolusi (varian) yang tersedia dalam format terstruktur JSON.
M3U8DownloaderWarning(message: str, json_data: Optional[list] = None)
: Inisialisasi M3U8DownloaderWarning.Untuk panduan pemecahan masalah terperinci, silakan merujuk ke PEMECAHAN MASALAH.
Silakan merujuk ke Lisensi MIT dalam proyek untuk informasi lebih lanjut.
Kami menyambut kontribusi dari komunitas! Apakah Anda mempunyai ide untuk fitur baru, perbaikan bug, atau penyempurnaan, jangan ragu untuk membuka masalah atau mengirimkan permintaan penarikan di GitHub.