Conception d'un clone youtube

Nouveau WRInaute
Merci Mitirapa pour ta reponse, entre tps j'ai essaye tout betement un .htaccess plutot que des ini_set et ca passe , par contre bien que mes valeurs soient assez large ca bloque à 9Mo ce qui est assez contraignant, à voir
 
WRInaute passionné
ah c'est bizarre, dans ce cas je pense que t'as du oublier un parametre, perso j'en ai changé pas mal pour que ca change dans les configs php et apache
 
Nouveau WRInaute
salut merci pour ce tuto,

je découvre linux en meme temps donc c'est pas facile lol

donc sur une gentoo, jai emerge ffmpeg, mais le .mp4 ne passait pas,
donc jai recompilé avec l'option ffmpeg xvid et là ca passe.

mais maintenant mon probleme, c'est le 3GP, quelqu'un aurait il une idée ?

voilà ce que donne ma conversion :
Code:
FFmpeg version SVN-rUNKNOWN, Copyright (c) 2000-2006 Fabrice Bellard, et al.
  configuration:  --prefix=/usr --libdir=/usr/lib --shlibdir=/usr/lib --mandir=/usr/share/man --enable-static --enable-shared --cc=i386-pc-linux-gnu-gcc --disable-mmx --disable-altivec --disable-debug --disable-v4l --disable-v4l2 --disable-dv1394 --disable-network --disable-opts --enable-mp3lame --enable-a52 --enable-xvid --enable-vorbis --enable-libogg --enable-dts --enable-x264 --enable-faad --enable-faac --enable-gpl --enable-pp --disable-strip 
  libavutil version: 49.0.1
  libavcodec version: 51.20.0
  libavformat version: 50.6.0
  built on Feb 18 2007 01:12:03, gcc: 4.1.1 (Gentoo 4.1.1)
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/var/www/localhost/test/tmp/MOV00016.3gp':
  Duration: 00:01:28.0, start: 0.000000, bitrate: 79 kb/s
  Stream #0.0(jpn): Video: h263, yuv420p, 176x144, 29.97 fps(r)
  Stream #0.1(jpn): Audio: samr / 0x726D6173, 8000 Hz, mono
File '/var/www/localhost/test/tmp/MOV00016.3gp.flv' already exists. Overwrite ? [y/N] y
Output #0, flv, to '/var/www/localhost/test/tmp/MOV00016.3gp.flv':
  Stream #0.0: Video: flv, yuv420p, 320x240, q=2-31, 200 kb/s, 29.97 fps(c)
  Stream #0.1: Audio: mp3, 22050 Hz, mono, 32 kb/s
Stream mapping:
  Stream #0.0 -> #0.0
  Stream #0.1 -> #0.1
Unsupported codec (id=73728) for input stream #0.1


EDIT : c'est bon j'ai trouvé, il faut recompiler ffmpeg avec le flag AMR

donc maintenant je n'ai plus de soucis à ce niveau là mais j'ai une question.

comment faire pour que le .flv ne soit pas plus gros que le fichbier video original ?

J'ai fais plusieurs test :

Mpg 50 M° > flv 6M° >>>> GOOD !
Wmv 1M° > flv 700K° >>>> GOOD !

Mais ceux là pas top :

Avi 200k° > Flv 300k°
Mp4 40K° > Flv 135K°
3gp 800k° > Flv 2500K°
 
WRInaute occasionnel
J'ai un petit soucis... sur certaines vidéos le fichier flash flv est coupé au bout de 1 minute 30 environ.
Le fichier original qui est uploadé est bel et bien commplet.

Une idée sur la/les causes ?

Merci
 
WRInaute occasionnel
Code:
#!/bin/sh
# script /home/ff

ls -R /home/site/upload/videos/uploads/* | while read fichier
do

file "$fichier" |grep "video" 1>/dev/null &&
fichier2=${fichier/uploads}
fichier2=${fichier2/avi/flv}
fichier2=${fichier2/mpeg/flv}
fichier2=${fichier2/mpg/flv}
fichier2=${fichier2/wmv/flv}
fichier2=${fichier2/divx/flv}
fichier2=${fichier2/AVI/flv}
fichier2=${fichier2/MPEG/flv}
fichier2=${fichier2/MPG/flv}
fichier2=${fichier2/WMV/flv}
fichier2=${fichier2/DIVX/flv}
fichier2=${fichier2/mov/flv}
fichier2=${fichier2/MOV/flv}
if /usr/local/bin/ffmpeg -i "$fichier" -acodec mp3 -f flv -s 450x340 -ar 22050 -b 600k -minrate 600k -maxrate 600k -bufsize 224KiB "$fichier2" 

mv "$fichier" /home/site/upload/videos/uploads/archives
then echo "Conversion du fichier $fichier reussi."

else echo "Probleme de conversion du fichier $fichier"
fi


/usr/local/bin/ffmpeg -i "$fichier2" -vcodec mjpeg -vframes 1 -an -f rawvideo -s 450x340 -ss 2 "$fichier2.jpg"
done

Ca fonctionne sauf là ça fait la deuxième fois qu'un problème m'est remonté.
 
WRInaute impliqué
Je pense que ton code est bon.

a ca avait marché auparavant.

tu as toujours de la place sur ton serveur?

c'est avec le même fichier que tu testes?
 
WRInaute occasionnel
Ca fait la deuxième vidéo qui me fait ça. Le disque est loin d'être plein... je vais essayer de ré-encoder l'original avec d'autres codec audio/video, elles sont peut-être nativement encodée avec un truc que ffpmeg digère mal ? :?
A suivre....
 
WRInaute occasionnel
Bon après tout un tas de tests j'avoue que je patine de plus en plus dans la semoule...

J'ai des vidéos qui avaient été envoyées par des utilisateurs et parfaitement converties en flv. Si je renvois les mêmes originaux, j'ai le même symptôme, mon fichier flv généra ne fait que 1 min 34. :?

J'ai essayé de remettre des anciens paramètres qui fonctionnaient aussi avant que je n'optimise la qualité et pareil.

Là ça me dépasse....

Une histoire de time out quelque part ???
 
WRInaute occasionnel
Bon je crois que j'ai compris....

Mon script bash est lancé par tâche cron toutes les 15 minutes... or sur de grosses vidéos l'encodage n'est pas toujours fini au bout de 15 minutes, donc le fait de relancer le script "fou la pagaille".
Comment pourrais-je m'en sortir sans allonger la durée entre deux executions du cron?

Merci.
 
WRInaute occasionnel
Sur mes flv, le player ne fonctionne pas correctement. Il lis, mais impossible d'avancer :(.

C'est un soucis d'encodage pourtant je fais une commande toute simple avec ffmpeg:
ffmpeg -i entree.avi sortie.flv

Qqun a t il deja eu ce soucis ?
 
Nouveau WRInaute
Bonjour,
Je fais actuelement un site ds le style youtube, qqn saurait comment créer des vignettes pour les vidéos?
j'ai regardé du coté de ffmpeg mais je ne sais pas comment installer l'extension sur mon hebergeure "1and1".
 
Nouveau WRInaute
Bonjour,

Il faut mieux utiliser Mencoder pour réaliser les .flv car ce dernier est capable de décoder plus de vidéos que ffmpeg et gère mieux certaines erreurs d'encodage.
 
WRInaute occasionnel
Petite question technique :
Est-ce que ffmpeg permet de redimensionner de façon aisée ?

Genre j'ai une vidéo qui a des dimensions AxB :

- Est-ce possible de récupérer ses dimensions via une commande particulière, avant conversion pour ensuite faire une petite règle de 3 et redimensionner comme on veut, mais proportionnellement ?

- Est-ce possible de ne spécifier que la hauteur (ou la largeur) de la vidéo de destination, en laissant ffmpeg trouver la largeur (ou la hauteur), de façon automatique et proportionnelle ?

Je n'ai rien vu dans la doc, je m'interroge ^^
 
WRInaute occasionnel
Hop, je me réponds à moi même :)
Un petit ffmpeg -i fichier puis parsage de la sortie et on récupère les infos pour en faire ce qu'on veut ensuite...
 
Nouveau WRInaute
salut nalrem,

Si je peux me permettre, on peut le faire directement avec mencoder (qui exploite d'ailleurs les librairies ffmpeg). Mencoder est moins facile à prendre en main que FFmpeg mais plus paramétrable.

Emettons qu'on veuille une largeur de 320 et que la hauteur soit calculée automatiquement en fonction du rapport l/h original :
Code:
-vf scale=320:-3
Si on souhaite aussi que la vidéo fasse 240 maximum de hauteur, on ajoute un second redimensionnement se basant sur le premier : mettre à 240 de haut seulement si la hauteur est supérieur à 240, et dans ce cas calculer la largeur pour garder le rapport l/h :
Code:
-vf scale=320:-3,scale=-3:240::::::1
Si en plus on veut ajouter automatiquement des bandes noires (à droite et gauche ou en haut et bas) de sorte que la vidéo fasse précisément 320x240 (sans être déformée bien sûr) :
Code:
-vf scale=320:-3,scale=-3:240::::::1,expand=320:240
 
Nouveau WRInaute
steph.azerty a dit:
salut merci pour ce tuto,

mais maintenant mon probleme, c'est le 3GP, quelqu'un aurait il une idée ?

voilà ce que donne ma conversion :
Code:
FFmpeg version SVN-rUNKNOWN, Copyright (c) 2000-2006 Fabrice Bellard, et al.
  configuration:  --prefix=/usr --libdir=/usr/lib --shlibdir=/usr/lib --mandir=/usr/share/man --enable-static --enable-shared --cc=i386-pc-linux-gnu-gcc --disable-mmx --disable-altivec --disable-debug --disable-v4l --disable-v4l2 --disable-dv1394 --disable-network --disable-opts --enable-mp3lame --enable-a52 --enable-xvid --enable-vorbis --enable-libogg --enable-dts --enable-x264 --enable-faad --enable-faac --enable-gpl --enable-pp --disable-strip 
  libavutil version: 49.0.1
  libavcodec version: 51.20.0
  libavformat version: 50.6.0
  built on Feb 18 2007 01:12:03, gcc: 4.1.1 (Gentoo 4.1.1)
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/var/www/localhost/test/tmp/MOV00016.3gp':
  Duration: 00:01:28.0, start: 0.000000, bitrate: 79 kb/s
  Stream #0.0(jpn): Video: h263, yuv420p, 176x144, 29.97 fps(r)
  Stream #0.1(jpn): Audio: samr / 0x726D6173, 8000 Hz, mono
File '/var/www/localhost/test/tmp/MOV00016.3gp.flv' already exists. Overwrite ? [y/N] y
Output #0, flv, to '/var/www/localhost/test/tmp/MOV00016.3gp.flv':
  Stream #0.0: Video: flv, yuv420p, 320x240, q=2-31, 200 kb/s, 29.97 fps(c)
  Stream #0.1: Audio: mp3, 22050 Hz, mono, 32 kb/s
Stream mapping:
  Stream #0.0 -> #0.0
  Stream #0.1 -> #0.1
Unsupported codec (id=73728) for input stream #0.1

EDIT : c'est bon j'ai trouvé, il faut recompiler ffmpeg avec le flag AMR
Bonjour à tous
j'ai exactement le méme probléme que toi steph.azerty, et g pa su comment recompiler ffmpeg avec le flag amr.
Merci de bien vouloir m'aider :D
 
WRInaute occasionnel
Réinstallant mon système sur un nouveau serveur j'ai essayé de chercher d'autres tutos que celui indiqué au début de topic pour ffmpeg et j'ai trouvé quelque chose de simplissime que je viens partager avec vous.
Ce tuto vous concerne si vous etes sous Debian (etch dans mon exmple) par contre.

Tout d'abord ajoutez à votre source.list :
Code:
## Multimedia
#debian-marillat apt GPG key : Install the debian-multimedia-keyring package.
deb http://www.debian-multimedia.org etch main
deb-src http://mirror.home-dn.net/debian-multimedia etch main

Avant l'update il est nécessaire d'installer si vous ne l'avez pas :

Code:
apt-get install debian-multimedia-keyring

Faire l'update :

Code:
apt-get update

et installer :

Code:
apt-get install ffmpeg

Pour voir le résultat :

Code:
ffmpeg -formats

et là.... que du bonheur :)

Code:
File formats:
  E 3g2             3gp2 format
  E 3gp             3gp format
 D  4xm             4X Technologies format
 D  MTV             MTV format
 D  RoQ             Id RoQ format
 D  aac             ADTS AAC
 DE ac3             raw ac3
  E adts            ADTS AAC
 DE aiff            Audio IFF
 DE alaw            pcm A law format
 DE amr             3gpp amr file format
 DE asf             asf format
  E asf_stream      asf format
 DE au              SUN AU Format
 DE audio_device    audio grab and output
 DE avi             avi format
 D  avs             avs format
  E crc             crc testing format
 D  daud            D-Cinema audio format
 D  dsicin          Delphine Software International CIN format
 D  dts             raw dts
 DE dv              DV video format
 D  dv1394          dv1394 A/V grab
  E dvd             MPEG2 PS format (DVD VOB)
 D  dxa             dxa
 D  ea              Electronic Arts Multimedia Format
 DE ffm             ffm format
 D  film_cpk        Sega FILM/CPK format
 DE flac            raw flac
 D  flic            FLI/FLC/FLX animation format
 DE flv             flv format
  E framecrc        framecrc testing format
 DE gif             GIF Animation
 DE gxf             GXF format
 DE h261            raw h261
 DE h263            raw h263
 DE h264            raw H264 video format
 D  idcin           Id CIN format
 DE image2          image2 sequence
 DE image2pipe      piped image2 sequence
 D  ingenient       Ingenient MJPEG
 D  ipmovie         Interplay MVE format
 DE m4v             raw MPEG4 video format
 D  matroska        Matroska file format
 DE mjpeg           MJPEG video
 D  mm              American Laser Games MM format
 DE mmf             mmf format
  E mov             mov format
 D  mov,mp4,m4a,3gp,3g2,mj2 QuickTime/MPEG4/Motion JPEG 2000 format
  E mp2             MPEG audio layer 2
 DE mp3             MPEG audio layer 3
  E mp4             mp4 format
 D  mpc             musepack
 DE mpeg            MPEG1 System format
  E mpeg1video      MPEG video
  E mpeg2video      MPEG2 video
 DE mpegts          MPEG2 transport stream format
 D  mpegvideo       MPEG video
  E mpjpeg          Mime multipart JPEG format
 DE mulaw           pcm mu law format
 D  mxf             MXF format
 D  nsv             NullSoft Video format
  E null            null video format
 D  nut             nut format
 D  nuv             NuppelVideo format
 DE ogg             Ogg format
  E psp             psp mp4 format
 D  psxstr          Sony Playstation STR format
 DE rawvideo        raw video format
 D  redir           Redirector format
 DE rm              rm format
  E rtp             RTP output format
 D  rtsp            RTSP input format
 DE s16be           pcm signed 16 bit big endian format
 DE s16le           pcm signed 16 bit little endian format
 DE s8              pcm signed 8 bit format
 D  sdp             SDP
 D  shn             raw shorten
 D  smk             Smacker Video
 D  sol             Sierra SOL Format
  E svcd            MPEG2 PS format (VOB)
 DE swf             Flash format
 D  tiertexseq      Tiertex Limited SEQ format
 D  tta             true-audio
 DE u16be           pcm unsigned 16 bit big endian format
 DE u16le           pcm unsigned 16 bit little endian format
 DE u8              pcm unsigned 8 bit format
 D  vc1             raw vc1
  E vcd             MPEG1 System format (VCD)
 D  video4linux     video grab
 D  video4linux2    video grab
 D  vmd             Sierra VMD format
  E vob             MPEG2 PS format (VOB)
 DE voc             Creative Voice File format
 DE wav             wav format
 D  wc3movie        Wing Commander III movie format
 D  wsaud           Westwood Studios audio format
 D  wsvqa           Westwood Studios VQA format
 D  wv              WavPack
 DE yuv4mpegpipe    YUV4MPEG pipe format

Codecs:
 D V    4xm
 D V D  8bps
 D V    VMware video
 DEA    aac
 D V D  aasc
 DEA    ac3
 DEA    adpcm_4xm
 DEA    adpcm_adx
 DEA    adpcm_ct
 DEA    adpcm_ea
 DEA    adpcm_ima_dk3
 DEA    adpcm_ima_dk4
 DEA    adpcm_ima_qt
 DEA    adpcm_ima_smjpeg
 DEA    adpcm_ima_wav
 DEA    adpcm_ima_ws
 DEA    adpcm_ms
 DEA    adpcm_sbpro_2
 DEA    adpcm_sbpro_3
 DEA    adpcm_sbpro_4
 DEA    adpcm_swf
 DEA    adpcm_xa
 DEA    adpcm_yamaha
 D A    alac
 DEA    amr_nb
 DEA    amr_wb
 DEV D  asv1
 DEV D  asv2
 D V D  avs
 DEV    bmp
 D V D  camstudio
 D V D  camtasia
 D V D  cavs
 D V D  cinepak
 D V D  cljr
 D A    cook
 D V D  cyuv
 D A    dca
 D V D  dnxhd
 D A    dsicinaudio
 D V D  dsicinvideo
 D A    dts
 DES    dvbsub
 DES    dvdsub
 DEV D  dvvideo
 D V    dxa
 DEV D  ffv1
 DEVSD  ffvhuff
 DEA    flac
 DEV D  flashsv
 D V D  flic
 DEVSD  flv
 D V D  fraps
 DEA    g726
 DEV    gif
 DEA    gsm
 D A    gsm_ms
 DEV D  h261
 DEVSDT h263
 D VSD  h263i
  EV    h263p
 DEV DT h264
 DEVSD  huffyuv
 D V D  idcinvideo
 D A    imc
 D V D  indeo2
 D V    indeo3
 D A    interplay_dpcm
 D V D  interplayvideo
  EV    jpegls
 D V    kmvc
  EV    libtheora
  EV    ljpeg
 D V D  loco
 D A    mace3
 D A    mace6
 D V D  mdec
 DEV D  mjpeg
 D V D  mjpegb
 D V D  mmvideo
 DEA    mp2
 DEA    mp3
 D A    mp3adu
 D A    mp3on4
 D A    mpc sv7
 DEVSDT mpeg1video
 DEVSDT mpeg2video
 DEVSDT mpeg4
 D A    mpeg4aac
 D VSDT mpegvideo
 D VSDT mpegvideo_xvmc
 DEVSD  msmpeg4
 DEVSD  msmpeg4v1
 DEVSD  msmpeg4v2
 D V D  msrle
 D V D  msvideo1
 D V D  mszh
 D V D  nuv
 DEV    pam
 DEV    pbm
 DEA    pcm_alaw
 DEA    pcm_mulaw
 DEA    pcm_s16be
 DEA    pcm_s16le
 DEA    pcm_s24be
 DEA    pcm_s24daud
 DEA    pcm_s24le
 DEA    pcm_s32be
 DEA    pcm_s32le
 DEA    pcm_s8
 DEA    pcm_u16be
 DEA    pcm_u16le
 DEA    pcm_u24be
 DEA    pcm_u24le
 DEA    pcm_u32be
 DEA    pcm_u32le
 DEA    pcm_u8
 DEV    pgm
 DEV    pgmyuv
 DEV    png
 DEV    ppm
 D A    qdm2
 D V D  qdraw
 D V D  qpeg
 D V D  qtrle
 DEV    rawvideo
 D A    real_144
 D A    real_288
 D A    roq_dpcm
 D V D  roqvideo
 D V D  rpza
 DEV D  rv10
 DEV D  rv20
 D A    shorten
 D A    smackaud
 D V    smackvid
 D V D  smc
 DEV    snow
 D A    sol_dpcm
 DEA    sonic
  EA    sonicls
 D V D  sp5x
 DEV D  svq1
 D VSD  svq3
 DEV    targa
 D V    theora
 D V D  tiertexseqvideo
 D V    tiff
 D V D  truemotion1
 D V D  truemotion2
 D A    truespeech
 D A    tta
 D V D  ultimotion
 D V    vc1
 D V D  vcr1
 D A    vmdaudio
 D V D  vmdvideo
 DEA    vorbis
 D V    vp3
 D V    vp5
 D V    vp6
 D V    vp6f
 D V D  vqavideo
 D A    wavpack
 DEA    wmav1
 DEA    wmav2
 DEVSD  wmv1
 DEVSD  wmv2
 D V    wmv3
 D V D  wnv1
 D A    ws_snd1
 D A    xan_dpcm
 D V D  xan_wc3
 D V D  xl
  EV    xvid
 DEV D  zlib
 DEV    zmbv

Supported file protocols:
 file: pipe: udp: rtp: tcp: http:
Frame size, frame rate abbreviations:
 ntsc pal qntsc qpal sntsc spal film ntsc-film sqcif qcif cif 4cif
Motion estimation methods:
 zero(fastest) full(slowest) log phods epzs(default) x1 hex umh iter
 
Discussions similaires
Haut