WordPress Video Plugin HACK

Comment rendre plus rapide et plus accessible une page web contenant du flash ?
Une première réponse serait de ne pas intégrer de flash dans les pages web.

Mais si nous avons réellement besoin de flash et que nous souhaitons partager une vidéo intéressante avec la communauté ?
Nous allons charger l’objet flash à la demande de l’utilisateur.

Voici un hack du plugin wordpress video plugin inspiré de ce qui se fait sur Facebook.

Télécharger l’archive wordpress-video-plugin-hack.tar

hack-minify.js


function LoadContent(page,usediv){try{xmlhttp=window.XMLHttpRequest?new XMLHttpRequest():new ActiveXObject("Microsoft.XMLHTTP");}catch(e){alert("Error: Could not load page.");}
document.getElementById(usediv).innerHTML='<img src="http://www.benjaminbaudouin.com/wp-content/plugins/wordpress-video-plugin-hack/loading.gif">';xmlhttp.onreadystatechange=function(){if((xmlhttp.readyState==4)&&(xmlhttp.status==200)){document.getElementById(usediv).innerHTML=xmlhttp.responseText;}}
xmlhttp.open("GET",page);xmlhttp.send(null);return false;}
function toggle_visibility(id){var e=document.getElementById(id);if(e.style.display=='block')
e.style.display='none';else
e.style.display='block';}
function is_visible(id){var e=document.getElementById(id);if(e.style.display=='block')
return 1;else
return 0;}

inclusion dans wordpress header.php

 ... wp_head(); ?>
<script type="text/javascript" src="http://www.benjaminbaudouin.com/wp-content/plugins/wordpress-video-plugin-hack/hack-minify.js"></script>
</head> ...

hack de video.php

// Youtube Code
...
define("YOUTUBE_TARGET", "<div id=\"flashobj###URL###\"><a onclick=\"LoadContent('http://www.benjaminbaudouin.com/wp-content/plugins/wordpress-video-plugin-hack/flashobj.php?url=http://www.youtube.com/v/###URL###&width=###WIDTH###&height=###HEIGHT###','flashobj###URL###');toggle_visibility('flashobj###URL###');\"><img class=\"videothumb\" src=\"http://i1.ytimg.com/vi/###URL###/default.jpg\"><span class=\"videothumbplay\"><img id=\"thumbplay###URL###\" src=\"http://www.benjaminbaudouin.com/wp-content/plugins/wordpress-video-plugin-hack/fbvbs43b.png\"></span></a></div>");
...

les images fbvbs43b.png et loading.gif

style.css (thème thematic)

.videothumb {
cursor: pointer;
}
.videothumbplay {
cursor: pointer;
margin-left: -115px;
}

Voila à quoi ressemble le hack une fois implémenté (cliquez sur l’image pour lancer la vidéo):

Web

Streaming video avec netcat et mencoder

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 -

App

Streaming audio/vidéo avec cat & mplayer over SSH 1 sans chiffrement

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

sshd-compilation

Client (poste bureautique sous Linux par exemple)

ssh -oCypher=none user@serveur -- cat ~/video.avi | mplayer -

Quelques explications pour finir

  1. Le client se connect en ssh(port:22) -> sur le serveur distant
  2. Une connexion ssh est ouverte entre le client et le serveur utilisant le protocol SSH1 (clef RSA1)
  3. 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.
  4. 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.

Web

Avidemux, l’édition vidéo facile sous Linux

Avidemux est semble-t-il un excellent outil d’édition vidéo.

Ce logiciel d’édition vidéo permet :

  • (re)découper des scènes
  • appliquer des filtres sur des scènes
  • encoder en AVI, DVD, MPEG, MP4 et ASF

Il est également possible, et c’est la le point fort du logiciel, de scripter le traitement de la vidéo.
Cela peut s’avérer pratique d’automatiser le traitement de plusieurs vidéos en une seule fois.

Avidemux est disponible sous Linux, BSD, Mac OS X et même Windows.

App

Codecs vidéos mac – Divx, Xvid, Flip4Mac WMV, AC3, A52


Ne cherchez plus !
Pack contenant 9 composants Quicktime.

Télécharger
Installer dans Library/Quicktime
(n’hésitez pas à créer le répertoire si il n’existe pas)

App

Recent Tweets

Catégories