Recherche avancée

Médias (91)

Autres articles (59)

  • Ajouter des informations spécifiques aux utilisateurs et autres modifications de comportement liées aux auteurs

    12 avril 2011, par

    La manière la plus simple d’ajouter des informations aux auteurs est d’installer le plugin Inscription3. Il permet également de modifier certains comportements liés aux utilisateurs (référez-vous à sa documentation pour plus d’informations).
    Il est également possible d’ajouter des champs aux auteurs en installant les plugins champs extras 2 et Interface pour champs extras.

  • Support audio et vidéo HTML5

    10 avril 2011

    MediaSPIP utilise les balises HTML5 video et audio pour la lecture de documents multimedia en profitant des dernières innovations du W3C supportées par les navigateurs modernes.
    Pour les navigateurs plus anciens, le lecteur flash Flowplayer est utilisé.
    Le lecteur HTML5 utilisé a été spécifiquement créé pour MediaSPIP : il est complètement modifiable graphiquement pour correspondre à un thème choisi.
    Ces technologies permettent de distribuer vidéo et son à la fois sur des ordinateurs conventionnels (...)

  • De l’upload à la vidéo finale [version standalone]

    31 janvier 2010, par

    Le chemin d’un document audio ou vidéo dans SPIPMotion est divisé en trois étapes distinctes.
    Upload et récupération d’informations de la vidéo source
    Dans un premier temps, il est nécessaire de créer un article SPIP et de lui joindre le document vidéo "source".
    Au moment où ce document est joint à l’article, deux actions supplémentaires au comportement normal sont exécutées : La récupération des informations techniques des flux audio et video du fichier ; La génération d’une vignette : extraction d’une (...)

Sur d’autres sites (7216)

  • Using ffmpeg to build a streaming server to stream static media files (broadcast behaviour)

    15 février 2018, par MiDaa

    I’ve read some online articles and SO questions, most of them are about streaming MY video to SERVER like youtube or switch.

    This is about a project of interest, here are what it should do.

    • Work on a Linux server
    • Serve media(preferably multiple format like mp4 mkv) files to client through rtp protocol maybe ?
    • Server could set a specific time to start the streaming or end it
    • Server could pause and resume the streaming(?)
    • Multiple clients connect and play the stream at same time(sounds like a basic feature)

    After some research, I found that ffmpeg is a great open-source candidate for such a project but as a newbie in this area, I’m having a tough time understanding how this whole thing work.

    As this(ffmpeg doc) states, it looks like just a one liner command. But I don’t find anything fit my feature listed above.

    Can ffmpeg be used to achieve those ? If not appriciate any suggesstion on where I should be looking at.

    EDIT :

    • Target devices : iPad,iPhone, Android phones should be able to watch the stream using a web browser(assume a modern browser)
  • Use ffmpeg to stream live content to azure media services

    19 mars 2018, par Dadicool

    I’ve been trying to stream content to azure media services using ffmpeg as it’s one of the options described here : http://azure.microsoft.com/blog/2014/09/18/azure-media-services-rtmp-support-and-live-encoders/

    My command is :

    ffmpeg -v verbose -i 300.mp4 -strict -2 -c:a aac -b:a 128k -ar 44100 -r 30 -g 60 -keyint_min 60 -b:v 400000 -c:v libx264 -preset medium -bufsize 400k -maxrate 400k -f flv rtmp://nessma-****.channel.mediaservices.windows.net:1935/live/584c99f5c47f424d9e83ac95364331e7

    I have made sure that the streaming endpoint has one active streaming unit, I also made sure that the channel is actually Ready and I even get it to start streaming (which makes a PublishURL available).

    When I execute the ffmpeg command to start streaming, I keep getting the following error :

    ffmpeg version 2.5.2 Copyright (c) 2000-2014 the FFmpeg developers
     built on Dec 30 2014 11:31:18 with llvm-gcc 4.2.1 (LLVM build 2336.11.00)
     configuration: --prefix=/Volumes/Ramdisk/sw --enable-gpl --enable-pthreads --enable-version3 --enable-libspeex --enable-libvpx --disable-decoder=libvpx --enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-libx264 --enable-avfilter --enable-libopencore_amrwb --enable-libopencore_amrnb --enable-filters --enable-libgsm --enable-libvidstab --enable-libx265 --arch=x86_64 --enable-runtime-cpudetect
     libavutil      54. 15.100 / 54. 15.100
     libavcodec     56. 13.100 / 56. 13.100
     libavformat    56. 15.102 / 56. 15.102
     libavdevice    56.  3.100 / 56.  3.100
     libavfilter     5.  2.103 /  5.  2.103
     libswscale      3.  1.101 /  3.  1.101
     libswresample   1.  1.100 /  1.  1.100
     libpostproc    53.  3.100 / 53.  3.100
    Routing option strict to both codec and muxer layer
    [mov,mp4,m4a,3gp,3g2,mj2 @ 0x7f9a0a002c00] overread end of atom 'colr' by 1 bytes
    [mov,mp4,m4a,3gp,3g2,mj2 @ 0x7f9a0a002c00] stream 0, timescale not set
    [mov,mp4,m4a,3gp,3g2,mj2 @ 0x7f9a0a002c00] max_analyze_duration 5000000 reached at 5003637 microseconds
    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '300.mp4':
     Metadata:
       major_brand     : mp42
       minor_version   : 0
       compatible_brands: mp42isomavc1
       creation_time   : 2014-01-11 05:39:32
       genre           : Trailer
       artist          : Warner Bros.
       title           : 300: Rise of an Empire - Trailer 2
       encoder         : HandBrake 0.9.9 2013051800
       date            : 2014
     Duration: 00:02:33.24, start: 0.000000, bitrate: 7377 kb/s
       Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709), 1920x1080 (1920x1088), 7219 kb/s, 23.98 fps, 23.98 tbr, 90k tbn, 47.95 tbc (default)
       Metadata:
         creation_time   : 2014-01-11 05:39:32
         encoder         : JVT/AVC Coding
       Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 157 kb/s (default)
       Metadata:
         creation_time   : 2014-01-11 05:39:32
       Stream #0:2: Video: mjpeg, yuvj420p(pc, bt470bg/unknown/unknown), 101x150 [SAR 72:72 DAR 101:150], 90k tbr, 90k tbn, 90k tbc
    rtmp://nessma-****.channel.mediaservices.windows.net:1935/live/584c99f5c47f424d9e83ac95364331e7: Input/output error

    The Azure blog post clearly states that this should be possible but I can’t find a working example anywhere.

    Environment :

    • MacOS Maverick
    • FFMPEG installed from official build
    • 300.mp4 : 1080p trailer of the latest 300 movie
  • Anomalie #4114 (Nouveau) : paramètre media:joindre_deballer_lister_zip ignoré

    19 mars 2018, par Alexis Z

    Bonjour,

    Il me semble avoir trouvé une petite incohérence dans le code du plugin media, plus précisément dans la fonction "joindre_deballer_lister_zip" ligne 301, de media/inc/joindre_document.php.
    Sauf erreur de ma part, cette fonction a pour but de déballer le contenu d’un fichier zip qui lui est passé en paramètre dans un répertoire temporaire et de retourner une liste décrivant sont contenus.

    Cette fonction prends deux paramètres $path et $tmp_dir :
    - $path corresponds au chemin du fichier zip à déballer
    - $tmp_dir corresponds au dossier temporaire ou celui-ci sera déballé

    Cette fonction utilise la librairie Pclzip.

    L’incohérence se trouve au niveau du deuximère paramètre, $tmp_dir, celui-ci est censé indiquer dans quel répertoire le contenu du zip sera déballer or ce chemin n’est pas pris en compte par la fonction Pclzip->extraire (ligne 305), et n’est pas non plus pris en compte par la fonction callback ’callback_deballe_fichier’ indiqué à la fonction extraire de Pclzip.
    En effet dans le code le chemin pris en compte est déclaré dans un define "_TMP_DIR" celui-ci déclaré à la ligne 140 de la fonction "joindre_trouver_fichier_envoye" (meme fichier php, début ligne 26).
    ($tmp_dir est uniquement utilisé dans la définition du chemin du fichier qui est renvoyé par la fonction : ligne 317 : ’tmp_name’ => $tmp_dir . $f)

    Donc le paramètre $tmp_dir quasi non-utilisé induit en erreur car on s’attend à se que le contenu ce trouve dans le chemin $tmp_dir de plus si on appeler directement la focntion "joindre_deballer_lister_zip" sans appeler "joindre_trouver_fichier_envoye" on ne définit pas _TMP_DIR et on a une erreur incohmpréensible.

    Du coup, le pire sénario (mon cas) j’appelais "joindre_deballer_lister_zip" après un autre appel "joindre_trouver_fichier_envoye" indirect, donc la variable _TMP_DIR etait défini et le contenu de mon zip déballer à cette endroit alors que je donnais un $tmp_dir completement différent, cette destination restait vide et aucun message d’erreur de la fonction "joindre_deballer_lister_zip".

    Bref, je suggère de prendre en compte pour l’extraction la variable $tmp_dir, et/ou d’ajouter test/définition de la variable _TMP_DIR en début de fonction pour prévenir tout exécution "bizarre".