w

İlgili Araçlar

M3U8 Online Player'ı tamamlayabilecek ilgili araçlar ve hizmetler.

Streaming Araçları

1. FFmpeg

Açıklama: Video encoding ve decoding için güçlü multimedya dönüştürme aracı.

Özellikler:

  • Video format dönüştürme
  • HLS/M3U8 encoding
  • Video sıkıştırma
  • Ses çıkarma

Kullanım:

# Video'yu M3U8'e dönüştür
ffmpeg -i input.mp4 -c:v libx264 -c:a aac -f hls -hls_time 10 -hls_list_size 0 output.m3u8

# Farklı kalitelerde playlist oluştur
ffmpeg -i input.mp4 \
  -c:v libx264 -b:v 1000k -c:a aac -b:a 128k -f hls -hls_time 10 -hls_list_size 0 output_1000k.m3u8 \
  -c:v libx264 -b:v 500k -c:a aac -b:a 96k -f hls -hls_time 10 -hls_list_size 0 output_500k.m3u8

2. HLS.js

Açıklama: Tarayıcıda HLS stream'lerini oynatmak için JavaScript kütüphanesi.

Özellikler:

  • Native HLS desteği
  • Adaptive bitrate streaming
  • Hata kurtarma
  • Cross-browser uyumluluğu

Kullanım:

import Hls from 'hls.js';

const video = document.getElementById('video');
const hls = new Hls();

hls.loadSource('https://example.com/stream.m3u8');
hls.attachMedia(video);

3. Video.js

Açıklama: Özelleştirilebilir HTML5 video player framework'ü.

Özellikler:

  • Plugin ekosistemi
  • Responsive tasarım
  • Erişilebilirlik desteği
  • Çoklu format desteği

Kullanım:

import videojs from 'video.js';

const player = videojs('my-video', {
  controls: true,
  responsive: true,
  fluid: true,
});

Dönüştürme Araçları

1. HandBrake

Açıklama: Açık kaynak video dönüştürme uygulaması.

Özellikler:

  • Kullanıcı dostu GUI
  • Çeşitli cihazlar için preset'ler
  • Toplu işlem
  • Kalite kontrolü

Kullanım:

  • handbrake.fr adresinden indirin
  • Uygun preset'i seçin
  • Çıktı formatını H.264 olarak ayarlayın
  • Video dosyasını dönüştürün

2. Shaka Player

Açıklama: Adaptive streaming için JavaScript kütüphanesi.

Özellikler:

  • DASH ve HLS desteği
  • DRM desteği
  • Çevrimdışı oynatma
  • Gelişmiş özellikler

Kullanım:

import shaka from 'shaka-player/dist/shaka-player.compiled.js';

const video = document.getElementById('video');
const player = new shaka.Player(video);

player.load('https://example.com/stream.m3u8');

3. JW Player

Açıklama: Ticari video streaming platformu.

Özellikler:

  • Cloud hosting
  • Analytics
  • Monetizasyon
  • Özel markalama

Kullanım:

jwplayer('myElement').setup({
  file: 'https://example.com/stream.m3u8',
  width: 640,
  height: 360,
});

Sunucu Araçları

1. Nginx

Açıklama: HLS streaming için kullanılabilecek web sunucusu.

Konfigürasyon:

location /hls/ {
    add_header Cache-Control no-cache;
    add_header Access-Control-Allow-Origin *;

    location ~ \.(m3u8)$ {
        add_header Cache-Control no-cache;
        add_header Access-Control-Allow-Origin *;
    }
}

2. Apache HTTP Server

Açıklama: HLS desteği olan popüler web sunucusu.

Konfigürasyon:

<Directory "/var/www/hls">
    Options Indexes FollowSymLinks
    AllowOverride All
    Require all granted

    <Files "*.m3u8">
        Header set Cache-Control "no-cache"
        Header set Access-Control-Allow-Origin "*"
    </Files>
</Directory>

3. Node.js ile Express

Açıklama: HLS streaming için JavaScript sunucusu.

Implementasyon:

const express = require('express');
const app = express();

app.use('/hls', express.static('hls-files'));

app.get('/stream/:id', (req, res) => {
  res.sendFile(`hls-files/${req.params.id}.m3u8`);
});

app.listen(3000);

Monitoring Araçları

1. FFprobe

Açıklama: FFmpeg ile birlikte gelen medya analiz aracı.

Kullanım:

# M3U8 dosyasını analiz et
ffprobe -v quiet -print_format json -show_format -show_streams input.m3u8

# Süre ve bitrate kontrolü
ffprobe -v quiet -show_entries format=duration,bit_rate -of csv=p=0 input.m3u8

2. MediaInfo

Açıklama: Kapsamlı medya bilgi analiz aracı.

Özellikler:

  • Detaylı medya bilgileri
  • Çoklu format desteği
  • Komut satırı ve GUI
  • Çeşitli formatlara export

Kullanım:

# Dosyayı analiz et
mediainfo input.m3u8

# XML'e export et
mediainfo --Output=XML input.m3u8

3. HLS Analyzer

Açıklama: HLS stream'lerini analiz etmek için online araç.

Özellikler:

  • Playlist doğrulama
  • Segment analizi
  • Kalite kontrolü
  • Performans metrikleri

Kullanım:

  • hls-analyzer.com adresini ziyaret edin
  • M3U8 URL'sini girin
  • Sonuçları analiz edin

Test Araçları

1. HLS Test Suite

Açıklama: HLS doğrulaması için test koleksiyonu.

Özellikler:

  • Otomatik test
  • Uyumluluk kontrolü
  • Performans testi
  • Hata simülasyonu

Kullanım:

# Test suite'i yükle
npm install -g hls-test-suite

# Testi çalıştır
hls-test-suite test-stream.m3u8

2. Stream Tester

Açıklama: Video stream test aracı.

Özellikler:

  • Yük testi
  • Kalite izleme
  • Hata tespiti
  • Performans metrikleri

Kullanım:

const StreamTester = require('stream-tester');

const tester = new StreamTester({
  url: 'https://example.com/stream.m3u8',
  duration: 300, // 5 dakika
  quality: 'auto',
});

tester.start();

3. Video Quality Analyzer

Açıklama: Video kalitesini analiz etmek için araç.

Özellikler:

  • PSNR hesaplama
  • SSIM analizi
  • Bitrate analizi
  • Frame analizi

Kullanım:

# Kalite analizi
vqa analyze input.m3u8 --reference reference.mp4

# Rapor oluştur
vqa report --format html --output quality-report.html

Geliştirme Araçları

1. HLS Generator

Açıklama: HLS playlist oluşturmak için araç.

Özellikler:

  • Otomatik segmentasyon
  • Çoklu kalite
  • Özel ayarlar
  • Toplu işlem

Kullanım:

# Video'dan HLS oluştur
hls-generator input.mp4 --output-dir ./hls --qualities 720p,480p,360p

# Özel ayarlar
hls-generator input.mp4 --segment-time 10 --playlist-size 5

2. M3U8 Parser

Açıklama: M3U8 dosyalarını parse etmek için kütüphane.

Özellikler:

  • Playlist parse etme
  • Metadata çıkarma
  • Format doğrulama
  • Playlist değiştirme

Kullanım:

const M3U8Parser = require('m3u8-parser');

const parser = new M3U8Parser();
parser.push('#EXTM3U\n#EXT-X-VERSION:3\n#EXT-X-TARGETDURATION:10');
parser.end();

console.log(parser.manifest);

3. HLS Validator

Açıklama: HLS stream doğrulama aracı.

Özellikler:

  • Format doğrulama
  • Uyumluluk kontrolü
  • Hata raporlama
  • En iyi uygulamalar

Kullanım:

# Stream doğrula
hls-validator https://example.com/stream.m3u8

# Özel kurallarla doğrula
hls-validator --rules custom-rules.json stream.m3u8

CDN Araçları

1. Cloudflare

Açıklama: Streaming desteği olan global CDN.

Özellikler:

  • Global edge lokasyonları
  • DDoS koruması
  • SSL/TLS
  • Cache optimizasyonu

Konfigürasyon:

// HLS için Cloudflare Workers
addEventListener('fetch', (event) => {
  event.respondWith(handleRequest(event.request));
});

async function handleRequest(request) {
  const url = new URL(request.url);
  if (url.pathname.endsWith('.m3u8')) {
    // Özel HLS işleme
  }
}

2. AWS CloudFront

Açıklama: Streaming desteği olan Amazon CDN'i.

Özellikler:

  • Global dağıtım
  • Origin failover
  • Özel başlıklar
  • Gerçek zamanlı metrikler

Konfigürasyon:

# CloudFormation template
Resources:
  CloudFrontDistribution:
    Type: AWS::CloudFront::Distribution
    Properties:
      DistributionConfig:
        Origins:
          - DomainName: example.com
            Id: HLSOrigin
            CustomOriginConfig:
              HTTPPort: 80
              HTTPSPort: 443
              OriginProtocolPolicy: https-only

3. KeyCDN

Açıklama: Performansa odaklanan CDN.

Özellikler:

  • HTTP/2 desteği
  • Brotli sıkıştırma
  • Gerçek zamanlı analitik
  • Özel başlıklar

Kullanım:

# Cache'i temizle
curl -X DELETE "https://api.keycdn.com/zones/purge/{zone_id}.json" \
  -H "Authorization: Bearer {api_key}" \
  -d '{"urls":["https://example.com/stream.m3u8"]}'

Analitik Araçları

1. Google Analytics

Açıklama: Video takibi için analitik platform.

Özellikler:

  • Video etkileşimi
  • Kullanıcı davranışı
  • Performans metrikleri
  • Özel olaylar

Implementasyon:

// Video olaylarını takip et
gtag('event', 'video_play', {
  video_title: 'Stream Başlığı',
  video_duration: 300,
  video_percent: 25,
});

2. Adobe Analytics

Açıklama: Kurumsal analitik platform.

Özellikler:

  • Gelişmiş segmentasyon
  • Gerçek zamanlı raporlama
  • Özel metrikler
  • Entegrasyon yetenekleri

Kullanım:

// Video olaylarını takip et
s.trackVideo({
  name: 'Stream Başlığı',
  length: 300,
  playerID: 'm3u8-player',
  milestone: 25,
});

3. Wistia

Açıklama: Analitik ile video pazarlama platformu.

Özellikler:

  • Video hosting
  • Etkileşim takibi
  • Heatmap'ler
  • Lead üretimi

Entegrasyon:

// Wistia player entegrasyonu
wistiaEmbed = Wistia.embed('video-id', {
  videoOptions: {
    autoPlay: false,
    controlsVisibleOnLoad: true,
  },
});

Güvenlik Araçları

1. DRM Çözümleri

Açıklama: Dijital Haklar Yönetimi çözümleri.

Özellikler:

  • İçerik koruması
  • Lisans yönetimi
  • Multi-DRM desteği
  • Analitik

Implementasyon:

// DRM konfigürasyonu
const drmConfig = {
  'com.widevine.alpha': {
    serverURL: 'https://license.example.com/widevine',
  },
  'com.microsoft.playready': {
    serverURL: 'https://license.example.com/playready',
  },
};

2. Token Kimlik Doğrulama

Açıklama: Streaming için kimlik doğrulama sistemi.

Özellikler:

  • JWT token'ları
  • Zaman tabanlı erişim
  • Kullanıcı doğrulama
  • Güvenli teslimat

Implementasyon:

// Token doğrulama
function validateToken(token) {
  try {
    const decoded = jwt.verify(token, secretKey);
    return decoded.exp > Date.now() / 1000;
  } catch (error) {
    return false;
  }
}

3. Geo-blocking

Açıklama: Coğrafi konuma dayalı erişim kısıtlaması.

Özellikler:

  • IP tabanlı engelleme
  • Ülke kısıtlamaları
  • Bölgeye özel içerik
  • Uyumluluk desteği

Implementasyon:

// Geo-blocking kontrolü
function checkGeoAccess(ip) {
  const country = getCountryFromIP(ip);
  const allowedCountries = ['TR', 'US', 'CA', 'GB'];
  return allowedCountries.includes(country);
}

Optimizasyon Araçları

1. Video Sıkıştırma

Açıklama: Video sıkıştırma araçları.

Özellikler:

  • Çoklu codec'ler
  • Kalite optimizasyonu
  • Toplu işlem
  • Özel preset'ler

Kullanım:

# FFmpeg ile sıkıştırma
ffmpeg -i input.mp4 -c:v libx264 -crf 23 -c:a aac -b:a 128k output.mp4

# Web için optimizasyon
ffmpeg -i input.mp4 -c:v libx264 -preset slow -crf 22 -c:a aac -b:a 128k -movflags +faststart output.mp4

2. Adaptive Bitrate

Açıklama: Adaptif streaming teknolojisi.

Özellikler:

  • Çoklu kalite seviyeleri
  • Otomatik geçiş
  • Bant genişliği optimizasyonu
  • Kullanıcı deneyimi

Implementasyon:

// Adaptive bitrate mantığı
function selectQuality(bandwidth, bufferHealth) {
  if (bandwidth > 5000 && bufferHealth > 0.8) {
    return 'high';
  } else if (bandwidth > 2000 && bufferHealth > 0.5) {
    return 'medium';
  } else {
    return 'low';
  }
}

3. Cache Stratejileri

Açıklama: Optimal performans için cache stratejileri.

Özellikler:

  • Edge caching
  • Tarayıcı caching
  • CDN optimizasyonu
  • Cache invalidation

Implementasyon:

# Nginx cache konfigürasyonu
location ~* \.(m3u8|ts)$ {
    expires 1h;
    add_header Cache-Control "public, immutable";
    add_header Access-Control-Allow-Origin "*";
}

Bu araçlar, M3U8 streaming'inizi daha etkili bir şekilde optimize etmenize ve yönetmenize yardımcı olabilir.

Bu sayfa yardımcı oldu mu?