Recherche avancée

Médias (29)

Mot : - Tags -/Musique

Autres articles (14)

  • La sauvegarde automatique de canaux SPIP

    1er avril 2010, par

    Dans le cadre de la mise en place d’une plateforme ouverte, il est important pour les hébergeurs de pouvoir disposer de sauvegardes assez régulières pour parer à tout problème éventuel.
    Pour réaliser cette tâche on se base sur deux plugins SPIP : Saveauto qui permet une sauvegarde régulière de la base de donnée sous la forme d’un dump mysql (utilisable dans phpmyadmin) mes_fichiers_2 qui permet de réaliser une archive au format zip des données importantes du site (les documents, les éléments (...)

  • Amélioration de la version de base

    13 septembre 2013

    Jolie sélection multiple
    Le plugin Chosen permet d’améliorer l’ergonomie des champs de sélection multiple. Voir les deux images suivantes pour comparer.
    Il suffit pour cela d’activer le plugin Chosen (Configuration générale du site > Gestion des plugins), puis de configurer le plugin (Les squelettes > Chosen) en activant l’utilisation de Chosen dans le site public et en spécifiant les éléments de formulaires à améliorer, par exemple select[multiple] pour les listes à sélection multiple (...)

  • Gestion générale des documents

    13 mai 2011, par

    MédiaSPIP ne modifie jamais le document original mis en ligne.
    Pour chaque document mis en ligne il effectue deux opérations successives : la création d’une version supplémentaire qui peut être facilement consultée en ligne tout en laissant l’original téléchargeable dans le cas où le document original ne peut être lu dans un navigateur Internet ; la récupération des métadonnées du document original pour illustrer textuellement le fichier ;
    Les tableaux ci-dessous expliquent ce que peut faire MédiaSPIP (...)

Sur d’autres sites (3099)

  • Ffmpeg error in Docker Container : ffmpeg exited with code 1 :

    2 octobre 2017, par Uğur Kaya

    I am currently working on a project and almost ready to deploy, but there is one problem : the code which is working perfectly on my Ubuntu 16.04 (Elementary OS Loki) machine does not work in Docker container. What might be the problem in my code ?

    Here is my Dockerfile :

    FROM beevelop/nodejs-python:latest

    RUN apt-get -y update && apt-get install -y libav-tools
    RUN ffmpeg --help

    # Global install yarn package manager
    RUN apt-get update && apt-get install -y curl apt-transport-https && \
       curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - && \
       echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list && \
       apt-get update && apt-get install -y yarn

    WORKDIR /app
    COPY package.json .
    RUN yarn
    COPY . .
    RUN yarn prod:build
    EXPOSE 8080
    CMD [ "yarn", "start" ]

    I run sudo docker exec -it  ffmpeg --help and it outputs the expected help print. In my code, I download a Youtube video in mp4 format with this code :

    const download = idParam => (
     new Promise((fulfill, reject) => {
       const id = `http://www.youtube.com/watch?v=${idParam}`
       let videoMeta
       youtubedl(id, ['--format=36'], { cwd: __dirname })
         .on('info', (info) => {
           const customDimensions = calculateCustomDimensions(info.format)
           videoMeta = { ...info, ...customDimensions }
         })
         .pipe(fs.createWriteStream(`temp/${idParam}.mp4`))
         .on('finish', () => {
           console.log('Dirname: ', __dirname)
           fulfill(videoMeta)
         })
         .on('error', (err) => {
           console.log('There is an error:', err)
           console.log('Dirname: ', __dirname)
           reject(err)
         })
     })
    )

    And then try to process the video with fluent-ffmpeg :

    const processVideo = (videoName, cropStart, cropEnd) => (
     new Promise((resolve, reject) => {
       try {
         console.log('Trying to run ffmpeg binary.')
         ffmpeg()
           .addInput(`temp/${videoName}.mp4`)
           .seekInput(cropStart)
           .duration(cropEnd)
           .outputOption('-movflags frag_keyframe+faststart')
           .on('end', () => {
             console.log('Processing has finished with ffmpeg. ')
             console.log('Resolved for upload: ', [`temp/cropped_${videoName}.mp4`, `temp/${videoName}.mp4`])
             console.log('Going out of processVideo script.')
             resolve([`temp/cropped_${videoName}.mp4`, `temp/${videoName}.mp4`])
           })
           .on('error', (err, stdout, stderr) => {
             console.log('Error. Output option olmasına rağmen: ', err.message)
             console.log('ffmpeg output:\n', stdout)
             console.log('ffmpeg stderr:\n', stderr)
           })
           .save(`temp/cropped_${videoName}.mp4`)
       } catch (e) {
         console.log('There has been an error while converting ffmpeg binary!')
         console.log(e.msg)
         console.log(e.code)
         reject(e)
       }
     })
    )

    It gives the following error :

    Entering download script.
    WARNING: Assuming --restrict-filenames since file system encoding cannot encode all characters. Set the LC_ALL environment variable to fix this.

    `info.resolution` is deprecated, use `info.format`
    Dirname:  /app/lib/server/scripts
    Download script is done.
    Custom dimensions of the downloaded video:  320 180
    Crop start and end of the downloaded video:  00:00:00.517 00:00:00.998
    Entering processVideo script.
    Trying to run ffmpeg binary.
    Error:  ffmpeg exited with code 1:
    ffmpeg output:

    ffmpeg stderr:
    ffmpeg version 2.8.11-0ubuntu0.16.04.1 Copyright (c) 2000-2017 the FFmpeg developers
     built with gcc 5.4.0 (Ubuntu 5.4.0-6ubuntu1~16.04.4) 20160609
     configuration: --prefix=/usr --extra-version=0ubuntu0.16.04.1 --build-suffix=-ffmpeg --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --cc=cc --cxx=g++ --enable-gpl --enable-shared --disable-stripping --disable-decoder=libopenjpeg --disable-decoder=libschroedinger --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-librtmp --enable-libschroedinger --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxvid --enable-libzvbi --enable-openal --enable-opengl --enable-x11grab --enable-libdc1394 --enable-libiec61883 --enable-libzmq --enable-frei0r --enable-libx264 --enable-libopencv
     libavutil      54. 31.100 / 54. 31.100
     libavcodec     56. 60.100 / 56. 60.100
     libavformat    56. 40.101 / 56. 40.101
     libavdevice    56.  4.100 / 56.  4.100
     libavfilter     5. 40.101 /  5. 40.101
     libavresample   2.  1.  0 /  2.  1.  0
     libswscale      3.  1.101 /  3.  1.101
     libswresample   1.  2.101 /  1.  2.101
     libpostproc    53.  3.100 / 53.  3.100
    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'temp/kfchvCyHmsc.mp4':
     Metadata:
       major_brand     : 3gp6
       minor_version   : 256
       compatible_brands: isom3gp6
       creation_time   : 2015-03-26 09:22:44
     Duration: 00:00:08.27, start: 0.000000, bitrate: 218 kb/s
       Stream #0:0(und): Video: mpeg4 (Simple Profile) (mp4v / 0x7634706D), yuv420p, 320x180 [SAR 1:1 DAR 16:9], 187 kb/s, 23.98 fps, 23.98 tbr, 24k tbn, 24k tbc (default)
       Metadata:
         creation_time   : 2015-03-26 09:22:44
         handler_name    : IsoMedia File Produced by Google, 5-11-2011
       Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 22050 Hz, mono, fltp, 31 kb/s (default)
       Metadata:
         creation_time   : 2015-03-26 09:22:44
         handler_name    : IsoMedia File Produced by Google, 5-11-2011
    [libx264 @ 0x2641fc0] using SAR=1/1
    [libx264 @ 0x2641fc0] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 AVX2 LZCNT BMI2
    [libx264 @ 0x2641fc0] profile High, level 1.2
    [libx264 @ 0x2641fc0] 264 - core 148 r2643 5c65704 - H.264/MPEG-4 AVC codec - Copyleft 2003-2015 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=6 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=23 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
    [aac @ 0x2642f00] The encoder 'aac' is experimental but experimental codecs are not enabled, add '-strict -2' if you want to use it.
  • can't stream rtsp with ffmpeg

    7 novembre 2017, par xswxw222

    I want to stream rtsp with ffmpeg and ffserver

    I use on this config

    <feed>


    File /tmp/feed1.ffm
    FileMaxSize 200K

    # You could specify
    # ReadOnlyFile /saved/specialvideo.ffm
    # This marks the file as readonly and it will not be deleted or updated.

    # Specify launch in order to start ffmpeg automatically.
    # First ffmpeg must be defined with an appropriate path if needed,
    # after that options can follow, but avoid adding the http:// field
    #Launch ffmpeg

    # Only allow connections from localhost to the feed.
    ACL allow 127.0.0.1

    </feed>
    #<stream>
    #Format rtp
    #Feed feed1.ffm
    #VideoCodec libx264
    #VideoFrameRate 24
    #VideoBitRate 100
    #VideoSize 480x272
    #AVPresetVideo default
    #AVPresetVideo baseline
    #AVOptionVideo flags +global_header
    #
    #AudioCodec libfaac
    #AudioBitRate 32
    #AudioChannels 2
    #AudioSampleRate 22050
    #AVOptionAudio flags +global_header
    #</stream>

    and run ffserver.
    Now i run the ffmpeg like ffmpeg -i input.mp4 http://x.x.x.x:8090/out.h264.

    When i tried to watch on this url with ffplayer i got 2 error :

    1 : On ffplay terminal I see stream ends prematurely al 0 should be (SOME NUMBER) .

    2 : On ffserver terminal I see max packet size 0 too low   Error writing output header for stream live.h264

    I tried to add -packetsize 9999 but it stil show me those errors

    What can I do to fix that ?

  • Ffmpeg stream rtsp via h264 with low quality

    9 novembre 2017, par dscsdc

    When i stream rtsp with ffmpeg via upd i got lot of errors of error while decoding MB 48 31, bytestream. and i see the video with low quality.

    I stream with ffmpeg according to this command :ffmpeg -i rtsp://x.x.x.x/... http://y.y.y.y:zzzz

    On this way I send the data to ffserver and then I can watch the video via ffplay or vlc according to url :rtsp://w.w.w.w:(port)/live.h264
    (I have ffserve conf that stream to h264 file).

    When i stream via rtsp tcp all is fine, and i see the video well. but when i stream with rtsp udp i got video with very low quality, freezes or gets stuck.

    I want to understand 2 stuff :

    1. I know that udp is less reliability then tcp, but when i watch on stream from another streaming via rtsp udp i see the video with much more quality.
      is ffmpeg has a problem to stream udp or is that because i stream h264 with rtsp udp.
      What can i do to improve performance of ffmpeg with rtsp udp ?

    2. What does it matter witch type of file i stream (on rtsp udp) if this will be h264 or avi or mp4 or ffm or amp ?
      i see lot of streaming that stream amp , and another that streaming h264