Recherche avancée

Médias (91)

Autres articles (64)

  • Emballe médias : à quoi cela sert ?

    4 février 2011, par

    Ce plugin vise à gérer des sites de mise en ligne de documents de tous types.
    Il crée des "médias", à savoir : un "média" est un article au sens SPIP créé automatiquement lors du téléversement d’un document qu’il soit audio, vidéo, image ou textuel ; un seul document ne peut être lié à un article dit "média" ;

  • Le plugin : Gestion de la mutualisation

    2 mars 2010, par

    Le plugin de Gestion de mutualisation permet de gérer les différents canaux de mediaspip depuis un site maître. Il a pour but de fournir une solution pure SPIP afin de remplacer cette ancienne solution.
    Installation basique
    On installe les fichiers de SPIP sur le serveur.
    On ajoute ensuite le plugin "mutualisation" à la racine du site comme décrit ici.
    On customise le fichier mes_options.php central comme on le souhaite. Voilà pour l’exemple celui de la plateforme mediaspip.net :
    < ?php (...)

  • Gestion de la ferme

    2 mars 2010, par

    La ferme est gérée dans son ensemble par des "super admins".
    Certains réglages peuvent être fais afin de réguler les besoins des différents canaux.
    Dans un premier temps il utilise le plugin "Gestion de mutualisation"

Sur d’autres sites (7055)

  • When MP4 files encoded with H264 are set to slices=n, where can I find out how many slices the current NALU is ?

    17 novembre 2023, par Gaowan Liang

    I am doing an experiment on generating thumbnails for web videos. I plan to extract I-frames from the binary stream by simulating the working principle of the decoder, and add the PPS and SPS information of the original video to form the H264 raw information, which is then handed over to ffmpeg to generate images. I have almost solved many problems, and even wrote a demo to implement my function, but I can't find any information about where there is an identifier when multiple NALUs form one frame (strictly speaking, there is a little, but it can't solve my problem, I will talk about it later).

    &#xA;

    You can use the following command to generate the type of video I mentioned :

    &#xA;

     ffmpeg -i input.mp4 -c:v libx264 -x264-params slices=8 output.mp4&#xA;

    &#xA;

    This will generate a video with 8 slices per frame. Since I will use this file later, I will also generate the H264 raw information file with the following command :

    &#xA;

     ffmpeg -i output.mp4 -vcodec copy -an output.h264&#xA;

    &#xA;

    When I put it into the analysis program, I can see multiple IDR NALUs connected together, where the first_mb_in_slice in the Slice Header of the non-first IDR NALU is not 0 :&#xA;

    &#xA;

    But when I go back to the mdat in MP4 and look at the NALU, all the first_mb_in_slice become 0 :&#xA;

    &#xA;

    0x9a= 1001 1010, according to the exponential Golomb coding, first_mb_in_slice == 0( ueg(1B) == 0 ), slice_type == P frame (ueg(00110B) == 5), but using the same algorithm in the H264 raw file, the result is the same as the program gives.

    &#xA;

    Is there any other place where there is an identifier for this information ? Assuming I randomly get a NALU, can I know if this video is sliced or not, or is my operation wrong ?

    &#xA;

    PS : Putting only one NALU into the decoder is feasible, but only 1/8 of the image can be parsed&#xA;

    &#xA;

    If you need a reference, the address of the demo program I wrote is : https://github.com/gaowanliang/web-video-thumbnailer

    &#xA;

  • How to stream 24/7 on youtube (audio + video) with FFMPEG

    29 septembre 2023, par Carter510

    I plan to create a 24/7 stream with a video and a musical background which is located in a /Playlist folder.&#xA;I would like the music playlist to be played randomly and if a piece of music is corrupted or cannot be played, the program moves on to the next one.

    &#xA;

    The problem is that with my command every time the music changes the stream stops.&#xA;Any suggestions ?

    &#xA;

    #!/bin/bash&#xA;&#xA;VBR="4500k"&#xA;FPS="30"&#xA;QUAL="superfast"&#xA;&#xA;YOUTUBE_URL="rtmp://a.rtmp.youtube.com/live2"&#xA;KEY="XXXX-XXXX-XXXX-XXXX"&#xA;&#xA;VIDEO_SOURCE="fireplace.mkv"&#xA;AUDIO_FOLDER="/home/administrateur/Documents/Youtube/Playlist"&#xA;&#xA;while true; do&#xA;    # Joue la vid&#xE9;o en boucle&#xA;    ffmpeg -re -stream_loop -1 -i "$VIDEO_SOURCE" \&#xA;    -thread_queue_size 512 -i "$(find "$AUDIO_FOLDER" -type f -name "*.mp3" | shuf -n 1)" \&#xA;    -map 0:v:0 -map 1:a:0 \&#xA;    -map_metadata:g 1:g \&#xA;    -vcodec libx264 -pix_fmt yuv420p -preset $QUAL -r $FPS -g $(($FPS * 2)) -b:v $VBR \&#xA;    -acodec libmp3lame -ar 44100 -threads 6 -qscale:v 3 -b:a 320000 -bufsize 512k \&#xA;    -f flv "$YOUTUBE_URL/$KEY"&#xA;done&#xA;

    &#xA;

    I would like the fireplace.mkv video to play without interruption, for the music to be chosen randomly without ever stopping. And if one of the songs cannot be played, it is skipped.

    &#xA;

  • When assigning an IP via Docker container macvlan and sending video to that container, will the data be limited ?

    11 septembre 2023, par leejh

    I created a macvlan network as shown below.

    &#xA;

    docker network create -d macvlan \&#xA;    --subnet=192.168.1.0/24 \&#xA;    --gateway=192.168.1.1 \&#xA;    -o parent=eno1 \&#xA;    macvlan_network&#xA;

    &#xA;

    And the container was created as shown below.

    &#xA;

    The plan was to create a mistserver inside the container to send and receive video via IP.

    &#xA;

    docker run -d --name mistserver1 --restart=always -v mistserver_config:/config -v /home/ketivrar/detr2:/home/shared_folder --net=macvlan_network --ip 192.168.1.16 r0gger/mistserver&#xA;

    &#xA;

    There is no problem when transmitting video in the directory using the Mist server.

    &#xA;

    An error occurs when transmitting video using ffmpeg as shown below.

    &#xA;

    ffmpeg -re -i test7_10.mp4 -c:v libx264 -preset medium -b:v 8000k -f flv rtmp://192.168.1.16/live/cam1&#xA;

    &#xA;

    If you run the above command, the following error will occur and it will stop.

    &#xA;

    av_interleaved_write_frame(): Connection reset by peer58.73 bitrate=8053.7kbits/s dup=0 drop=4 speed=0.948x&#xA;[flv @ 0x5582ab9e6e00] Failed to update header with correct duration.&#xA;[flv @ 0x5582ab9e6e00] Failed to update header with correct filesize.&#xA;Error writing trailer of rtmp://192.168.1.2/live/cam1: Connection reset by peer&#xA;frame= 1845 fps= 29 q=33.0 Lsize=   57806kB time=00:00:58.86 bitrate=8044.2kbits/s dup=0 drop=4 speed=0.94x&#xA;

    &#xA;

    I wonder what the reason is...

    &#xA;

    I created two streams on the Mist server and sent video to each stream simultaneously.

    &#xA;

    ffmpeg -re -i test7_10.mp4 -c:v libx264 -preset medium -b:v 8000k -f flv rtmp://192.168.1.16/live/cam1&#xA;

    &#xA;

    ffmpeg -re -i test7_10.mp4 -c:v libx264 -preset medium -b:v 8000k -f flv rtmp://192.168.1.16/live/cam2&#xA;

    &#xA;

    av_interleaved_write_frame(): Connection reset by peer29.46 bitrate=8135.7kbits/s dup=0 drop=2 speed=0.343x&#xA;[flv @ 0x55975fb05e00] Failed to update header with correct duration.&#xA;[flv @ 0x55975fb05e00] Failed to update header with correct filesize.&#xA;Error writing trailer of rtmp://192.168.1.16/live/cam1: Connection reset by peer&#xA;frame=  971 fps= 11 q=33.0 Lsize=   29395kB time=00:00:29.66 bitrate=8116.6kbits/s dup=0 drop=2 speed=0.34x&#xA;&#xA;&#xA;&#xA;####&#xA;&#xA;&#xA;av_interleaved_write_frame(): Connection reset by peer25.06 bitrate=8313.0kbits/s dup=0 drop=1 speed=0.292x&#xA;[flv @ 0x55ce4a7ce340] Failed to update header with correct duration.&#xA;[flv @ 0x55ce4a7ce340] Failed to update header with correct filesize.&#xA;Error writing trailer of rtmp://192.168.1.16/live/rtsp: Connection reset by peer&#xA;frame=  853 fps=9.8 q=33.0 Lsize=   25857kB time=00:00:25.76 bitrate=8220.2kbits/s dup=0 drop=2 speed=0.297x&#xA;&#xA;

    &#xA;

    It seems to stop before the total size of the two reaches 60000.

    &#xA;

    This time, I sent the video using OBS.

    &#xA;

    I confirmed that the connection was disconnected and reconnected at a similar time as ffmpeg.

    &#xA;

    I think there is a size limit somewhere. Could you please tell me a solution or the exact problem ?

    &#xA;

    +++++

    &#xA;

    ffmpeg -re -i test7_10.mp4 -c:v libx264 -preset medium -b:v 4000k -f flv rtmp://192.168.1.16/live/cam1&#xA;

    &#xA;

    ->

    &#xA;

    [flv @ 0x56547e6f1e00] Failed to update header with correct duration.019.0kbits/s dup=0 drop=12 speed=0.982x&#xA;[flv @ 0x56547e6f1e00] Failed to update header with correct filesize.&#xA;frame= 5328 fps= 30 q=-1.0 Lsize=   87550kB time=00:02:57.93 bitrate=4030.8kbits/s dup=0 drop=12 speed=0.996x&#xA;

    &#xA;

    success !

    &#xA;

    ffmpeg -re -i test7_10.mp4 -c:v libx264 -preset medium -b:v 5000k -f flv rtmp://192.168.1.16/live/cam1&#xA;

    &#xA;

    ->

    &#xA;

    av_interleaved_write_frame(): Connection reset by peer30.63 bitrate=5039.7kbits/s dup=0 drop=6 speed=0.965x&#xA;[flv @ 0x555ad97f7e00] Failed to update header with correct duration.&#xA;[flv @ 0x555ad97f7e00] Failed to update header with correct filesize.&#xA;Error writing trailer of rtmp://192.168.1.16/live/cam1: Connection reset by peer&#xA;frame= 2802 fps= 30 q=37.0 Lsize=   55876kB time=00:01:30.83 bitrate=5039.3kbits/s dup=0 drop=6 speed=0.962x&#xA;

    &#xA;

    fail...

    &#xA;

    I only adjusted -b:v 5000k, but the results were mixed.

    &#xA;

    Are there any resource limits for each container ?

    &#xA;

    I didn't set it up separately.

    &#xA;