Recherche avancée

Médias (1)

Mot : - Tags -/publishing

Autres articles (34)

  • Les autorisations surchargées par les plugins

    27 avril 2010, par

    Mediaspip core
    autoriser_auteur_modifier() afin que les visiteurs soient capables de modifier leurs informations sur la page d’auteurs

  • Contribute to a better visual interface

    13 avril 2011

    MediaSPIP is based on a system of themes and templates. Templates define the placement of information on the page, and can be adapted to a wide range of uses. Themes define the overall graphic appearance of the site.
    Anyone can submit a new graphic theme or template and make it available to the MediaSPIP community.

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

Sur d’autres sites (6355)

  • Could not find codec parameters for stream 0

    14 avril 2017, par khinester

    When I run this command :

    ffmpeg -y -i ./in.mp4 -c:v png -f image2pipe -thread_queue_size 1024 -r 25 -t 186.75 -i - -filter_complex overlay=0:0 -c:v libx264 -pix_fmt yuv420p -movflags +faststart ./out.mp4 < ./out.png

    I get an error :

    (git)-[master]
    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
     WARNING: library configuration mismatch
     avcodec     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 --enable-version3 --disable-doc --disable-programs --disable-avdevice --disable-avfilter --disable-avformat --disable-avresample --disable-postproc --disable-swscale --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libvo_aacenc --enable-libvo_amrwbenc
     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 './in.mp4':
     Metadata:
       major_brand     : isom
       minor_version   : 512
       compatible_brands: isomiso2avc1mp41
       creation_time   : 1970-01-01 00:00:00
       encoder         : Lavf52.99.1
     Duration: 00:03:06.75, start: 0.000000, bitrate: 538 kb/s
       Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 480x320 [SAR 1:1 DAR 3:2], 465 kb/s, 25 fps, 25 tbr, 25 tbn, 50 tbc (default)
       Metadata:
         creation_time   : 1970-01-01 00:00:00
         handler_name    : VideoHandler
       Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 67 kb/s (default)
       Metadata:
         creation_time   : 1970-01-01 00:00:00
         handler_name    : SoundHandler
    [image2pipe @ 0x15f7200] Could not find codec parameters for stream 0 (Video: png, none(pc)): unspecified size
    Consider increasing the value for the 'analyzeduration' and 'probesize' options
    pipe:: could not find codec parameters
    Input #1, image2pipe, from 'pipe:':
     Duration: N/A, bitrate: N/A
       Stream #1:0: Video: png, none(pc), 25 tbr, 25 tbn, 25 tbc
    [buffer @ 0x15e2620] Unable to parse option value "0x0" as image size
    [buffer @ 0x15e2620] Unable to parse option value "-1" as pixel format
    [buffer @ 0x15e2620] Unable to parse option value "0x0" as image size
    [buffer @ 0x15e2620] Error setting option video_size to value 0x0.
    [graph 0 input from stream 1:0 @ 0x15e23e0] Error applying options to the filter.
    Error configuring complex filters.
    Invalid argument

    Consider increasing the value for the 'analyzeduration' and 'probesize' options pipe:0: could not find codec parameters

    What am I missing in my setup ?

  • ffmpeg failed to call avcodec_send_packet

    23 juin 2017, par Gizak

    Windows 10 x64,
    ffmpeg : 3.1, prebuilt dlls

    Absolute beginner here.

    I was trying out a very basic case to decode frames from a video file but desperately failed at every attempts. The final code snippet looks like this :

    #define __STDC_CONSTANT_MACROS
    extern "C" {
    #include<libavutil></libavutil>avutil.h>
    #include<libavutil></libavutil>imgutils.h>
    #include <libavformat></libavformat>avformat.h>
    #include <libavcodec></libavcodec>avcodec.h>
    #include <libswscale></libswscale>swscale.h>
    }

    #include <iostream>


    int main(int argc, char **argv) {
       AVFormatContext* ctx_format = nullptr;
       AVCodecContext* ctx_codec = nullptr;
       AVCodec* codec = nullptr;
       AVFrame* frame = av_frame_alloc();
       int stream_idx;
       SwsContext* ctx_sws = nullptr;
       const char* fin = argv[1];
       AVStream *vid_stream = nullptr;
       AVPacket* pkt = av_packet_alloc();

       av_register_all();

       if (int ret = avformat_open_input(&amp;ctx_format, fin, nullptr, nullptr) != 0) {
           std::cout &lt;&lt; 1 &lt;&lt; std::endl;
           return ret;
       }
       if (avformat_find_stream_info(ctx_format, nullptr) &lt; 0) {
           std::cout &lt;&lt; 2 &lt;&lt; std::endl;
           return -1; // Couldn't find stream information
       }
       av_dump_format(ctx_format, 0, fin, false);

       for (int i = 0; i &lt; ctx_format->nb_streams; i++)
           if (ctx_format->streams[i]->codecpar->codec_type == AVMEDIA_TYPE_VIDEO) {
               stream_idx = i;
               vid_stream = ctx_format->streams[i];
               break;
       }
       if (vid_stream == nullptr) {
           std::cout &lt;&lt; 4 &lt;&lt; std::endl;
           return -1;
       }

       codec = avcodec_find_decoder(vid_stream->codecpar->codec_id);
       if (!codec) {
           fprintf(stderr, "codec not found\n");
           exit(1);
       }
       ctx_codec = avcodec_alloc_context3(codec);

       if(avcodec_parameters_to_context(ctx_codec, vid_stream->codecpar)&lt;0)
           std::cout &lt;&lt; 512;
       if (avcodec_open2(ctx_codec, codec, nullptr)&lt;0) {
           std::cout &lt;&lt; 5;
           return -1;
       }

       //av_new_packet(pkt, pic_size);

       while(av_read_frame(ctx_format, pkt) >= 0){
           int ret = avcodec_send_packet(ctx_codec, pkt);
           if (ret &lt; 0 || ret == AVERROR(EAGAIN) || ret == AVERROR_EOF) {
               std::cout &lt;&lt; "avcodec_send_packet: " &lt;&lt; ret &lt;&lt; std::endl;
               break;
           }
           if (pkt->stream_index == stream_idx) {
               while (ret  >= 0) {
                   ret = avcodec_receive_frame(ctx_codec, frame);
                   if (ret == AVERROR(EAGAIN) || ret == AVERROR_EOF) {
                       //std::cout &lt;&lt; "avcodec_receive_frame: " &lt;&lt; ret &lt;&lt; std::endl;
                       break;
                   }
                   std::cout &lt;&lt; "frame: " &lt;&lt; ctx_codec->frame_number &lt;&lt; std::endl;
               }
           }
           av_packet_unref(pkt);
       }

       avformat_close_input(&amp;ctx_format);
       av_packet_unref(pkt);
       avcodec_free_context(&amp;ctx_codec);
       avformat_free_context(ctx_format);
       return 0;
    }
    </iostream>

    It basically leaves everything by its defaults and try to read packets and decode frames from them. The avcodec_send_packet always returned a negative value at the first or second round of calling in the while loop.

    Output for flv :

    > .\streamer_test.exe .\SampleVideo_360x240_5mb.flv
    Input #0, flv, from '.\SampleVideo_360x240_5mb.flv':
     Metadata:
       encoder         : Lavf53.24.2
     Duration: 00:00:53.32, start: 0.000000, bitrate: 787 kb/s
       Stream #0:0: Audio: aac (LC), 48000 Hz, 5.1, fltp, 384 kb/s
       Stream #0:1: Video: flv1, yuv420p, 320x240, 500 kb/s, 1k fps, 25 tbr, 1k tbn
    frame: 1
    [flv @ 000001545edb66c0] Bad picture start code
    [flv @ 000001545edb66c0] header damaged
    avcodec_send_packet: -1094995529

    Output for mp4 :

    > .\streamer_test.exe .\SampleVideo_360x240_10mb.mp4
    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '.\SampleVideo_360x240_10mb.mp4':
     Metadata:
       major_brand     : isom
       minor_version   : 512
       compatible_brands: isomiso2avc1mp41
       creation_time   : 1970-01-01T00:00:00.000000Z
       encoder         : Lavf53.24.2
     Duration: 00:02:05.95, start: 0.000000, bitrate: 669 kb/s
       Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p, 320x240 [SAR 1:1 DAR 4:3], 282 kb/s, 15 fps, 15 t
    br, 15360 tbn, 30 tbc (default)
       Metadata:
         creation_time   : 1970-01-01T00:00:00.000000Z
         handler_name    : VideoHandler
       Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, 5.1, fltp, 383 kb/s (default)
       Metadata:
         creation_time   : 1970-01-01T00:00:00.000000Z
         handler_name    : SoundHandler
    [h264 @ 000002e2446a6cc0] Invalid NAL unit size (17191968 > 1007).
    [h264 @ 000002e2446a6cc0] Error splitting the input into NAL units.
    avcodec_send_packet: -1094995529

    Output for mkv :

    > .\streamer_test.exe .\SampleVideo_1280x720_2mb.mkv
    Input #0, matroska,webm, from '.\SampleVideo_1280x720_2mb.mkv':
     Metadata:
       ENCODER         : Lavf53.24.2
     Duration: 00:00:10.65, bitrate: 1575 kb/s
       Stream #0:0: Video: mpeg4 (Simple Profile), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], 25 fps, 25 tbr, 1k tbn, 25 tbc (de
    fault)
       Stream #0:1: Audio: aac (LC), 48000 Hz, 5.1, fltp (default)
    frame: 1
    [mpeg4 @ 000001166798ede0] header damaged
    avcodec_send_packet: -1

    So I guess there must be something wrong around avcodec_send_packet call but could not figured out what is missing. Any ideas about the causes ? Much appreciate your help !

  • FFmpeg (Thumbnail from video) works in command line, but not in PHP script

    25 juin 2017, par Jun Kim

    I looked at the similar questions, and the solutions there do not work in my case. Anyone has any idea ? I am trying to capture a thumbnail from a given video file.

    Later, my goal is to capture a thumbnail from live streaming video file.

    Below is my current set up.

    Linux Ubuntu 16.04

    PHP version 7.0

    Nginx Version 1.10.3

    FFmpeg Version FFmpeg 2.8.11

    I installed FFmpeg through below commands in my Ubuntu server.

    apt-get update
    apt-get install ffmpeg

    When I type the below command line in the terminal, it does the conversion fine.

    ffmpeg -i /etc/nginx/html/test.mp4 -ss 00:00:01 -vframes 1 -vf scale=240:120 /etc/nginx/html/Share/ffmpeg/thumbnails/test.png;

    In order to use it in php file, I confirmed the location of ffmpeg binaries by I typing in the terminal, which ffmpeg, and it returns /usr/bin/ffmpeg

    I also gave permission to the directory by using chmod 755 command line.

    Here is what I have in my ffmpeg.php file.
    I included the full path to my ffmpeg as you can see.

    &lt;?php
    header("Content-Type: text/html;charset=UTF-8");

    $ffmpeg = "/usr/bin/ffmpeg";
    $videoFile="/etc/nginx/html/test.mp4";
    $thumbnail= "/etc/nginx/html/Share/ffmpeg/thumbnails/thumbnail1.jpg";

    $cmd = "$ffmpeg -i $videoFile -ss 00:00:01 -vframes 1 -vf scale=240:120 $thumbnail 2>&amp;1 &amp;";

    $output = shell_exec($cmd);
    echo "<pre>".$output."</pre>";
    ?>

    This returns the message like below.

    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 '/etc/nginx/html/Share/test.mp4':
     Metadata:
       major_brand     : isom
       minor_version   : 512
       compatible_brands: isomiso2mp41
       creation_time   : 1970-01-01 00:00:00
       encoder         : Lavf53.24.2
     Duration: 00:00:06.40, start: 0.000000, bitrate: 1321 kb/s
       Stream #0:0(und): Video: mpeg4 (Simple Profile) (mp4v / 0x7634706D), yuv420p, 640x368 [SAR 1:1 DAR 40:23], 932 kb/s, 25 fps, 25 tbr, 12800 tbn, 25 tbc (default)
       Metadata:
         creation_time   : 1970-01-01 00:00:00
         handler_name    : VideoHandler
       Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, 5.1, fltp, 383 kb/s (default)
       Metadata:
         creation_time   : 1970-01-01 00:00:00
         handler_name    : SoundHandler
    [swscaler @ 0x1621be0] deprecated pixel format used, make sure you did set range correctly
    Output #0, image2, to '/etc/nginx/html/Share/ffmpeg/thumbnails/thumbnail1.jpg':
     Metadata:
       major_brand     : isom
       minor_version   : 512
       compatible_brands: isomiso2mp41
       encoder         : Lavf56.40.101
       Stream #0:0(und): Video: mjpeg, yuvj420p(pc), 240x120 [SAR 20:23 DAR 40:23], q=2-31, 200 kb/s, 25 fps, 25 tbn, 25 tbc (default)
       Metadata:
         creation_time   : 1970-01-01 00:00:00
         handler_name    : VideoHandler
         encoder         : Lavc56.60.100 mjpeg
    Stream mapping:
     Stream #0:0 -> #0:0 (mpeg4 (native) -> mjpeg (native))
    Press [q] to stop, [?] for help
    [image2 @ 0x16165a0] Could not open file : /etc/nginx/html/Share/ffmpeg/thumbnails/thumbnail1.jpg
    av_interleaved_write_frame(): Input/output error
    frame=    1 fps=0.0 q=3.9 Lsize=N/A time=00:00:00.04 bitrate=N/A    
    video:8kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
    Conversion failed!

    UPDATED : I also gave permission to ffmpeg by chmod +x $(which ffmpeg)

    I tried php /etc/nginx/html/Share/ffmpeg/ffmpeg.php in the terminal, and it also does conversion fine.

     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 '/etc/nginx/html/Share/test.mp4':
     Metadata:
       major_brand     : isom
       minor_version   : 512
       compatible_brands: isomiso2mp41
       creation_time   : 1970-01-01 00:00:00
       encoder         : Lavf53.24.2
     Duration: 00:00:06.40, start: 0.000000, bitrate: 1321 kb/s
       Stream #0:0(und): Video: mpeg4 (Simple Profile) (mp4v / 0x7634706D), yuv420p, 640x368 [SAR 1:1 DAR 40:23], 932 kb/s, 25 fps, 25 tbr, 12800 tbn, 25 tbc (default)
       Metadata:
         creation_time   : 1970-01-01 00:00:00
         handler_name    : VideoHandler
       Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, 5.1, fltp, 383 kb/s (default)
       Metadata:
         creation_time   : 1970-01-01 00:00:00
         handler_name    : SoundHandler
    [swscaler @ 0x72dbe0] deprecated pixel format used, make sure you did set range correctly
    Output #0, image2, to '/etc/nginx/html/Share/ffmpeg/thumbnails/thumbnail.jpg':
     Metadata:
       major_brand     : isom
       minor_version   : 512
       compatible_brands: isomiso2mp41
       encoder         : Lavf56.40.101
       Stream #0:0(und): Video: mjpeg, yuvj420p(pc), 240x120 [SAR 20:23 DAR 40:23], q=2-31, 200 kb/s, 25 fps, 25 tbn, 25 tbc (default)
       Metadata:
         creation_time   : 1970-01-01 00:00:00
         handler_name    : VideoHandler
         encoder         : Lavc56.60.100 mjpeg
    Stream mapping:
     Stream #0:0 -> #0:0 (mpeg4 (native) -> mjpeg (native))
    Press [q] to stop, [?] for help
    frame=    1 fps=0.0 q=3.9 Lsize=N/A time=00:00:00.04 bitrate=N/A    
    video:8kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown