Recherche avancée

Médias (91)

Autres articles (74)

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

  • De l’upload à la vidéo finale [version standalone]

    31 janvier 2010, par

    Le chemin d’un document audio ou vidéo dans SPIPMotion est divisé en trois étapes distinctes.
    Upload et récupération d’informations de la vidéo source
    Dans un premier temps, il est nécessaire de créer un article SPIP et de lui joindre le document vidéo "source".
    Au moment où ce document est joint à l’article, deux actions supplémentaires au comportement normal sont exécutées : La récupération des informations techniques des flux audio et video du fichier ; La génération d’une vignette : extraction d’une (...)

Sur d’autres sites (8216)

  • FFMPEG Video from images to mp4 in nvidia GPU

    16 août 2019, par M.y

    I am trying to encode a h264 .mp4 video created from .jpg images using a 1070ti nvidia cuda power, having a a crossfade transition between each image.
    I am able to render the video in GPU using the flags -c:v h264_nvenc, I see a short peak in the GPU encoding, but with a long period of computer CPU hight load, I guess preparing the transitioning images. But the image preparation it happens on cpu/ram due the -filter_complex and is quite slow.
    This works :

    ffmpeg.exe, -y,
    -loop, 1, -t, 2.5, -i, 1565957420594_labeled.jpg,
    -loop, 1, -t, 2.5, -i, 1565957453659_labeled.jpg,
    -loop, 1, -t, 2.5, -i, 1565957487743_labeled.jpg,
    -loop, 1, -t, 2.5, -i, 1565957525280_labeled.jpg,
    -loop, 1, -t, 2.5, -i, 1565957587308_labeled.jpg,
    -loop, 1, -t, 2.5, -i, 1565957644898_labeled.jpg,
    -loop, 1, -t, 2.5, -i, 1565957859119_labeled.jpg,
    -loop, 1, -t, 2.5, -i,1565959133561_labeled.jpg,
    -loop, 1, -t, 2.5, -i, 1565959412948_labeled.jpg,
    -loop, 1, -t, 2.5, -i, 1565959501884_labeled.jpg,
    -loop, 1, -t, 2.5, -i, 1565959755432_labeled.jpg,
    -loop, 1, -t, 2.5, -i, 1565959882380_labeled.jpg,
    -loop, 1, -t, 2.5, -i, 1565960023185_labeled.jpg,
    -loop, 1, -t, 2.5, -i, 1565960157174_labeled.jpg,
    -loop, 1, -t, 2.5, -i, 1565960683303_labeled.jpg,
    -loop, 1, -t, 2.5, -i, 1565961151548_labeled.jpg,
    -loop, 1, -t, 2.5, -i, 1565961230278_labeled.jpg,
    -loop, 1, -t, 2.5, -i, 1565961671766_labeled.jpg,
    -loop, 1, -t, 2.5, -i, final.jpg,
    -loop, 1, -t, 2.5, -i, final.jpg,
    -c:v, h264_nvenc, -preset, fast,
    -filter_complex, [1]fade=d=0.5:t=in:alpha=1,setpts=PTS-STARTPTS+0.5/TB[f0];
    [2]fade=d=0.5:t=in:alpha=1,setpts=PTS-STARTPTS+1.0/TB[f1];
    [3]fade=d=0.5:t=in:alpha=1,setpts=PTS-STARTPTS+1.5/TB[f2];
    [4]fade=d=0.5:t=in:alpha=1,setpts=PTS-STARTPTS+2.0/TB[f3];
    [5]fade=d=0.5:t=in:alpha=1,setpts=PTS-STARTPTS+2.5/TB[f4];
    [6]fade=d=0.5:t=in:alpha=1,setpts=PTS-STARTPTS+3.0/TB[f5];
    [7]fade=d=0.5:t=in:alpha=1,setpts=PTS-STARTPTS+3.5/TB[f6];
    [8]fade=d=0.5:t=in:alpha=1,setpts=PTS-STARTPTS+4.0/TB[f7];
    [9]fade=d=0.5:t=in:alpha=1,setpts=PTS-STARTPTS+4.5/TB[f8];
    [10]fade=d=0.5:t=in:alpha=1,setpts=PTS-STARTPTS+5.0/TB[f9];
    [11]fade=d=0.5:t=in:alpha=1,setpts=PTS-STARTPTS+5.5/TB[f10];
    [12]fade=d=0.5:t=in:alpha=1,setpts=PTS-STARTPTS+6.0/TB[f11];
    [13]fade=d=0.5:t=in:alpha=1,setpts=PTS-STARTPTS+6.5/TB[f12];
    [14]fade=d=0.5:t=in:alpha=1,setpts=PTS-STARTPTS+7.0/TB[f13];
    [15]fade=d=0.5:t=in:alpha=1,setpts=PTS-STARTPTS+7.5/TB[f14];
    [16]fade=d=0.5:t=in:alpha=1,setpts=PTS-STARTPTS+8.0/TB[f15];
    [17]fade=d=0.5:t=in:alpha=1,setpts=PTS-STARTPTS+8.5/TB[f16];
    [18]fade=d=0.5:t=in:alpha=1,setpts=PTS-STARTPTS+9.0/TB[f17];
    [19]fade=d=0.5:t=in:alpha=1,setpts=PTS-STARTPTS+9.5/TB[f18];
    [0][f0]overlay[bg1];
    [bg1][f1]overlay[bg2];
    [bg2][f2]overlay[bg3];
    [bg3][f3]overlay[bg4];
    [bg4][f4]overlay[bg5];
    [bg5][f5]overlay[bg6];
    [bg6][f6]overlay[bg7];
    [bg7][f7]overlay[bg8];
    [bg8][f8]overlay[bg9];
    [bg9][f9]overlay[bg10];
    [bg10][f10]overlay[bg11];
    [bg11][f11]overlay[bg12];
    [bg12][f12]overlay[bg13];
    [bg13][f13]overlay[bg14];
    [bg14][f14]overlay[bg15];
    [bg15][f15]overlay[bg16];
    [bg16][f16]overlay[bg17];
    [bg17][f17]overlay[bg18];
    [bg18][f18]overlay[v],
    -map, [v], -movflags, +faststart, output.mp4

    I am trying to do all work in the GPU, theoretically I can encode all images in GPU memory using in each -i the flags "-hwaccel cuvid -c:v mjpeg_cuvid" I receive the following error :

    [mjpeg_cuvid @ 00000000024ef980] ignoring invalid SAR: 0/0
    Impossible to convert between the formats supported by the filter 'graph 0 input from stream 1:0' and the filter 'auto_scaler_0'
    Error reinitializing filters!
    Failed to inject frame into filter network: Function not implemented
    Error while processing the decoded data for stream #0:0

    Is there a way to load images in the GPU with the "fade" flag applied ?

    Thanks in advance !

  • Nginx RTMP Pull to HLS Streaming

    5 avril 2023, par Nathaniel Anderson

    I've followed this guide on setting up RTMP to HLS streaming - https://web.archive.org/web/20221205201139/https://docs.peer5.com/guides/setting-up-hls-live-streaming-server-using-nginx/

    


    RTMP streaming works just fine but for some reason I can't get HLS to link with the already existing RTMP server. I'm using OBS to stream to RTMP and it's set to be on x264 and as far as I know the default codec for audio is AAC so I'm not sure why it's not picking it up.

    


    Current Nginx.conf

    


    worker_processes  auto;
events {
    worker_connections  1024;
}

# RTMP configuration
rtmp {
    server {
        listen 1935; # Listen on standard RTMP port
        chunk_size 4000;

# Define the Application
        application show {
            live on;
            pull rtmp://localhost:1935/stream/test;
            # Turn on HLS
            hls on;
            hls_path /mnt/hls/;
            hls_fragment 3;
            hls_playlist_length 60;
            # disable consuming the stream from nginx as rtmp
            deny play all;
        }

        # RTMP video on demand for mp4 files
        application vod {
            play /mnt/mp4s;
        }

        # RTMP stream using OBS
        application stream {
            live on;
        }

    }
}

http {
    sendfile off;
    tcp_nopush on;
    aio on;
    directio 512;
    default_type application/octet-stream;

    server {
        listen 8080;

        location / {
            # Disable cache
            add_header 'Cache-Control' 'no-cache';

            # CORS setup
            add_header 'Access-Control-Allow-Origin' '*' always;
            add_header 'Access-Control-Expose-Headers' 'Content-Length';

            # allow CORS preflight requests
            if ($request_method = 'OPTIONS') {
                add_header 'Access-Control-Allow-Origin' '*';
                add_header 'Access-Control-Max-Age' 1728000;
                add_header 'Content-Type' 'text/plain charset=UTF-8';
                add_header 'Content-Length' 0;
                return 204;
            }

            types {
                application/dash+xml mpd;
                application/vnd.apple.mpegurl m3u8;
                video/mp2t ts;
            }

            root /mnt/;
        }
    }
}


    


    I've tried changing the rtmp link I have in that config too to both internal and external IP's since it can be reached. I tested watching the rtmp from another computer on the network to confirm it was functional. I wanted to avoid transcoding with ffmpeg since the server doesn't have that kind of power.

    


  • lavc/h263dsp : R-V V {h,v}_loop_filter

    19 mai 2024, par Rémi Denis-Courmont
    lavc/h263dsp : R-V V h,v_loop_filter
    

    Since the horizontal and vertical filters are identical except for a
    transposition, this uses a common subprocedure with an ad-hoc ABI.
    To preserve return-address stack prediction, a link register has to be
    used (c.f. the "Control Transfer Instructions" from the
    RISC-V ISA Manual). The alternate/temporary link register T0 is used
    here, so that the normal RA is preserved (something Arm cannot do !).

    To load the strength value based on `qscale`, the shortest possible
    and PIC-compatible sequence is used : AUIPC ; ADD ; LBU. The classic
    LLA ; ADD ; LBU sequence would add one more instruction since LLA is a
    convenience alias for AUIPC ; ADDI. To ensure that this trick works,
    relocation relaxation is disabled.

    To implement the two signed divisions by a power of two toward zero :
    (x / (1 << SHIFT))
    the code relies on the small range of integers involved, computing :
    (x + (x >> (16 - SHIFT))) >> SHIFT
    rather than the more general :
    (x + ((x >> (16 - 1)) & ((1 << SHIFT) - 1))) >> SHIFT
    Thus one ANDI instruction is avoided.

    T-Head C908 :
    h263dsp.h_loop_filter_c : 228.2
    h263dsp.h_loop_filter_rvv_i32 : 144.0
    h263dsp.v_loop_filter_c : 242.7
    h263dsp.v_loop_filter_rvv_i32 : 114.0
    (C is probably worse in real use due to less predictible branches.)

    • [DH] libavcodec/h263dsp.c
    • [DH] libavcodec/h263dsp.h
    • [DH] libavcodec/riscv/Makefile
    • [DH] libavcodec/riscv/h263dsp_init.c
    • [DH] libavcodec/riscv/h263dsp_rvv.S