Recherche avancée

Médias (1)

Mot : - Tags -/net art

Autres articles (71)

  • 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

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

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

  • av_interleaved_write_frame() : Connection reset by peer mjpeg : What is wrong with mjpeg stream, ffserver and ffplay ?

    31 décembre 2016, par Ilya Yevlampiev

    I’m creating mjpeg stream from image files using ffmpeg and write it to ffserver’s feed :

    sudo ffmpeg -loop 1 -i fon.jpeg -vcodec mjpeg -f mjpeg http://localhost:8090/feed1.ffm

    ffmpeg version 2.0 Copyright (c) 2000-2013 the FFmpeg developers
    built on Aug 19 2013 23:10:58 with gcc 4.7 (Debian 4.7.2-5)
    configuration:
    libavutil      52. 38.100 / 52. 38.100
    libavcodec     55. 18.102 / 55. 18.102
    libavformat    55. 12.100 / 55. 12.100
    libavdevice    55.  3.100 / 55.  3.100
    libavfilter     3. 79.101 /  3. 79.101
    libswscale      2.  3.100 /  2.  3.100
    libswresample   0. 17.102 /  0. 17.102
    Input #0, image2, from 'fon.jpeg':
    Duration: 00:00:00.04, start: 0.000000, bitrate: N/A
    Stream #0:0: Video: mjpeg, yuvj420p, 1280x720 [SAR 1:1 DAR 16:9], 25 fps, 25 tbr, 25 tbn, 25 tbc
    Output #0, mjpeg, to 'http://localhost:8090/feed1.ffm':
    Metadata:
    encoder         : Lavf55.12.100
    Stream #0:0: Video: mjpeg, yuvj420p, 1280x720 [SAR 1:1 DAR 16:9], q=2-31, 200 kb/s, 90k tbn, 25 tbc
    Stream mapping:
    Stream #0:0 -> #0:0 (mjpeg -> mjpeg)
    Press [q] to stop, [?] for help

    ffserver is configured as

    Port 8090
    RTSPPort 8594
    BindAddress 0.0.0.0
    MaxClients 100
    MaxBandwidth 20000
    NoDaemon
    <feed>
    File /tmp/feed.ffm
    FileMaxSize 3M
    </feed>
    <stream>
    Feed feed.ffm
    Format rtsp
    VideoCodec mjpeg
    VideoFrameRate 30
    VideoBufferSize 80000
    VideoBitRate 200
    VideoQMin 1
    VideoQMax 5
    VideoSize 1280x720
    PreRoll 1
    Noaudio
    </stream>
    <stream>
    Feed feed.ffm
    Format swf
    VideoCodec flv
    VideoFrameRate 30
    VideoBufferSize 50000
    VideoBitRate 100
    VideoQMin 1
    VideoQMax 5
    VideoSize 1280x720
    PreRoll 0
    Noaudio
    </stream>

    Then I’m trying to retrieve the rtsp stream from the ffserver :

    ffplay http://localhost:8090/test.rtsp -loglevel debug
    avplay version 0.8.5-6:0.8.5-1, Copyright (c) 2003-2012 the Libav developers
    built on Jan 13 2013 12:05:48 with gcc 4.7.2
    configuration: --arch=amd64 --enable-pthreads --enable-runtime-cpudetect --extra-         version='6:0.8.5-1' --libdir=/usr/lib/x86_64-linux-gnu --prefix=/usr --enable-bzlib --enable-libdc1394 --enable-libdirac --enable-libfreetype --enable-frei0r --enable-gnutls --enable-libgsm --enable-libmp3lame --enable-librtmp --enable-libopencv --enable-libopenjpeg --enable-libpulse --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-vaapi --enable-vdpau --enable-libvorbis --enable-libvpx --enable-zlib --enable-gpl --enable-postproc --enable-swscale --enable-libcdio --enable-x11grab --enable-libx264 --enable-libxvid --shlibdir=/usr/lib/x86_64-linux-gnu --enable-shared --disable-static

    avutil configuration : —arch=amd64 —enable-pthreads —enable-runtime-cpudetect —extra-version=’6:0.8.4-1’ —libdir=/usr/lib/x86_64-linux-gnu —prefix=/usr —enable-bzlib —enable-libdc1394 —enable-libdirac —enable-libfreetype —enable-frei0r —enable-gnutls —enable-libgsm —enable-libmp3lame —enable-librtmp —enable-libopencv —enable-libopenjpeg —enable-libpulse —enable-libschroedinger —enable-libspeex —enable-libtheora —enable-vaapi —enable-vdpau —enable-libvorbis —enable-libvpx —enable-zlib —enable-gpl —enable-postproc —enable-swscale —enable-libcdio —enable-x11grab —enable-libx264 —enable-libxvid —shlibdir=/usr/lib/x86_64-linux-gnu —enable-shared —disable-static
    avcodec configuration : —arch=amd64 —enable-pthreads —enable-runtime-cpudetect —extra-version=’6:0.8.4-1’ —libdir=/usr/lib/x86_64-linux-gnu —prefix=/usr —enable-bzlib —enable-libdc1394 —enable-libdirac —enable-libfreetype —enable-frei0r —enable-gnutls —enable-libgsm —enable-libmp3lame —enable-librtmp —enable-libopencv —enable-libopenjpeg —enable-libpulse —enable-libschroedinger —enable-libspeex —enable-libtheora —enable-vaapi —enable-vdpau —enable-libvorbis —enable-libvpx —enable-zlib —enable-gpl —enable-postproc —enable-swscale —enable-libcdio —enable-x11grab —enable-libx264 —enable-libxvid —shlibdir=/usr/lib/x86_64-linux-gnu —enable-shared —disable-static
    avformat configuration : —arch=amd64 —enable-pthreads —enable-runtime-cpudetect —extra-version=’6:0.8.4-1’ —libdir=/usr/lib/x86_64-linux-gnu —prefix=/usr —enable-bzlib —enable-libdc1394 —enable-libdirac —enable-libfreetype —enable-frei0r —enable-gnutls —enable-libgsm —enable-libmp3lame —enable-librtmp —enable-libopencv —enable-libopenjpeg —enable-libpulse —enable-libschroedinger —enable-libspeex —enable-libtheora —enable-vaapi —enable-vdpau —enable-libvorbis —enable-libvpx —enable-zlib —enable-gpl —enable-postproc —enable-swscale —enable-libcdio —enable-x11grab —enable-libx264 —enable-libxvid —shlibdir=/usr/lib/x86_64-linux-gnu —enable-shared —disable-static
    swscale configuration : —arch=amd64 —enable-pthreads —enable-runtime-cpudetect —extra-version=’6:0.8.4-1’ —libdir=/usr/lib/x86_64-linux-gnu —prefix=/usr —enable-bzlib —enable-libdc1394 —enable-libdirac —enable-libfreetype —enable-frei0r —enable-gnutls —enable-libgsm —enable-libmp3lame —enable-librtmp —enable-libopencv —enable-libopenjpeg —enable-libpulse —enable-libschroedinger —enable-libspeex —enable-libtheora —enable-vaapi —enable-vdpau —enable-libvorbis —enable-libvpx —enable-zlib —enable-gpl —enable-postproc —enable-swscale —enable-libcdio —enable-x11grab —enable-libx264 —enable-libxvid —shlibdir=/usr/lib/x86_64-linux-gnu —enable-shared —disable-static
    postproc configuration : —arch=amd64 —enable-pthreads —enable-runtime-cpudetect —extra-version=’6:0.8.4-1’ —libdir=/usr/lib/x86_64-linux-gnu —prefix=/usr —enable-bzlib —enable-libdc1394 —enable-libdirac —enable-libfreetype —enable-frei0r —enable-gnutls —enable-libgsm —enable-libmp3lame —enable-librtmp —enable-libopencv —enable-libopenjpeg —enable-libpulse —enable-libschroedinger —enable-libspeex —enable-libtheora —enable-vaapi —enable-vdpau —enable-libvorbis —enable-libvpx —enable-zlib —enable-gpl —enable-postproc —enable-swscale —enable-libcdio —enable-x11grab —enable-libx264 —enable-libxvid —shlibdir=/usr/lib/x86_64-linux-gnu —enable-shared —disable-static

    libavutil    51. 22. 1 / 51. 22. 1
    libavcodec   53. 35. 0 / 53. 35. 0
    libavformat  53. 21. 1 / 53. 21. 0
    libavdevice  53.  2. 0 / 53.  2. 0
    libavfilter   2. 15. 0 /  2. 15. 0
    libswscale    2.  1. 0 /  2.  1. 0
    libpostproc  52.  0. 0 / 52.  0. 0
    http://localhost:8090/test.rtsp: Invalid data found when processing input

    So, what is wrong in this streaming example, if I have no problem when I substitute streams to the files ?

    I create a mjpeg file using the same parameters 9i.e. file is an output insteadof stream)

    sudo ffmpeg -loop 1 -i fon.jpeg -vcodec mjpeg -f mjpeg test.mjpg
    ffmpeg version 2.0 Copyright (c) 2000-2013 the FFmpeg developers
    built on Aug 19 2013 23:10:58 with gcc 4.7 (Debian 4.7.2-5)
    configuration:
    libavutil      52. 38.100 / 52. 38.100
    libavcodec     55. 18.102 / 55. 18.102
    libavformat    55. 12.100 / 55. 12.100
    libavdevice    55.  3.100 / 55.  3.100
    libavfilter     3. 79.101 /  3. 79.101
    libswscale      2.  3.100 /  2.  3.100
    libswresample   0. 17.102 /  0. 17.102
    Input #0, image2, from 'fon.jpeg':
    Duration: 00:00:00.04, start: 0.000000, bitrate: N/A
    Stream #0:0: Video: mjpeg, yuvj420p, 1280x720 [SAR 1:1 DAR 16:9], 25 fps, 25 tbr, 25 tbn, 25 tbc
    Output #0, mjpeg, to 'test.mjpg':
    Metadata:
    encoder         : Lavf55.12.100
    Stream #0:0: Video: mjpeg, yuvj420p, 1280x720 [SAR 1:1 DAR 16:9], q=2-31, 200 kb/s, 90k tbn, 25 tbc
    Stream mapping:
    Stream #0:0 -> #0:0 (mjpeg -> mjpeg)
    Press [q] to stop, [?] for help
    frame=   36 fps=0.0 q=0.0 size=     888kB time=00:00:01.36 bitrate=5349.2kbits/sframe=   78 fps= 76 q=0.0 size=    1711kB time=00:00:03.04 bitrate=4609.9kbits/sframe=  120 fps= 78 q=0.0 size=    2533kB time=00:00:04.72 bitrate=4396.9kbits/sframe=  161 fps= 79 q=0.0 size=    3336kB time=00:00:06.36 bitrate=4297.5kbits/sframe=  202 fps= 79 q=0.0 size=    4139kB      
    time=00:00:08.00 bitrate=4238.8kbits/sframe=  243 fps= 79 q=0.0 size=    4943kB  
    time=00:00:09.64 bitrate=4200.1kbits/sframe=  282 fps= 79 q=0.0 size=    5706kB
    time=00:00:11.20 bitrate=4173.9kbits/sframe=  321 fps= 79 q=0.0 size=    6470kB  
    time=00:00:12.76 bitrate=4154.0kbits/sframe=  358 fps= 78 q=0.0 size=    7195kB
    time=00:00:14.24 bitrate=4139.2kbits/sframe=  397 fps= 68 q=0.0 size=    7959kB
    time=00:00:15.80 bitrate=4126.6kbits/s    
    [1]+  Stopped sudo ffmpeg -loop 1 -i fon.jpeg -vcodec mjpeg -f mjpeg test.mjpg

    And then I playback this mjpeg file with ffplay. The play back is correct, I see no errors or exceptions.

    ffplay test.mjpg
    avplay version 0.8.5-6:0.8.5-1, Copyright (c) 2003-2012 the Libav developers
    built on Jan 13 2013 12:05:48 with gcc 4.7.2
    [mjpeg @ 0x7fc3680008c0] max_analyze_duration reached
    [mjpeg @ 0x7fc3680008c0] Estimating duration from bitrate, this may be inaccurate
    Input #0, mjpeg, from 'test.mjpg':
    Duration: N/A, bitrate: N/A
    Stream #0.0: Video: mjpeg, yuvj420p, 1280x720 [PAR 1:1 DAR 16:9], 25 fps, 25 tbr, 1200k tbn, 1200k tbc
    [avsink @ 0x7fc360001020] auto-inserting filter 'auto-inserted scaler 0' between the filter 'src' and the filter 'out'
    [scale @ 0x7fc360001700] w:1280 h:720 fmt:yuvj420p -> w:1280 h:720 fmt:yuv420p flags:0x4
    27.99 A-V:  0.000 s:0.0 aq=    0KB vq=    0KB sq=    0B f=0/0   0/0

    So, what is the configuration issue for ffserver, or may be it is a bug of the ffserver ?

    UPD. I have realized, that i fed file1.ffm instead of file.ffm ; that caused some ffserver problem :

    Mon Sep  9 11:43:20 2013 [ffm @ 0x2110000]Format ffm probed with size=2048 and score=101
    Mon Sep  9 11:43:20 2013 Deleting feed file 'feed1.ffm' as stream counts differ (1 != 2)
    Mon Sep  9 11:43:20 2013 [AVIOContext @ 0x210d660]Statistics: 4096 bytes read, 0 seeks
    Mon Sep  9 11:43:20 2013 [AVIOContext @ 0x210a9a0]Statistics: 0 seeks, 1 writeouts
    Mon Sep  9 11:43:20 2013 FFserver started.
    Mon Sep  9 11:44:18 2013 File '/feed1.ffm' not found
    Mon Sep  9 11:44:18 2013 127.0.0.1 - - [POST] "/feed1.ffm HTTP/1.1" 404 149

    After i set a correct feed, i got another exception on ffmpeg side :

    sudo ffmpeg -loop 1 -i fon.jpeg -vcodec mjpeg -f mjpeg http://localhost:8090/feed.ffm
    ffmpeg version 2.0 Copyright (c) 2000-2013 the FFmpeg developers
    built on Aug 19 2013 23:10:58 with gcc 4.7 (Debian 4.7.2-5)
    configuration:
    libavutil      52. 38.100 / 52. 38.100
    libavcodec     55. 18.102 / 55. 18.102
    libavformat    55. 12.100 / 55. 12.100
    libavdevice    55.  3.100 / 55.  3.100
    libavfilter     3. 79.101 /  3. 79.101
    libswscale      2.  3.100 /  2.  3.100
    libswresample   0. 17.102 /  0. 17.102
    Input #0, image2, from 'fon.jpeg':
    Duration: 00:00:00.04, start: 0.000000, bitrate: N/A
    Stream #0:0: Video: mjpeg, yuvj420p, 1280x720 [SAR 1:1 DAR 16:9], 25 fps, 25 tbr, 25 tbn, 25 tbc
    Output #0, mjpeg, to 'http://localhost:8090/feed.ffm':
    Metadata:
    encoder         : Lavf55.12.100
    Stream #0:0: Video: mjpeg, yuvj420p, 1280x720 [SAR 1:1 DAR 16:9], q=2-31, 200 kb/s, 90k tbn, 25 tbc
    Stream mapping:
    Stream #0:0 -> #0:0 (mjpeg -> mjpeg)
    Press [q] to stop, [?] for help
    av_interleaved_write_frame(): Connection reset by peer

    While ffserver shows no error at all :

    sudo ffserver -f  /etc/ffserver3.conf
    ffserver version 2.0 Copyright (c) 2000-2013 the FFmpeg developers
    built on Aug 19 2013 23:10:58 with gcc 4.7 (Debian 4.7.2-5)
    configuration:
    libavutil      52. 38.100 / 52. 38.100
    libavcodec     55. 18.102 / 55. 18.102
    libavformat    55. 12.100 / 55. 12.100
    libavdevice    55.  3.100 / 55.  3.100
    libavfilter     3. 79.101 /  3. 79.101
    libswscale      2.  3.100 /  2.  3.100
    libswresample   0. 17.102 /  0. 17.102
    Mon Sep  9 12:08:19 2013 FFserver started.
    Mon Sep  9 12:08:40 2013 127.0.0.1 - - [POST] "/feed.ffm HTTP/1.1" 200 4096
    Mon Sep  9 12:12:28 2013 127.0.0.1 - - [GET] "/ HTTP/1.1" 200 1847

    So, what is the problem now ?

  • OpenCV Reporting TBR instead of FPS when using capture.get(CV_CAP_PROP_FPS)

    22 février 2012, par Malife

    I have several videos that I am trying to process using OpenCV and Qt 4.7.4 on Mac OS 10.6.8 (Snow Leopard). If I create a cv::VideoCapture object and then query for the frame rate related to such video, what I get back is the TBR and not FPS.

    For instance if use ffprobe Video1.mp4 what I get is :

    >> ffprobe Video1.mp4      
    ffprobe version 0.7.8, Copyright (c) 2007-2011 the FFmpeg developers
    built on Nov 24 2011 14:31:00 with gcc 4.2.1 (Apple Inc. build 5666) (dot 3)
    configuration: --prefix=/opt/local --enable-gpl --enable-postproc --enable-swscale --  
    enable-avfilter --enable-libmp3lame --enable-libvorbis --enable-libtheora --enable-
    libdirac --enable-libschroedinger --enable-libopenjpeg --enable-libxvid --enable-libx264
    --enable-libvpx --enable-libspeex --mandir=/opt/local/share/man --enable-shared --
    enable-pthreads --cc=/usr/bin/gcc-4.2 --arch=x86_64 --enable-yasm
    libavutil    50. 43. 0 / 50. 43. 0
    libavcodec   52.123. 0 / 52.123. 0
    libavformat  52.111. 0 / 52.111. 0
    libavdevice  52.  5. 0 / 52.  5. 0
    libavfilter   1. 80. 0 /  1. 80. 0
    libswscale    0. 14. 1 /  0. 14. 1
    libpostproc  51.  2. 0 / 51.  2. 0

    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from &#39;Video1.mp4&#39;:
    Metadata:
    major_brand     : isom
    minor_version   : 0
    compatible_brands: mp41avc1qt  
    creation_time   : 2012-01-09 23:09:43
    encoder         : vlc 1.1.3 stream output
    encoder-eng     : vlc 1.1.3 stream output
    Duration: 00:10:10.22, start: 0.000000, bitrate: 800 kb/s
    Stream #0.0(eng): Video: h264 (Baseline), yuvj420p, 704x480 [PAR 10:11 DAR 4:3], 798
    kb/s, 27.71 fps, 1001 tbr, 1001 tbn, 2002 tbc
    Metadata:
     creation_time   : 2012-01-09 23:09:43

    Which correctly reports FPS = 27.71 and TBR = 1001. Nevertheless if I use the following OpenCV code to query for the FPS :

    QString filename = QFileDialog::getOpenFileName(this,
                                           "Open Video",
                                           "Video Files (*.mp4, *.mpg)");

    capture.release();
    capture.open(filename.toAscii().data());

    if (!capture.isOpened()){
       qDebug() &lt;&lt;"Error when opening the video!";
       return;
    }


    qDebug() &lt;&lt; "Frame Rate:" &lt;&lt; capture.get(CV_CAP_PROP_FPS);
    qDebug() &lt;&lt; "Num of Frames:" &lt;&lt; capture.get(CV_CAP_PROP_FRAME_COUNT);
    qDebug() &lt;&lt; "OpenCV Version" &lt;&lt; CV_VERSION;

    The output I get is :

    Frame Rate: 1001
    Num of Frames: 610832
    OpenCV Version 2.3.1

    Which reports the TBR instead of the FPS. This behavior is consistent when I try to open different videos.

    I checked OpenCV's bug tracker and I also found this stack overflow question to be a similar but not quite the same problem, so I am at a loss to what to do next. Any hint or idea is most welcome since I've tried lots of things and seem to be getting nowhere.

  • process video stream from memory buffer

    10 février 2015, par Dan

    I need to parse a video stream (mpeg ts) from proprietary network protocol (which I already know how to do) and then I would like to use OpenCV to process the video stream into frames. I know how to use cv::VideoCapture from a file or from a standard URL, but I would like to setup OpenCV to read from a buffer(s) in memory where I can store the video stream data until it is needed. Is there a way to setup a call back method (or any other interfrace) so that I can still use the cv::VideoCapture object ? Is there a better way to accomplish processing the video with out writing it out to a file and then re-reading it. I would also entertain using FFMPEG directly if that is a better choice. I think I can convert AVFrames to Mat if needed.