Recherche avancée

Médias (16)

Mot : - Tags -/mp3

Autres articles (36)

  • 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 (...)

  • Publier sur MédiaSpip

    13 juin 2013

    Puis-je poster des contenus à partir d’une tablette Ipad ?
    Oui, si votre Médiaspip installé est à la version 0.2 ou supérieure. Contacter au besoin l’administrateur de votre MédiaSpip pour le savoir

  • Creating farms of unique websites

    13 avril 2011, par

    MediaSPIP platforms can be installed as a farm, with a single "core" hosted on a dedicated server and used by multiple websites.
    This allows (among other things) : implementation costs to be shared between several different projects / individuals rapid deployment of multiple unique sites creation of groups of like-minded sites, making it possible to browse media in a more controlled and selective environment than the major "open" (...)

Sur d’autres sites (6604)

  • avformat/dashdec : add dash demuxer base version

    9 septembre 2017, par Steven Liu
    avformat/dashdec : add dash demuxer base version
    

    ffmpeg need a dash demuxer for demux the dash formats base on
    https://github.com/samsamsam-iptvplayer/exteplayer3/blob/master/tmp/ffmpeg/patches/3.2.2/000001_add_dash_demux.patch

    TODO :
    1. support multi bitrate dash.

    v2 fixed :
    1. from autodetect to disabled
    2. from camelCase code style to ffmpeg code style
    3. from RepType to AVMediaType
    4. fix variable typo
    5. change time value from uint32_t to uint64_t
    6. removed be used once API
    7. change 'time(NULL)`, except it is not 2038-safe.' to av_gettime and av_timegm
    8. merge complex free operation to free_fragment
    9. use API from snprintf to av_asprintf

    v3 fixed :
    1. fix typo from —enabled-xml2 to —enable-xml2

    v4 fixed :
    1. from —enable-xml2 to —enable-libxml2
    2. move system includes to top
    3. remove nouse includes
    4. rename enum name
    5. add a trailing comma for the last entry enum
    6. fix comment typo
    7. add const to DASHContext class front
    8. check sscanf if return arguments and give warning message when error
    9. check validity before free seg->url and seg
    10. check if the val is null, before use atoll

    v5 fixed :
    1. fix typo from mainifest to manifest

    v6 fixed :
    1. from realloc to av_realloc
    2. from free to av_free

    v7 fixed :
    1. remove the -lxml2 from configure when require_pkg_config

    v8 fixed :
    1. fix replace filename template by av_asprintf secure problem

    v9 modified :
    1. make manifest parser clearly

    v10 fixed :
    1. fix function API name code style
    2. remove redundant strreplace call
    3. remove redundant memory operation and check return value from get_content_url()
    4. add space between ) and
    5. remove no need to log the value for print

    v11 fixed :
    1. from atoll to strtoll
    Suggested-by : Michael Niedermayer <michael@niedermayer.cc>

    v12 fixed :
    1. remove strreplace and instead by av_strreplace
    Suggested-by : Nicolas George <george@nsup.org>

    v13 fixed :
    1. fix bug : cannot play :
    http://dash.edgesuite.net/akamai/bbb_30fps/bbb_30fps.mpd
    Reported-by : Andy Furniss <adf.lists@gmail.com>

    v14 fixed :
    1. fix bug : TLS connection was non-properly terminated
    2. fix bug : No trailing CRLF found in HTTP header
    Reported-by : Andy Furniss <adf.lists@gmail.com>

    v15 fixed :
    1. play youtube link : ffmpeg -i $(youtube-dl -J "https://www.youtube.com/watch?v=XmL19DOP_Ls" ; | jq -r ".requested_formats[0].manifest_url")
    2. code refine for timeline living stream
    Reported-by : Ricardo Constantino <wiiaboo@gmail.com>

    v16 fixed :
    1. remove the snprintf and instead by get_segment_filename make safety
    2. remove unnecessary loops
    3. updated xmlStrcmp and xmlFree to av_* functions
    4. merge code repeat into one function
    5. add memory alloc faild check
    6. update update_init_section and open_url
    7. output safety error message when filename template not safe
    Suggested-by : wm4 <nfxjfg@googlemail.com>

    v17 fixed :
    1. add memory alloc faild check
    2. fix resource space error at free_representation

    v18 fixed :
    1. add condition of template format

    v19 fixed :
    1. fix typo of the option describe

    v20 fixed :
    1. add the c->base_url alloc check
    2. make the DASHTmplId same to dashenc

    v21 fixed :
    1. remove get_repl_pattern_and_format and get_segment_filename
    2. process use dashcomm APIs

    v22 fixed :
    1. modify the include "dashcomm.h" to include "dash.h"
    2. use internal API from dash_fill_tmpl_params to ff_dash_fill_tmpl_params

    Signed-off-by : Steven Liu <lq@onvideo.cn>
    Signed-off-by : samsamsam <samsamsam@o2.pl>

    • [DH] configure
    • [DH] libavformat/Makefile
    • [DH] libavformat/allformats.c
    • [DH] libavformat/dashdec.c
  • 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 &amp;&amp; apt-get install -y libav-tools
    RUN ffmpeg --help

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