Recherche avancée

Médias (0)

Mot : - Tags -/masques

Aucun média correspondant à vos critères n’est disponible sur le site.

Autres articles (99)

  • MediaSPIP 0.1 Beta version

    25 avril 2011, par

    MediaSPIP 0.1 beta is the first version of MediaSPIP proclaimed as "usable".
    The zip file provided here only contains the sources of MediaSPIP in its standalone version.
    To get a working installation, you must manually install all-software dependencies on the server.
    If you want to use this archive for an installation in "farm mode", you will also need to proceed to other manual (...)

  • Multilang : améliorer l’interface pour les blocs multilingues

    18 février 2011, par

    Multilang est un plugin supplémentaire qui n’est pas activé par défaut lors de l’initialisation de MediaSPIP.
    Après son activation, une préconfiguration est mise en place automatiquement par MediaSPIP init permettant à la nouvelle fonctionnalité d’être automatiquement opérationnelle. Il n’est donc pas obligatoire de passer par une étape de configuration pour cela.

  • L’agrémenter visuellement

    10 avril 2011

    MediaSPIP est basé sur un système de thèmes et de squelettes. Les squelettes définissent le placement des informations dans la page, définissant un usage spécifique de la plateforme, et les thèmes l’habillage graphique général.
    Chacun peut proposer un nouveau thème graphique ou un squelette et le mettre à disposition de la communauté.

Sur d’autres sites (12957)

  • How to stream live h.264 (IP camera) video to browser ? (bonus : low bandwidth and latency)

    4 octobre 2018, par Ryan Griggs

    I need to stream live h.264-encoded video from an IP camera to the browser, while supporting all common browsers and mobile devices (i.e. Android, Firefox, Chrome, IE, Safari (Mac OS and iOS)), and while keeping bandwidth requirements and latency to a minimum.

    MPEG-DASH requires browser support for Media Source Extensions, which are NOT supported by iOS. So that’s out.

    HLS is only supported by Safari and Edge.

    Also DASH seems to impose a latency of several seconds, which is not preferable.

    I would like to be able to chunk the incoming h.264 data (i.e. fragmented MP4), pass the chunked data to the browser via Websockets, then dump the chunks into some sort of player as they arrive.

    Broadway and its forks are a javascript h.264 decoder, and there is a Broadway-stream project that supports streams instead of files, but the docs are poor and I can only find examples of streaming when the source is not live.

    The most pressing question is : how do I hand the "chunked data" to a player or Video HTML element as it arrives at the browser ?

    I think the ideal setup would be to

    1. Use ffmpeg to transcode the original video to a chunked format (fMP4)
    2. Pipe the chunked output to a Node JS app which emits each chunk out through a Websocket to all connected viewers
    3. Viewers’ browsers dump each incoming chunk into some sort of decoder which renders the video.

    I’m clear up to the point of handing the received chunks to a video decoder. How can that be done without depending on Media Source Extensions, and allowing viewers to join the stream at random times ?

  • FFmpeg HLS input stream shows "Packet corrupt" and "timestamp discontinuity" errors when pushing to RTMP server [closed]

    22 mai, par Amul Bhatia

    I'm trying to restream an HLS URL (https://cache.fastcdn.com.my/edge/53-1.stream/index_0.m3u8?misc=87uq4HjbDEDE3TzIY95ja1ZMxA-Cm1PbOXAk16riVlU&uid=139322&ts=1747931206&e=43200&lat=1747931206&sil=5&sk=no&uip=MTEwLjIyNC4yNDIuOTg&head=aHR0cF94X2ZvcndhcmRlZF9mb3I&chid=53-1') into my RTMP server with FFmpeg. The command I use is :

    


    ffmpeg -i "https://cache.fastcdn.com.my/edge/53-1.stream/index_0.m3u8?misc=87uq4HjbDEDE3TzIY95ja1ZMxA-Cm1PbOXAk16riVlU&uid=139322&ts=1747931206&e=43200&lat=1747931206&sil=5&sk=no&uip=MTEwLjIyNC4yNDIuOTg&head=aHR0cF94X2ZvcndhcmRlZF9mb3I&chid=53-1" -c:v libx264 -preset veryfast -b:v 1000k -c:a aac -b:a 128k -f flv rtmp://69.62.85.241/live/streamkey


    


    getting error

    


    ffmpeg version 6.1.1-3ubuntu5 Copyright (c) 2000-2023 the FFmpeg developers
  built with gcc 13 (Ubuntu 13.2.0-23ubuntu3)
  configuration: --prefix=/usr --extra-version=3ubuntu5 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --disable-omx --enable-gnutls --enable-libaom --enable-libass --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libdav1d --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libglslang --enable-libgme --enable-libgsm --enable-libharfbuzz --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg --enable-openal --enable-opencl --enable-opengl --disable-sndio --enable-libvpl --disable-libmfx --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-ladspa --enable-libbluray --enable-libjack --enable-libpulse --enable-librabbitmq --enable-librist --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libx264 --enable-libzmq --enable-libzvbi --enable-lv2 --enable-sdl2 --enable-libplacebo --enable-librav1e --enable-pocketsphinx --enable-librsvg --enable-libjxl --enable-shared
  libavutil      58. 29.100 / 58. 29.100
  libavcodec     60. 31.102 / 60. 31.102
  libavformat    60. 16.100 / 60. 16.100
  libavdevice    60.  3.100 / 60.  3.100
  libavfilter     9. 12.100 /  9. 12.100
  libswscale      7.  5.100 /  7.  5.100
  libswresample   4. 12.100 /  4. 12.100
  libpostproc    57.  3.100 / 57.  3.100
[hls @ 0x60992c0c8880] Skip ('#EXT-X-VERSION:3')
[hls @ 0x60992c0c8880] Skip ('#EXT-X-DISCONTINUITY')
    Last message repeated 9 times
[hls @ 0x60992c0c8880] Opening 'https://cache.fastcdn.com.my/error/chunks/407.ts' for reading
    Last message repeated 1 times
Input #0, hls, from 'https://cache.fastcdn.com.my/edge/53-1.stream/index_0.m3u8?misc=87uq4HjbDEDE3TzIY95ja1ZMxA-Cm1PbOXAk16riVlU&uid=139322&ts=1747931206&e=43200&lat=1747931206&sil=5&sk=no&uip=MTEwLjIyNC4yNDIuOTg&head=aHR0cF94X2ZvcndhcmRlZF9mb3I&chid=53-1':
  Duration: 00:01:00.00, start: 1.466667, bitrate: 0 kb/s
  Program 0
    Metadata:
      variant_bitrate : 0
  Stream #0:0: Video: h264 (Main) ([27][0][0][0] / 0x001B), yuv420p(tv, unknown/bt709/iec61966-2-1), 854x480 [SAR 1:1 DAR 427:240], 30 fps, 30 tbr, 90k tbn
    Metadata:
      variant_bitrate : 0
Stream mapping:
  Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264))
Press [q] to stop, [?] for help
[libx264 @ 0x60992cd68b00] using SAR=1/1
[libx264 @ 0x60992cd68b00] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2 AVX512
[libx264 @ 0x60992cd68b00] profile High, level 3.1, 4:2:0, 8-bit
[libx264 @ 0x60992cd68b00] 264 - core 164 r3108 31e19f9 - H.264/MPEG-4 AVC codec - Copyleft 2003-2023 - http://www.videolan.org/x264.html - options: cabac=1 ref=1 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=2 psy=1 psy_rd=1.00:0.00 mixed_ref=0 me_range=16 chroma_me=1 trellis=0 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=0 threads=3 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=1 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=10 rc=abr mbtree=1 bitrate=1000 ratetol=1.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
Output #0, flv, to 'rtmp://69.62.85.241/live/streamkey':
  Metadata:
    encoder         : Lavf60.16.100
  Stream #0:0: Video: h264 ([7][0][0][0] / 0x0007), yuv420p(tv, unknown/bt709/iec61966-2-1, progressive), 854x480 [SAR 1:1 DAR 427:240], q=2-31, 1000 kb/s, 30 fps, 1k tbn
    Metadata:
      variant_bitrate : 0
      encoder         : Lavc60.31.102 libx264
    Side data:
      cpb: bitrate max/min/avg: 0/0/1000000 buffer size: 0 vbv_delay: N/A
[https @ 0x60992c48fc40] Opening 'https://cache.fastcdn.com.my/error/chunks/407.ts' for reading
[mpegts @ 0x60992c161940] Packet corrupt (stream = 0, dts = 663000).
[hls @ 0x60992c0c8880] Packet corrupt (stream = 0, dts = 660000).
[in#0/hls @ 0x60992c0c8780] corrupt input packet in stream 0
[vist#0:0/h264 @ 0x60992c47ae80] timestamp discontinuity (stream id=0): -6000000, new offset= 6000000
[https @ 0x60992c4a9d40] Opening 'https://cache.fastcdn.com.my/error/chunks/407.ts' for reading
[mpegts @ 0x60992c161940] Packet corrupt (stream = 0, dts = 663000).
[hls @ 0x60992c0c8880] Packet corrupt (stream = 0, dts = 660000).
[in#0/hls @ 0x60992c0c8780] corrupt input packet in stream 0
[vist#0:0/h264 @ 0x60992c47ae80] timestamp discontinuity (stream id=0): -6000000, new offset= 12000000
[https @ 0x60992c48fc40] Opening 'https://cache.fastcdn.com.my/error/chunks/407.ts' for reading
[mpegts @ 0x60992c161940] Packet corrupt (stream = 0, dts = 663000).
[hls @ 0x60992c0c8880] Packet corrupt (stream = 0, dts = 660000).
[in#0/hls @ 0x60992c0c8780] corrupt input packet in stream 0
[vist#0:0/h264 @ 0x60992c47ae80] timestamp discontinuity (stream id=0): -6000000, new offset= 18000000
[https @ 0x60992c4a9d40] Opening 'https://cache.fastcdn.com.my/error/chunks/407.ts' for reading
[mpegts @ 0x60992c161940] Packet corrupt (stream = 0, dts = 663000).
[hls @ 0x60992c0c8880] Packet corrupt (stream = 0, dts = 660000).
[in#0/hls @ 0x60992c0c8780] corrupt input packet in stream 0
[vist#0:0/h264 @ 0x60992c47ae80] timestamp discontinuity (stream id=0): -6000000, new offset= 24000000
[https @ 0x60992c48fc40] Opening 'https://cache.fastcdn.com.my/error/chunks/407.ts' for reading
[mpegts @ 0x60992c161940] Packet corrupt (stream = 0, dts = 663000).
[hls @ 0x60992c0c8880] Packet corrupt (stream = 0, dts = 660000).
[in#0/hls @ 0x60992c0c8780] corrupt input packet in stream 0
[vist#0:0/h264 @ 0x60992c47ae80] timestamp discontinuity (stream id=0): -6000000, new offset= 30000000
[https @ 0x60992c4a9d40] Opening 'https://cache.fastcdn.com.my/error/chunks/407.ts' for reading
[mpegts @ 0x60992c161940] Packet corrupt (stream = 0, dts = 663000).
[hls @ 0x60992c0c8880] Packet corrupt (stream = 0, dts = 660000).
[in#0/hls @ 0x60992c0c8780] corrupt input packet in stream 0
[vist#0:0/h264 @ 0x60992c47ae80] timestamp discontinuity (stream id=0): -6000000, new offset= 36000000
[https @ 0x60992c48fc40] Opening 'https://cache.fastcdn.com.my/error/chunks/407.ts' for reading
[mpegts @ 0x60992c161940] Packet corrupt (stream = 0, dts = 663000).
[hls @ 0x60992c0c8880] Packet corrupt (stream = 0, dts = 660000).
[in#0/hls @ 0x60992c0c8780] corrupt input packet in stream 0
[vist#0:0/h264 @ 0x60992c47ae80] timestamp discontinuity (stream id=0): -6000000, new offset= 42000000
[https @ 0x60992c4a9d40] Opening 'https://cache.fastcdn.com.my/error/chunks/407.ts' for reading
[mpegts @ 0x60992c161940] Packet corrupt (stream = 0, dts = 663000).
[hls @ 0x60992c0c8880] Packet corrupt (stream = 0, dts = 660000).
[in#0/hls @ 0x60992c0c8780] corrupt input packet in stream 0
[vist#0:0/h264 @ 0x60992c47ae80] timestamp discontinuity (stream id=0): -6000000, new offset= 48000000
[mpegts @ 0x60992c161940] Packet corrupt (stream = 0, dts = 663000).
[hls @ 0x60992c0c8880] Packet corrupt (stream = 0, dts = 660000).
[in#0/hls @ 0x60992c0c8780] corrupt input packet in stream 0
[vist#0:0/h264 @ 0x60992c47ae80] timestamp discontinuity (stream id=0): -6000000, new offset= 54000000
[flv @ 0x60992c88a340] Failed to update header with correct duration.44.8kbits/s speed=22.6x
[flv @ 0x60992c88a340] Failed to update header with correct filesize.
[out#0/flv @ 0x60992cc36180] video:304kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 11.671993%
frame= 1800 fps=685 q=-1.0 Lsize=     339kB time=00:00:59.90 bitrate=  46.4kbits/s speed=22.8x
[libx264 @ 0x60992cd68b00] frame I:8     Avg QP: 2.07  size: 20330
[libx264 @ 0x60992cd68b00] frame P:454   Avg QP: 0.23  size:   218
[libx264 @ 0x60992cd68b00] frame B:1338  Avg QP: 0.21  size:    37
[libx264 @ 0x60992cd68b00] consecutive B-frames:  0.9%  0.0%  0.0% 99.1%
[libx264 @ 0x60992cd68b00] mb I  I16..4: 86.7%  0.3% 13.0%
[libx264 @ 0x60992cd68b00] mb P  I16..4:  0.1%  0.0%  0.0%  P16..4:  1.4%  0.0%  0.0%  0.0%  0.0%    skip:98.6%
[libx264 @ 0x60992cd68b00] mb B  I16..4:  0.0%  0.0%  0.0%  B16..8:  0.1%  0.0%  0.0%  direct: 0.1%  skip:99.8%  L0:59.9% L1:40.1% BI: 0.0%
[libx264 @ 0x60992cd68b00] final ratefactor: -25.04
[libx264 @ 0x60992cd68b00] 8x8 transform intra:0.3% inter:1.8%
[libx264 @ 0x60992cd68b00] coded y,uvDC,uvAC intra: 13.5% 0.0% 0.0% inter: 0.2% 0.0% 0.0%
[libx264 @ 0x60992cd68b00] i16 v,h,dc,p: 90%  6%  4%  0%
[libx264 @ 0x60992cd68b00] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 59% 12% 28%  0%  1%  1%  0%  0%  0%
[libx264 @ 0x60992cd68b00] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 41% 18% 19%  4%  4%  4%  3%  4%  3%
[libx264 @ 0x60992cd68b00] i8c dc,h,v,p: 100%  0%  0%  0%
[libx264 @ 0x60992cd68b00] Weighted P-Frames: Y:0.0% UV:0.0%
[libx264 @ 0x60992cd68b00] kb/s:41.38


    


    However, I get repeated errors like :

    


    Packet corrupt (stream = 0, dts = xxxx)

    


    timestamp discontinuity (stream id=0)

    


    corrupt input packet in stream 0

    


    The stream partially works but seems unstable. How can I fix this error ?

    


    my nginx.conf

    


    rtmp {
    server {
        listen 1935;
        chunk_size 4096;

        application live {
            live on;
            record off;

            hls on;
            hls_path /var/www/hls;
            hls_fragment 5;                  # each TS segment = 5s
            hls_playlist_length 120;         # keep last 2 minutes of stream
            hls_cleanup off;                 # do not delete old segments
        }
    }
}

http {
    include       mime.types;
    default_type  application/octet-stream;

    sendfile on;
    keepalive_timeout 65;

    server {
        listen 81;

        location /hls {
            root /var/www;
            types {
                application/vnd.apple.mpegurl m3u8;
                video/mp2t ts;
            }

            add_header Cache-Control no-cache;
            add_header Access-Control-Allow-Origin *;
            add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS';
            add_header Access-Control-Allow-Headers 'Range';
            add_header Access-Control-Expose-Headers 'Content-Length, Content-Range';
        }
    }
}


    


    The same url is working fine when used in browser, but extracting the stream and putting it in RTMP server and accessing my RTMP server at rtmp ://69.62.85.241/live/streamkey not working

    


  • select a screen section ffmpeg c++ on macos

    21 avril 2022, par C1ngh10

    I am trying to record the screen on macos, with ffmpeg. I would like to be able to select a section of the screen instead of the whole desktop. I tried to set several options such as vf, with values like "crop=150:150:0:0", or video_size with value "150x150". The result was that the output video had the correct dimensions (150x150) but whole screen has been recorded instead of the specified section. Does anybody know another way to do that ?

    


    int ScreenRecorder::openVideoDevice() {
    value = 0;
    videoOptions = nullptr;
    pAVFormatContext = nullptr;

    pAVFormatContext = avformat_alloc_context();


    string dimension = to_string(width) + "x" + to_string(height);
    av_dict_set(&videoOptions, "video_size", dimension.c_str(), 0);   //option to set the dimension of the screen section to record
    value = av_dict_set(&videoOptions, "framerate", "25", 0);
    if (value < 0) {
        cerr << "Error in setting dictionary value (setting framerate)" << endl;
        exit(-1);
    }

    value = av_dict_set(&videoOptions, "preset", "ultrafast", 0);
    if (value < 0) {
        cerr << "Error in setting dictionary value (setting preset value)" << endl;
        exit(-1);
    }

    //The distance from the left edge of the screen or desktop
    value = av_dict_set(&videoOptions, "vf", ("crop=" + to_string(width) + ":" + to_string(height) + ":" + to_string(x_offset) + ":" +
        to_string(y_offset)).c_str(), 0);

    if (value < 0) {
        cerr << "Error in setting crop" << endl;
        exit(-1);
    }

    value = av_dict_set(&videoOptions, "pixel_format", "yuv420p", 0);
    if (value < 0) {
        cerr << "Error in setting pixel format" << endl;
        exit(-1);
    }
    
    pAVInputFormat = av_find_input_format("avfoundation");

    if (avformat_open_input(&pAVFormatContext, "1:none", pAVInputFormat, &videoOptions) != 0) {
        cerr << "Error in opening input device" << endl;
        exit(-1);
    }
    //get video stream infos from context
    value = avformat_find_stream_info(pAVFormatContext, nullptr);
    if (value < 0) {
        cerr << "Error in retrieving the stream info" << endl;
        exit(-1);
    }

    VideoStreamIndx = -1;
    for (int i = 0; i < pAVFormatContext->nb_streams; i++) {
        if (pAVFormatContext->streams[i]->codecpar->codec_type == AVMEDIA_TYPE_VIDEO) {
            VideoStreamIndx = i;
            break;
        }
    }
    if (VideoStreamIndx == -1) {
        cerr << "Error: unable to find video stream index" << endl;
        exit(-2);
    }

    pAVCodecContext = pAVFormatContext->streams[VideoStreamIndx]->codec;
    pAVCodec = avcodec_find_decoder(pAVCodecContext->codec_id/*params->codec_id*/);
    if (pAVCodec == nullptr) {
        cerr << "Error: unable to find decoder video" << endl;
        exit(-1);
    }

    return 0;
}