Adakah terdapat cara untuk menangkap audio dan video daripada teg video HTML dalam Safari?
P粉904450959
P粉904450959 2024-03-31 12:27:03
0
1
468

Dalam chrome dan firefox, kita boleh menggunakan HTMLMediaElement.captureMediaStream() untuk menangkap strim. Tetapi Safari tidak menyokong HTMLMediaElement.captureMediaStream().

Sumber tag video ialah data hls yang diterima dalam segmen.

Adakah terdapat cara lain untuk menangkap data media sebagai MediaStream dalam Safari?

P粉904450959
P粉904450959

membalas semua(1)
P粉845862826

Safari tidak menyokong kaedah tangkapan terusMediaStream, sekurang-kurangnya buat masa ini, seperti yang anda lihat, tetapi satu cara untuk mencapai ini adalah dengan menggunakan kaedah berasaskan ffmpeg pelayar.

Pada masa lalu, menjalankan ffmpeg dalam penyemak imbas tidak praktikal untuk kebanyakan tugas kerana ia terlalu besar dan terlalu perlahan, tetapi pelaksanaan ffmpeg berasaskan WASM (Perhimpunan Web) baru-baru ini telah menjadikannya lebih mudah diakses.

Anda boleh membina penyelesaian berasaskan ffmpeg anda sendiri menggunakan perpustakaan berikut:

Anda benar-benar perlu sedar tentang keperluan untuk sokongan SharedArrayBuffer:

Pautan yang disebutkan di atas ada di sini: https://caniuse.com/sharedarraybuffer

Saya dapati ia berfungsi dengan baik untuk banyak tugas ffmpeg biasa, tetapi ia sensitif kepada fail video yang lebih besar - Saya belum mencuba penukaran HLS-ke-fail, jadi anda perlu mencuba untuk melihat sama ada ia berfungsi untuk keperluan anda . Berikut ialah demo di mana anda boleh menguji kes penggunaan anda: https://ffmpegwasm.netlify. aplikasi/#demo

Arahan ffmpeg yang anda ingin gunakan bergantung pada audio, tetapi kemungkinan besar:

(Lihat soalan dan jawapan ini untuk butiran: Tukar HLS (m3u8) kepada MP4)

Terdapat juga beberapa penyelesaian siap sedia sumber terbuka untuk anda semak - contohnya:

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan