LINK LIVE STREAMING

LINK LIVE STREAMING
- click di gambar untuk streaming ☝️☝️☝️ -

CODING OTODIDAK

Monday, November 11, 2024 · Oleh Hitam Membekas

 
MEMBUAT IFRAME VIDEO DENGAN MENGGUNAKAN POSISI STICKY 

Untuk membuat efek seperti YouTube di mana video tetap berada di atas saat di-scroll ke bawah (sticky video player), kamu bisa menggunakan kombinasi HTML, CSS, dan sedikit JavaScript untuk menangani perilaku tersebut. Berikut adalah penjelasan dan contoh kode untuk mencapai efek ini:

Konsep
HTML: Struktur halaman dengan elemen video di bagian atas dan konten lain di bawahnya.
CSS: Gunakan position: sticky atau position: fixed untuk membuat video tetap di tempatnya saat di-scroll.
JavaScript (opsional): Untuk menangani perilaku tambahan, seperti memperkecil video atau mengubah posisi saat scroll mencapai titik tertentu.

Contoh Kode
Berikut adalah kode sederhana untuk membuat video tetap di atas saat di-scroll, mirip seperti YouTube:

html
<!DOCTYPE html>
<html lang="id">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Sticky Video Player</title>
    <style>
        body {
            margin: 0;
            font-family: Arial, sans-serif;
        }

        /* Kontainer video */
        .video-container {
            position: sticky;
            top: 0;
            width: 100%;
            z-index: 1000;
            background: #000;
        }

        /* Video */
        .video-container video {
            width: 100%;
            max-height: 360px;
            object-fit: cover;
        }

        /* Konten di bawah video */
        .content {
            padding: 20px;
            max-width: 1200px;
            margin: 0 auto;
        }

        /* Untuk simulasi konten panjang */
        .content p {
            margin-bottom: 20px;
        }
    </style>
</head>
<body>
    <div class="video-container">
        <video controls>
            <source src="your-video.mp4" type="video/mp4">
            Browser Anda tidak mendukung elemen video.
        </video>
    </div>
    <div class="content">
        <h1>Judul Konten</h1>
        <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua...</p>
    <!--    Tambahkan lebih banyak konten untuk simulasi scroll -->
        <p>Lorem ipsum dolor sit amet...</p>
        <p>Lorem ipsum dolor sit amet...</p>
        <p>Lorem ipsum dolor sit amet...</p>
        <p>Lorem ipsum dolor sit amet...</p>
        <p>Lorem ipsum dolor sit amet...</p>
        <p>Lorem ipsum dolor sit amet...</p>
        <p>Lorem ipsum dolor sit amet...</p>
    </div>

    <script>
        // Opsional: Tambahkan JavaScript untuk efek tambahan
        window.addEventListener('scroll', function() {
            const videoContainer = document.querySelector('.video-container');
            // Contoh: Tambahkan kelas untuk mengubah ukuran video saat scroll
            if (window.scrollY > 100) {
                videoContainer.style.maxHeight = '200px'; // Kecilkan video
            } else {
                videoContainer.style.maxHeight = '360px'; // Kembalikan ukuran
            }
        });
    </script>
</body> 
</html>

Penjelasan Kode
HTML:
video-container: Div yang membungkus elemen <video> agar bisa diberi properti sticky.
content: Div untuk konten di bawah video, seperti deskripsi atau komentar.
Elemen <video> menggunakan atribut controls untuk menampilkan tombol play/pause, dll.
  
CSS:
position: sticky; top: 0;: Membuat video-container tetap di atas saat di-scroll, selama masih dalam konteks parent-nya.
z-index: 1000;: Memastikan video berada di atas elemen lain.
max-height: Membatasi tinggi video agar tidak memakan terlalu banyak ruang.
object-fit: cover;: Memastikan video terlihat proporsional.
  
JavaScript (opsional):
Digunakan untuk menambahkan efek dinamis, seperti mengubah ukuran video saat pengguna scroll ke bawah (mirip YouTube yang memperkecil video di pojok).
window.addEventListener('scroll', ...): Mendeteksi posisi scroll dan mengubah properti CSS sesuai kebutuhan.
  
Catatan
Ganti your-video.mp4: Ganti dengan URL atau path ke file video yang ingin kamu gunakan.
Responsivitas: Untuk membuatnya responsif seperti YouTube, tambahkan media queries di CSS. Contoh:
  
css
@media (max-width: 768px) {
    .video-container video {
        max-height: 200px;
    }
}
  
  
Efek Mini-Player (seperti YouTube): Untuk membuat video berpindah ke pojok kanan bawah saat scroll, kamu bisa mengubah position: sticky menjadi position: fixed dengan JavaScript dan menyesuaikan right: 20px; bottom: 20px; width: 300px;.
  
Contoh:
javascript
  
if (window.scrollY > 500) {
    videoContainer.style.position = 'fixed';
    videoContainer.style.right = '20px';
    videoContainer.style.bottom = '20px';
    videoContainer.style.width = '300px';
    videoContainer.style.top = 'auto';
} else {
    videoContainer.style.position = 'sticky';
    videoContainer.style.right = 'auto';
    videoContainer.style.bottom = 'auto';
    videoContainer.style.width = '100%';
    videoContainer.style.top = '0';
}
  
Browser Compatibility: 
position: sticky didukung oleh hampir semua browser modern. Jika kamu perlu mendukung browser lama, gunakan position: fixed dengan JavaScript untuk kontrol lebih baik.
Video Autoplay: Jika ingin video autoplay, tambahkan atribut autoplay muted pada tag <video>. Contoh: <video controls autoplay muted>.
  
Tips Tambahan
Simulasi YouTube: Untuk meniru YouTube lebih lanjut, tambahkan elemen seperti judul video, tombol like/dislike, dan kolom komentar di dalam .content.
Performa: Gunakan format video yang dioptimalkan (seperti MP4 dengan codec H.264) untuk memastikan loading cepat.
Aksesibilitas: Tambahkan teks alternatif atau subtitle untuk video agar lebih mudah diakses.


 MODE IFRAME DAN BOTTON DIAM KETIKA DI SCROLL 

Untuk membuat efek seperti streaming channel TV dengan <iframe> (misalnya, video dari YouTube atau platform streaming lain) yang tetap di atas saat di-scroll ke bawah, mirip dengan konsep sticky video player, kamu bisa menggunakan HTML, CSS, dan sedikit JavaScript. Selain itu, kamu ingin ada tombol di bawah <iframe> yang tetap menyatu dengan iframe, sehingga keduanya tetap di posisi atas saat di-scroll. Berikut adalah penjelasan dan contoh kode untuk mencapai efek ini.
Konsep


HTML: Struktur halaman dengan <iframe> untuk menampilkan video streaming dan elemen tombol di bawahnya, di dalam kontainer yang sama. Konten lain diletakkan di bawahnya.


CSS: Gunakan position: sticky pada kontainer yang membungkus <iframe> dan tombol untuk membuatnya tetap di atas saat di-scroll.


JavaScript (opsional): Untuk menambahkan efek tambahan, seperti mengubah ukuran <iframe> atau mengalihkan tombol ke perilaku tertentu saat di-scroll.


Contoh Kode
Berikut adalah kode untuk membuat <iframe> streaming dengan tombol di bawahnya tetap di atas saat di-scroll:


html
<!DOCTYPE html>
<html lang="id">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Sticky Iframe Streaming</title>
    <style>
        body {
            margin: 0;
            font-family: Arial, sans-serif;
        }

        /* Kontainer untuk iframe dan tombol */
        .streaming-container {
            position: sticky;
            top: 0;
            width: 100%;
            z-index: 1000;
            background: #000;
            padding-bottom: 10px; /* Jarak antara iframe dan tombol */
        }

        /* Iframe untuk streaming */
        .streaming-container iframe {
            width: 100%;
            height: 360px;
            border: none;
        }

        /* Kontainer tombol */
        .button-container {
            text-align: center;
            padding: 10px 0;
        }

        /* Styling tombol */
        .button-container button {
            padding: 10px 20px;
            font-size: 16px;
            background-color: #ff0000;
            color: #fff;
            border: none;
            border-radius: 5px;
            cursor: pointer;
        }

        .button-container button:hover {
            background-color: #cc0000;
        }

        /* Konten di bawah */
        .content {
            padding: 20px;
            max-width: 1200px;
            margin: 0 auto;
        }

        .content p {
            margin-bottom: 20px;
        }
    </style>
</head>
<body>
    <div class="streaming-container">
        <iframe 
            src="https://www.youtube.com/embed/dQw4w9WgXcQ" 
            title="Streaming Video" 
            allowfullscreen>
        </iframe>
        <div class="button-container">
            <button onclick="alert('Tombol diklik!')">Tonton Sekarang</button>
        </div>
    </div>
    <div class="content">
        <h1>Judul Konten</h1>
        <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua...</p>
        <!-- Tambahkan lebih banyak konten untuk simulasi scroll -->
        <p>Lorem ipsum dolor sit amet...</p>
        <p>Lorem ipsum dolor sit amet...</p>
        <p>Lorem ipsum dolor sit amet...</p>
        <p>Lorem ipsum dolor sit amet...</p>
        <p>Lorem ipsum dolor sit amet...</p>
        <p>Lorem ipsum dolor sit amet...</p>
        <p>Lorem ipsum dolor sit amet...</p>
    </div>

    <script>
        // Opsional: Tambahkan JavaScript untuk efek tambahan
        window.addEventListener('scroll', function() {
            const streamingContainer = document.querySelector('.streaming-container');
            // Contoh: Kecilkan iframe saat scroll
            if (window.scrollY > 100) {
                streamingContainer.querySelector('iframe').style.height = '200px';
            } else {
                streamingContainer.querySelector('iframe').style.height = '360px';
            }
        });
    </script>
</body>
</html>
Penjelasan Kode
HTML:
streaming-container: Div yang membungkus <iframe> dan tombol agar keduanya tetap menyatu dan sticky.
<iframe>: Digunakan untuk menampilkan video streaming (contoh menggunakan video YouTube, ganti src dengan URL streaming yang kamu inginkan).
button-container: Div yang berisi tombol di bawah <iframe>.
content: Div untuk konten tambahan di bawah, seperti deskripsi atau informasi lainnya.
CSS:
position: sticky; top: 0;: Membuat streaming-container tetap di atas saat di-scroll.
z-index: 1000;: Memastikan kontainer berada di atas elemen lain.
iframe { width: 100%; height: 360px; }: Mengatur ukuran <iframe> agar responsif dan proporsional.
button-container dan button: Mengatur tampilan dan posisi tombol agar rapi dan terpusat.
padding dan background: Memberikan jarak dan latar belakang untuk estetika.
JavaScript (opsional):
Digunakan untuk efek dinamis, seperti mengubah tinggi <iframe> saat pengguna scroll (mirip YouTube yang memperkecil video).
window.addEventListener('scroll', ...): Mendeteksi posisi scroll dan mengubah properti CSS <iframe>.
Catatan
Ganti URL <iframe>: Ganti src="https://www.youtube.com/embed/dQw4w9WgXcQ" dengan URL streaming yang kamu gunakan (misalnya, dari platform seperti Twitch, Vimeo, atau server streaming lainnya).
Responsivitas: Untuk membuatnya responsif, tambahkan media queries:
css
@media (max-width: 768px) {
    .streaming-container iframe {
        height: 200px;
    }
    .button-container button {
        padding: 8px 16px;
        font-size: 14px;
    }
}
Mini-Player (opsional): Jika ingin <iframe> dan tombol berpindah ke pojok kanan bawah seperti YouTube, ubah position: sticky menjadi position: fixed dengan JavaScript:
javascript
if (window.scrollY > 500) {
    streamingContainer.style.position = 'fixed';
    streamingContainer.style.right = '20px';
    streamingContainer.style.bottom = '20px';
    streamingContainer.style.width = '300px';
    streamingContainer.style.top = 'auto';
    streamingContainer.querySelector('iframe').style.height = '150px';
} else {
    streamingContainer.style.position = 'sticky';
    streamingContainer.style.right = 'auto';
    streamingContainer.style.bottom = 'auto';
    streamingContainer.style.width = '100%';
    streamingContainer.style.top = '0';
    streamingContainer.querySelector('iframe').style.height = '360px';
}
Fungsi Tombol: Tombol saat ini hanya menampilkan alert saat diklik (onclick="alert('Tombol diklik!')"). Kamu bisa mengganti fungsinya, misalnya untuk membuka link, memutar stream lain, atau aksi lainnya:


html
<button onclick="window.location.href='https://example.com'">Buka Channel</button>
Browser Compatibility: position: sticky didukung di hampir semua browser modern. Untuk browser lama, gunakan position: fixed dengan JavaScriptuu.
Keamanan <iframe>: Pastikan URL streaming aman dan mendukung embedding. Beberapa platform mungkin memerlukan parameter seperti allowfullscreen atau izin khusus.
Tips Tambahan
Desain Mirip TV Streaming: Tambahkan elemen seperti logo channel, jadwal acara, atau daftar putar di .content untuk menyerupai situs streaming TV.
Autoplay: Beberapa platform streaming mendukung autoplay di <iframe>. Cek dokumentasi platform (misalnya, YouTube menyediakan parameter autoplay=1 di URL).
Aksesibilitas: Tambahkan title pada <iframe> dan pastikan tombol memiliki teks yang jelas untuk screen reader.
Performa: Jika streaming lambat, pastikan server atau platform streaming mendukung koneksi cepat dan format yang dioptimalkan.

 

 

- -