Mot-clef: Streaming
septembre 28th, 2009
netcat & mencoder
Serveur Side
open_streaming.sh
#!/bin/bash
# 500 is acceptable for bitrate, 1000 gives very nice quality
BITRATE=500
MAX_XRES=640
MAX_YRES=480
LISTEN_PORT=443
# oac copy should work fine most of the time
#AUDIO="-oac mp3lame -lameopts preset=192"
AUDIO="-oac copy"
mkfifo "/tmp/maemo_stream-$$"
{ nc -q 0 -l -p $LISTEN_PORT < "/tmp/maemo_stream-$$"; killall -9 mencoder; rm -f "/tmp/maemo_stream-$$"; } &
mencoder -o "/tmp/maemo_stream-$$" $AUDIO -ovc lavc \
-lavcopts vcodec=mpeg4:vbitrate=${BITRATE}:aspect=${MAX_XRES}/${MAX_YRES}:mbd=2:trell:threads=2 \
-idx -zoom -vf-add dsize=${MAX_XRES}:${MAX_YRES}:2,scale \
-vf-add expand=${MAX_XRES}:${MAX_YRES}::::${MAX_XRES}/${MAX_YRES} -vf-add crop=${MAX_XRES}:${MAX_YRES} \
-ffourcc FMP4 "$1"
rm -f "/tmp/maemo_stream-$$"
Client Side
nc -q 0 hostname 443 | mplayer -fs -vo sdl -hardframedrop -cache 512 -cache-min 80 -
Tags: Mencoder, Netcat, Streaming, Video
Posted in App | No Comments »
septembre 28th, 2009
Voici comment streamer tout types de fichiers, audio comme vidéo, contenus sur un serveur distant.
Nous utiliserons pour cela ssh(client/serveur), cat et mplayer.
Configuration du serveur SSH
/etc/ssh/sshd_config
Protocol 2,1
Créer un certificat RSA1
ssh-keygen -t rsa1 -f /usr/local/etc/ssh_host_key -N ""
invoke-rc.d ssh restart
Restarting OpenBSD Secure Shell server: sshd.
Si le démon sshd ne redémarre pas:
mkdir /var/empty
chown root:sys /var/empty
chmod 755 /var/empty
Recompiler ssh avec l’option –with-none

Client (poste bureautique sous Linux par exemple)
ssh -oCypher=none user@serveur -- cat ~/video.avi | mplayer -
Quelques explications pour finir
- Le client se connect en ssh(port:22) -> sur le serveur distant
- Une connexion ssh est ouverte entre le client et le serveur utilisant le protocol SSH1 (clef RSA1)
- Le client lance la commande cat à travers le tunnel ssh (créé avec l’option -oCypher=none), le flux de donnée transite en clair sans encryption sur le réseau allégeant le CPU sur le serveur et optimisant la BP.
- mplayer avec l’option –hard-framedrop améliore encore « le rendu » de la vidéo
Attention cependant certaines vidéos encoder en HD nécessite une BP > 100ko/sec en Up.
Tags: Audio, cat, mplayer, ssh, Streaming, Video
Posted in System | No Comments »