un blog morbido

20090129

streaming server

può capitare di voler fare un'operazioncina così (lasciamo perdere il motivo): avere un flusso video alla definizione maggiore possibile che sia diffuso in streaming tramite protocollo RTP (quindi UDP). quindi non vale l'HTTP/TCP. ossia non vale pubblicare il video su una pagina web. come formato video si ha libertà di scelta, così come per il player. il tutto ovviamente su una rete locale a completa disposizione.
la soluzione adottata, e realizzata, da queste parti è stata la seguente.
- installare su una macchina linux il darwin streaming server
- scaricare dei video hd da nota fabbrica di frutta tramite apposito strumentino
- aggiornare vlc (non fondamentale)
- convertire i file .mov tramite mplayer, mencoder e mp4creator usando lo scriptino seguente

#!/bin/bash
BRATE=5000
rm -f divx2pass.log

mencoder $1 -o /dev/null -ovc x264 -x264encopts pass=1:turbo:bitrate=$BRATE:bframes=1:me=umh:partitions=all:trellis=1:qp
_step=4:qcomp=0.7:direct_pred=auto:keyint=300 -vf scale=-10:-1,harddup -oac faac -faacopts br=192:mpeg=4:object=2 -chann
els 2 -srate 48000 -ofps 24000/1001 &&

mencoder $1 -o $1.avi -ovc x264 -x264encopts pass=2:turbo:bitrate=$BRATE:bframes=1:me=umh:partitions=all:trellis=1:qp_st
ep=4:qcomp=0.7:direct_pred=auto:keyint=300 -vf scale=-10:-1,harddup -oac faac -faacopts br=192:mpeg=4:object=2 -channels
2 -srate 48000 -ofps 24000/1001 &&

mplayer $1.avi -dumpaudio -dumpfile $1.aac &&
mplayer $1.avi -dumpvideo -dumpfile $1.h264 &&

mp4creator -create=$1.aac $1.mp4 &&
mp4creator -create=$1.h264 -rate=23.976 $1.mp4 &&

mp4creator -hint=1 $1.mp4 &&
mp4creator -hint=2 $1.mp4 &&
mp4creator -optimize $1.mp4 &&
mp4creator -list $1.mp4 &&
rm $1.avi $1.aac $1.h264
et voilà! viene fuori un file .mp4 perfettamente intellegibile da vlc (apri sorgente rete -> rtsp://server/file.mp4).
poi per sicurezza, ho anche ridondato il darwin server su una macchina questa volta windows.

Nessun commento:

blogroll