Sam & Max: Python, Django, Git et du cul » video http://sametmax.com Deux développeurs en vadrouille qui se sortent les doigts du code Wed, 05 Feb 2014 14:20:37 +0000 en hourly 1 http://wordpress.org/?v=3.3.1 Ne nous invitez pas http://sametmax.com/ne-nous-invitez-pas/ http://sametmax.com/ne-nous-invitez-pas/#comments Sat, 06 Apr 2013 13:56:21 +0000 Sam http://sametmax.com/?p=5586 Régulièrement on reçoit des invitations Linkedin, Viadeo, Badoo (!) et même Facebook, que ce soit IRL ou pour le blog.

C’est inutile. Nous ne souhaitons pas rejoindre ces réseaux sociaux / sites de rencontre / moteur de cooptation / dernier nom hype.

Déjà dans ma vie je ne suis ni sur Twitter (c’est la raison pour laquelle le compte de Sam et Max ne suit personne : Twitter est une corvée qu’on utilise pour faire connaitre notre blog, pas du tout un outil qu’on aime utiliser), ni sur Facebook, et encore moins sur LinkedIn ou autre. Ce n’est donc pas pour les rejoindre sous cette identité.

Ne vous vexez pas si nous n’acceptons pas vos invitation. Ou si on ne vous suit pas sur telle ou telle plate forme. C’est juste pas notre truc.

flattr this!

]]>
http://sametmax.com/ne-nous-invitez-pas/feed/ 13
s&m.5.lezy…out@spamgourmet.net => erreur http://sametmax.com/sm-5-lezy-outspamgourmet-net-erreur/ http://sametmax.com/sm-5-lezy-outspamgourmet-net-erreur/#comments Thu, 14 Mar 2013 15:40:05 +0000 Sam http://sametmax.com/?p=5419 Bilou, je veux bien te répondre, mais ton adresse me donne une “Delivery Status Notification”

Salut les gars,

J’ai cru comprendre que vous avez des sites de vidéos, vous vous
démerdez comment pour envoyer la vidéo en streaming tous en l’encodant.
Par exemple j’ai des mkv qui doivent être passer en mk4.
Une petite idée ?

Merci d’avance,

Yop,

On encode pas à la volée. On a des workers (powered by kombu) avec des files d’attente qui encodent les videos avec ffmpeg, et qui déclarent quand elles sont prêtes. Derrière on streamp tout ça avec nginx.  Ca demande beaucoup de tests (il n’y a pas de commande magique car ça dépend de ta cible client), et surtout, des disques durs énormes pour stocker tout ça.

Pour ton cas particulier, n’oublie pas qu’il y a 3 choses à prendre en compte:

  • le codec video (h264, mpeg-2, etc)
  • le codec audio (mp3, aac, etc)
  • le conteneur (mkv, avi, mov, etc)

Donc il ne s’agit pas juste de streamer (c’est le plus facile, il suffit de compiler nginx avec l’extension qui va bien et payer un bon serveur), mais bien de trouver la combinaison des 3 qui corresponde à sa cible. Tester si on vise : le HTML5 ? Un lecteur flash ? Un truc lisible sur téléphone mobile (et quels modèles… ?). Quelle définition ? Quelle bande passante ? Quel traffic ?

flattr this!

]]>
http://sametmax.com/sm-5-lezy-outspamgourmet-net-erreur/feed/ 18
Obtenir les infos d’une video avec ffmpeg http://sametmax.com/obtenir-les-infos-dune-video-avec-ffmpeg/ http://sametmax.com/obtenir-les-infos-dune-video-avec-ffmpeg/#comments Sun, 15 Apr 2012 10:36:46 +0000 Max http://sametmax.com/?p=394 Des fois il arrive qu’on ai besoin de savoir à quel type de vidéo on a affaire, ses codec videos, audio, sa résolution ou encore sa durée.

Avec ffmpeg on peut obtenir tout ça très simplement à l’aide de l’option “i”:

ffmpeg -i 1.mp4
ffmpeg version N-39738-g8274b21 Copyright (c) 2000-2012 the FFmpeg developers
  built on Apr 13 2012 13:46:48 with gcc 4.1.2 20080704 (Red Hat 4.1.2-51)
  configuration: --enable-gpl --enable-postproc 
--enable-swscale --enable-avfilter 
--enable-libmp3lame --enable-libvorbis 
--enable-libdirac --enable-libfaac 
--enable-libx264 --enable-nonfree 
--mandir=/opt/local/share/man --enable-shared --enable-pthreads
  libavutil      51. 46.100 / 51. 46.100
  libavcodec     54. 14.101 / 54. 14.101
  libavformat    54.  3.100 / 54.  3.100
  libavdevice    53.  4.100 / 53.  4.100
  libavfilter     2. 67.101 /  2. 67.101
  libswscale      2.  1.100 /  2.  1.100
  libswresample   0. 11.100 /  0. 11.100
  libpostproc    52.  0.100 / 52.  0.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '1.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    creation_time   : 2011-10-30 14:03:08
    encoder         : Lavf54.3.100
  Duration: 00:03:02.50, start: 0.000000, bitrate: 617 kb/s
    Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 640x360, 481 kb/s, 29.97 fps, 29.97 tbr, 30k tbn, 59.94 tbc
    Metadata:
      creation_time   : 2011-10-30 14:03:08
      handler_name    : VideoHandler
    Stream #0:1(und): Audio: aac (mp4a / 0x6134706D), 44100 Hz, stereo, s16, 127 kb/s
    Metadata:
      creation_time   : 2011-10-30 14:03:08
      handler_name    : SoundHandler

Si l’on veut récupérer juste une partie des infos comme la durée on peut faire comme ceci:

ffmpeg -i 1.mp4 2>&1 | gawk 'match($0, /Duration: (.[^,]*)/, matches) {print matches[1]}' 
00:03:02.50

flattr this!

]]>
http://sametmax.com/obtenir-les-infos-dune-video-avec-ffmpeg/feed/ 3