Recherche avancée

Médias (91)

Autres articles (63)

  • HTML5 audio and video support

    13 avril 2011, par

    MediaSPIP uses HTML5 video and audio tags to play multimedia files, taking advantage of the latest W3C innovations supported by modern browsers.
    The MediaSPIP player used has been created specifically for MediaSPIP and can be easily adapted to fit in with a specific theme.
    For older browsers the Flowplayer flash fallback is used.
    MediaSPIP allows for media playback on major mobile platforms with the above (...)

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

  • MediaSPIP Init et Diogène : types de publications de MediaSPIP

    11 novembre 2010, par

    À l’installation d’un site MediaSPIP, le plugin MediaSPIP Init réalise certaines opérations dont la principale consiste à créer quatre rubriques principales dans le site et de créer cinq templates de formulaire pour Diogène.
    Ces quatre rubriques principales (aussi appelées secteurs) sont : Medias ; Sites ; Editos ; Actualités ;
    Pour chacune de ces rubriques est créé un template de formulaire spécifique éponyme. Pour la rubrique "Medias" un second template "catégorie" est créé permettant d’ajouter (...)

Sur d’autres sites (6058)

  • FFMPEG on PHP could not open file

    15 juillet 2021, par albert

    Currently, I'm running the latest FFMPEG (4.2.1) on MacOS Catalina.
I'm trying to join multiple image to become an mp4 video using FFMPEG executed with PHP exec()

    



    here is my ffmpeg code

    



    "/usr/local/bin/ffmpeg -filter_complex \"[0]reverse[r];[0][r]concat, loop=1:50, setpts=N/12/TB\" -r 25 -f image2 -i /Users/Dan/Desktop/RAW/0234_%02d.jpg -preset fast -crf 23 -profile:v baseline -movflags +faststart -pix_fmt yuv420p /Applications/XAMPP/htdocs/render/result/result.mp4 2>&1"


    



    Here is the output of FFMPEG

    



     Array (
     [0] => ffmpeg version 4.2.1-tessus  https://evermeet.cx/ffmpeg/  Copyright (c) 2000-2019 the FFmpeg developers
     [1] =>   built with Apple LLVM version 10.0.1 (clang-1001.0.46.4)
     [2] =>   configuration: --cc=/usr/bin/clang --prefix=/opt/ffmpeg --extra-version=tessus --enable-avisynth --enable-fontconfig --enable-gpl --enable-libaom --enable-libass --enable-libbluray --enable-libdav1d --enable-libfreetype --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libmysofa --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenh264 --enable-libopenjpeg --enable-libopus --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvmaf --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-libzimg --enable-libzmq --enable-libzvbi --enable-version3 --pkg-config-flags=--static --disable-ffplay
     [3] =>   libavutil      56. 31.100 / 56. 31.100
     [4] =>   libavcodec     58. 54.100 / 58. 54.100
     [5] =>   libavformat    58. 29.100 / 58. 29.100
     [6] =>   libavdevice    58.  8.100 / 58.  8.100
     [7] =>   libavfilter     7. 57.100 /  7. 57.100
     [8] =>   libswscale      5.  5.100 /  5.  5.100
     [9] =>   libswresample   3.  5.100 /  3.  5.100
     [10] =>   libpostproc    55.  5.100 / 55.  5.100
     [11] => [image2 @ 0x7fe4b1000400] Could not open file : /Users/Dan/Desktop/RAW/0234_01.jpg
     [12] => [image2 @ 0x7fe4b1000400] Could not find codec parameters for stream 0 (Video: mjpeg, none(bt470bg/unknown/unknown)):
 unspecified size
     [13] => Consider increasing the value for the 'analyzeduration' and 'probesize' options
     [14] => Input #0, image2, from '/Users/Dan/Desktop/RAW/0234_%02d.jpg':
     [15] =>   Duration: 00:00:00.20, start: 0.000000, bitrate: N/A
     [16] =>     Stream #0:0: Video: mjpeg, none(bt470bg/unknown/unknown), 25 tbr, 25 tbn, 25 tbc
     [17] => Stream mapping:
     [18] =>   Stream #0:0 (mjpeg) -> reverse
     [19] =>   Stream #0:0 (mjpeg) -> concat:in0:v0
     [20] =>   setpts -> Stream #0:0 (libx264)
     [21] => Press [q] to stop, [?] for help
     [22] => [image2 @ 0x7fe4b1000400] Could not open file : /Users/Dan/Desktop/RAW/0234_01.jpg
     [23] => /Users/Dan/Desktop/RAW/0234_%02d.jpg: Input/output error
     [24] => Cannot determine format of input stream 0:0 after EOF
     [25] => Error marking filters as finished
     [26] => Conversion failed!
 )


    



    On the 11th row, ffmpeg could not open the file, although the file permission already read and write for everyone.
Is it something I missed for the ffmpeg code ?

    



    Note : The ffmpeg code above can be run on terminal successfully

    


  • How to build the Exoplayer ffmpeg extension with the GSM codec ?

    4 mars 2020, par MadCoconut

    I wanted to use Exoplayer to play an audio file but when I tried I got this exception :

    2019-12-13 10:08:14.827 28972-29388/com.XXX.XXX E/ExoPlayerImplInternal: Source error.
       com.google.android.exoplayer2.ParserException: Expected block alignment: 0; got: 65
           at com.google.android.exoplayer2.extractor.wav.WavHeaderReader.peek(WavHeaderReader.java:81)
           at com.google.android.exoplayer2.extractor.wav.WavExtractor.sniff(WavExtractor.java:50)
           at com.google.android.exoplayer2.source.ProgressiveMediaPeriod$ExtractorHolder.selectExtractor(ProgressiveMediaPeriod.java:1061)
           at com.google.android.exoplayer2.source.ProgressiveMediaPeriod$ExtractingLoadable.load(ProgressiveMediaPeriod.java:952)
           at com.google.android.exoplayer2.upstream.Loader$LoadTask.run(Loader.java:394)
           at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
           at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
           at java.lang.Thread.run(Thread.java:764)

    The audio files I have to play are wav files (GSM_MS, 13kb/s)

    I tried to build the the Exoplayer Ffmpeg extension following the tutorial :
    https://github.com/google/ExoPlayer/tree/release-v2/extensions/ffmpeg

    I cloned the Exoplayer repository and I downloaded the Android NDK version r20b.

    I modified the build script build_ffmpeg.sh to enable the libgsm :

    COMMON_OPTIONS=“

      —enable-libgsm
    "

    I defined the required environment variables :

    Then I built the library using the provided command line :

    cd "${FFMPEG_EXT_PATH}" && \
    ./build_ffmpeg.sh \
    "${FFMPEG_EXT_PATH}" "${NDK_PATH}" "${HOST_PLATFORM}" "${ENABLED_DECODERS[@]}"

    But something goes wrong during the build process :

    remote: Enumerating objects: 38, done.
    remote: Counting objects: 100% (38/38), done.
    remote: Compressing objects: 100% (26/26), done.
    remote: Total 26 (delta 20), reused 0 (delta 0)
    Unpacking objects: 100% (26/26), done.
    From git://source.ffmpeg.org/ffmpeg
     377a095dc3..bd83191271  master     -> origin/master
    Already up to date.
    Already on 'release/4.2'
    Your branch is up to date with 'origin/release/4.2'.
    ERROR: libgsm not found

    If you think configure made a mistake, make sure you are using the latest
    version from Git.  If the latest version fails, report the problem to the
    ffmpeg-user@ffmpeg.org mailing list or IRC #ffmpeg on irc.freenode.net.
    Include the log file "ffbuild/config.log" produced by configure as this will help
    solve the problem.
    GEN libavutil/libavutil.version
    GEN libswresample/libswresample.version
    GEN libavresample/libavresample.version
    GEN libavcodec/libavcodec.version
    CC  libavcodec/aac_ac3_parser.o
    CC  libavcodec/aacdec.o
    CC  libavcodec/aacps_float.o
    CC  libavcodec/aacpsdsp_float.o
    CC  libavcodec/aacsbr.o
    CC  libavcodec/aactab.o
    CC  libavcodec/ac3.o
    CC  libavcodec/ac3_parser.o
    CC  libavcodec/ac3dec_data.o
    CC  libavcodec/ac3dec_float.o

    Here is a part of the content of the config.log file located in the ffmpeg checked out library (/extensions/ffmpeg/src/main/jni/ffmpeg/ffbuild/config.log :


    /Users/USER/Documents/Android/android-ndk-r20b/toolchains/llvm/prebuilt/darwin-x86_64/bin/i686-linux-android16-clang -march=i686 -Wl,--as-needed -Wl,-z,noexecstack -pie -fPIE -pie -o /var/folders/9l/trkjpc091_79vk3krfpykbsh0000gn/T//ffconf.hv2yROG1/test /var/folders/9l/trkjpc091_79vk3krfpykbsh0000gn/T//ffconf.hv2yROG1/test.o
    /var/folders/9l/trkjpc091_79vk3krfpykbsh0000gn/T//ffconf.hv2yROG1/test.o:test.c:function foo: error: undefined reference to 'cexp'
    clang: error: linker command failed with exit code 1 (use -v to see invocation)
    check_lib libgsm gsm.h gsm_create -lgsm
    check_func_headers gsm.h gsm_create -lgsm
    test_ld cc -lgsm
    test_cc
    BEGIN /var/folders/9l/trkjpc091_79vk3krfpykbsh0000gn/T//ffconf.hv2yROG1/test.c
       1   #include
       2   #include
       3   long check_gsm_create(void) { return (long) gsm_create; }
       4   int main(void) { int ret = 0;
       5    ret |= ((intptr_t)check_gsm_create) & 0xFFFF;
       6   return ret; }
    END /var/folders/9l/trkjpc091_79vk3krfpykbsh0000gn/T//ffconf.hv2yROG1/test.c
    /Users/USER/Documents/Android/android-ndk-r20b/toolchains/llvm/prebuilt/darwin-x86_64/bin/i686-linux-android16-clang -D_ISOC99_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Dstrtod=avpriv_strtod -DPIC -march=i686 -std=c11 -fPIE -fomit-frame-pointer -fPIC -pthread -c -o /var/folders/9l/trkjpc091_79vk3krfpykbsh0000gn/T//ffconf.hv2yROG1/test.o /var/folders/9l/trkjpc091_79vk3krfpykbsh0000gn/T//ffconf.hv2yROG1/test.c
    /var/folders/9l/trkjpc091_79vk3krfpykbsh0000gn/T//ffconf.hv2yROG1/test.c:1:10: fatal error: 'gsm.h' file not found

    The gsm.h file is located there : /extensions/ffmpeg/src/main/jni/ffmpeg/libavcodec

    I assume this path has been configured to be used by the build script.

    Any help is much appreciated.

  • Empty stream when cutting a video using ffmpeg

    17 décembre 2019, par dscv

    When I try cutting a video, it outputs an empty stream (262 byte video with 0s duration). Would appreciate any insight, thanks.

    Command used :
    ffmpeg -i /path/to/long/video.mp4 -ss 37.69 -t 4.96 -c copy /path/to/short/video.mp4

    However, when I the following (more inaccurate) command, it outputs a video. This video also has some problems, as the last frame is repeated several times, making the video one second longer (with a frozen image for one second).

    ffmpeg -ss 37.69 -i /path/to/long/video.mp4 -t 4.96 -c copy /path/to/short/video.mp4

    ffmpeg version : ffmpeg version 3.4.6-0ubuntu0.18.04.1

    The outputs for the two commands are :

    First command :

     built with gcc 7 (Ubuntu 7.3.0-16ubuntu3)
     configuration: --prefix=/usr --extra-version=0ubuntu0.18.04.1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --enable-gpl --disable-stripping --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-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librubberband --enable-librsvg --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-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libopencv --enable-libx264 --enable-shared
     libavutil      55. 78.100 / 55. 78.100
     libavcodec     57.107.100 / 57.107.100
     libavformat    57. 83.100 / 57. 83.100
     libavdevice    57. 10.100 / 57. 10.100
     libavfilter     6.107.100 /  6.107.100
     libavresample   3.  7.  0 /  3.  7.  0
     libswscale      4.  8.100 /  4.  8.100
     libswresample   2.  9.100 /  2.  9.100
     libpostproc    54.  7.100 / 54.  7.100
    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/proj/vondrick/datasets/HowTo100M/video/Cars_&_Other_Vehicles/Motorcycles/52907/video_nVbIUDjzWY4.mp4':
     Metadata:
       major_brand     : dash
       minor_version   : 0
       compatible_brands: iso6avc1mp41
       creation_time   : 2015-06-26T00:39:04.000000Z
     Duration: 00:07:14.40, start: 0.000000, bitrate: 244 kb/s
       Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(progressive), 426x240 [SAR 1:1 DAR 71:40], 2 kb/s, 29.97 fps, 29.97 tbr, 90k tbn, 59.94 tbc (default)
       Metadata:
         creation_time   : 2015-06-26T00:39:04.000000Z
         handler_name    : VideoHandler
    Output #0, mp4, to '/proj/vondrick/datasets/HowTo100M/cropped_video/Cars_&_Other_Vehicles/Motorcycles/52907/nVbIUDjzWY4/video_000000_p.mp4':
     Metadata:
       major_brand     : dash
       minor_version   : 0
       compatible_brands: iso6avc1mp41
       encoder         : Lavf57.83.100
       Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(progressive), 426x240 [SAR 1:1 DAR 71:40], q=2-31, 2 kb/s, 29.97 fps, 29.97 tbr, 90k tbn, 90k tbc (default)
       Metadata:
         creation_time   : 2015-06-26T00:39:04.000000Z
         handler_name    : VideoHandler
    Stream mapping:
     Stream #0:0 -> #0:0 (copy)
    Press [q] to stop, [?] for help
    frame=    0 fps=0.0 q=-1.0 Lsize=       0kB time=00:00:00.00 bitrate=N/A speed=   0x    
    video:0kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown

    Second command :

    ffmpeg version 3.4.6-0ubuntu0.18.04.1 Copyright (c) 2000-2019 the FFmpeg developers
     built with gcc 7 (Ubuntu 7.3.0-16ubuntu3)
     configuration: --prefix=/usr --extra-version=0ubuntu0.18.04.1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --enable-gpl --disable-stripping --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-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librubberband --enable-librsvg --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-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libopencv --enable-libx264 --enable-shared
     libavutil      55. 78.100 / 55. 78.100
     libavcodec     57.107.100 / 57.107.100
     libavformat    57. 83.100 / 57. 83.100
     libavdevice    57. 10.100 / 57. 10.100
     libavfilter     6.107.100 /  6.107.100
     libavresample   3.  7.  0 /  3.  7.  0
     libswscale      4.  8.100 /  4.  8.100
     libswresample   2.  9.100 /  2.  9.100
     libpostproc    54.  7.100 / 54.  7.100
    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/proj/vondrick/datasets/HowTo100M/video/Cars_&_Other_Vehicles/Motorcycles/52907/video_nVbIUDjzWY4.mp4':
     Metadata:
       major_brand     : dash
       minor_version   : 0
       compatible_brands: iso6avc1mp41
       creation_time   : 2015-06-26T00:39:04.000000Z
     Duration: 00:07:14.40, start: 0.000000, bitrate: 244 kb/s
       Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(progressive), 426x240 [SAR 1:1 DAR 71:40], 2 kb/s, 29.97 fps, 29.97 tbr, 90k tbn, 59.94 tbc (default)
       Metadata:
         creation_time   : 2015-06-26T00:39:04.000000Z
         handler_name    : VideoHandler
    Output #0, mp4, to '/proj/vondrick/datasets/HowTo100M/cropped_video/Cars_&_Other_Vehicles/Motorcycles/52907/nVbIUDjzWY4/video_000000_3.mp4':
     Metadata:
       major_brand     : dash
       minor_version   : 0
       compatible_brands: iso6avc1mp41
       encoder         : Lavf57.83.100
       Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(progressive), 426x240 [SAR 1:1 DAR 71:40], q=2-31, 2 kb/s, 29.97 fps, 29.97 tbr, 90k tbn, 90k tbc (default)
       Metadata:
         creation_time   : 2015-06-26T00:39:04.000000Z
         handler_name    : VideoHandler
    Stream mapping:
     Stream #0:0 -> #0:0 (copy)
    Press [q] to stop, [?] for help
    frame=  159 fps=0.0 q=-1.0 Lsize=     159kB time=00:00:04.95 bitrate= 263.0kbits/s speed=1.89e+03x    
    video:158kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.909119%