Recherche avancée

Médias (2)

Mot : - Tags -/doc2img

Autres articles (107)

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

  • Mise à jour de la version 0.1 vers 0.2

    24 juin 2013, par

    Explications des différents changements notables lors du passage de la version 0.1 de MediaSPIP à la version 0.3. Quelles sont les nouveautés
    Au niveau des dépendances logicielles Utilisation des dernières versions de FFMpeg (>= v1.2.1) ; Installation des dépendances pour Smush ; Installation de MediaInfo et FFprobe pour la récupération des métadonnées ; On n’utilise plus ffmpeg2theora ; On n’installe plus flvtool2 au profit de flvtool++ ; On n’installe plus ffmpeg-php qui n’est plus maintenu au (...)

  • Personnaliser en ajoutant son logo, sa bannière ou son image de fond

    5 septembre 2013, par

    Certains thèmes prennent en compte trois éléments de personnalisation : l’ajout d’un logo ; l’ajout d’une bannière l’ajout d’une image de fond ;

Sur d’autres sites (15532)

  • FFmpeg streaming stuck few minutes after start [closed]

    19 février, par josue ramirez

    Sorry for my english ! :D

    


    I'm trying to make a live video stream from my webcam with ffmpeg using Node.

    


    I get the images or frames from ffmpeg via pipe1 on the stdout event and send them via a socket-io client to my angular app to play the stream.

    


    So far the stream starts fine and my angular app can play it fine, but after a certain time (8 minutes or so) ffmpeg stops sending data and the stream in my angular app stops and if I want to start the webcam again it's not possible anymore because it's apparently occupied by another process. I've been trying to figure out what's going on and what I've noticed is that the ffmpeg process just stops and the process is no longer visible with the top command (ubuntu), but the child process in node still shows a ffmpeg process as if it were a zombie process.

    


    I've tried running ffmpeg from the terminal to save an mp4 file with the stream and in that case there is no problem, the recording doesn't stop even using pipe1. Only when I run ffmpeg from my Node app, the error occurs.

    


    Does anyone have any idea what could be going on ?

    


    This command is the one that is executed to send the data through pipe1 both from node and from the terminal but it only stops in Node

    


    ffmpeg -f v4l2 -input_format mjpeg -video_size 800x600 -i /dev/video0 -q:v 4 -f image2pipe pipe1


    


    The same thing happens when saving an mp4 video only in Node it fails

    


    ffmpeg -f v4l2 -input_format mjpeg -video_size 800x600 -i /dev/video0 -q:v 4 video.mp4


    


    This is my function that starts the streaming

    


    export const startCamera = () => {
    logger.info('Starting camera ', cameraName);

    const inputFormat = process.platform === 'win32' ? 'dshow' : 'v4l2';

    const ffmpegArgs = [
        '-f', inputFormat, // Formato de entrada según la plataforma
    ];

    if (process.platform === 'linux') {
        ffmpegArgs.push(
            '-input_format', 'mjpeg',  // Especificar el formato antes de video_size
            '-video_size', '800x600',  // Tamaño de la imagen
        );
    }
    
    ffmpegArgs.push(
        '-i', cameraName,    // Dispositivo de entrada
        '-vf', 'fps=15',     // Fotogramas por segundo
        '-q:v', '10',        // Calidad de video
        '-f', 'image2pipe',  // Formato de salida
        'pipe:1'             // Salida por stdout
    );

    try {
        logger.info('FFmpeg command: ffmpeg', ffmpegArgs.join(' '));
        ffmpeg = spawn('ffmpeg', ffmpegArgs);
        let cameraOpen = false;
        // Enviar los datos del fotograma a través del WebSocket
        ffmpeg.stdout.on('data', (chunk) => {
            logger.debug(`Sending chunk of ${chunk.length} bytes`);
            if (!cameraOpen) {
                cameraOpen = true;
                serialConnection.connect();
                logger.info('Camera started!!');
            }

            if (streamWS.isActive()) {
                streamWS.send(chunk);
            }
        });
        // Manejo de errores
        ffmpeg.stderr.on('error', (data) => {
            logger.error('FFmpeg Error:', data.toString());
        });

        ffmpeg.on('close', async () => {
            logger.info('Camera closed....', cameraName);
            if (!cameraOpen) {
                await commandWS.send(
                    {
                        command: COMMANDS.START_STREAM,
                        isError: true,
                        response: `Error al intentar iniciar la camara ${cameraName}, verificar que la camara se encuentre bien conectada.`,
                    },
                    COMMANDS_EVENTS.ROBOT_RESPONSE
                );
            }
            cameraOpen = false;
            await serialConnection.close();
            stopCamera();
            await streamWS.disconnectWS();
        });
    } catch (e) {
        logger.error('Error tryng to start the camera...', e);
    }
};


    


  • HTML5 video player some mp4 files not playing chrome

    1er juillet 2020, par Marc

    So I'm trying to build a personnal streaming platform and I've done my best to follow the recommandations I've found everywhere for better compatibility/quality when streaming.

    



    So I'm systematically encoding my video to video codec h264 with mp4 container with ffmpeg using this command :

    



    ffmpeg -i input -vcodec libx264 -maxrate 8000k -bufsize 1000K -minrate 10k -crf 24 -ab 192k -movflags faststart output.mp4


    



    However, I occasionaly fall on some reluctant mp4 that will play fine on Edge and Firefox but won't on Chrome. Loading seems to be processed fine as I can see the total duration in the controls, but it will never play and will not leave any error in the console.

    



    Here's a Mediainfo export of such reluctant file :

    



    Format                                   : MPEG-4
Format profile                           : Base Media
Codec ID                                 : isom (isom/iso2/avc1/mp41)
File size                                : 1.04 GiB
Duration                                 : 1 h 21 min
Overall bit rate                         : 1 832 kb/s
Writing application                      : Lavf57.56.101

Video
ID                                       : 1
Format                                   : AVC
Format/Info                              : Advanced Video Codec
Format profile                           : High@L4
Format settings                          : CABAC / 4 Ref Frames
Format settings, CABAC                   : Yes
Format settings, Reference frames        : 4 frames
Codec ID                                 : avc1
Codec ID/Info                            : Advanced Video Coding
Duration                                 : 1 h 21 min
Bit rate                                 : 1 634 kb/s
Width                                    : 1 912 pixels
Height                                   : 1 032 pixels
Display aspect ratio                     : 1.85:1
Frame rate mode                          : Constant
Frame rate                               : 24.000 FPS
Color space                              : YUV
Chroma subsampling                       : 4:2:0
Bit depth                                : 8 bits
Scan type                                : Progressive
Bits/(Pixel*Frame)                       : 0.035
Stream size                              : 953 MiB (89%)
Writing library                          : x264 core 148 r2748 97eaef2
Encoding settings                        : cabac=1 / ref=3 / deblock=1:0:0 / analyse=0x3:0x113 / me=hex / subme=7 / psy=1 / psy_rd=1.00:0.00 / mixed_ref=1 / me_range=16 / chroma_me=1 / trellis=1 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=1 / chroma_qp_offset=-2 / threads=9 / 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=2 / keyint=250 / keyint_min=24 / scenecut=40 / intra_refresh=0 / rc_lookahead=40 / rc=crf / mbtree=1 / crf=24.0 / qcomp=0.60 / qpmin=0 / qpmax=69 / qpstep=4 / vbv_maxrate=8000 / vbv_bufsize=1000 / crf_max=0.0 / nal_hrd=none / filler=0 / ip_ratio=1.40 / aq=1:1.00
Language                                 : French
Menus                                    : 3
Codec configuration box                  : avcC

Audio
ID                                       : 2
Format                                   : AAC LC
Format/Info                              : Advanced Audio Codec Low Complexity
Codec ID                                 : mp4a-40-2
Duration                                 : 1 h 21 min
Bit rate mode                            : Constant
Bit rate                                 : 192 kb/s
Channel(s)                               : 6 channels
Channel layout                           : C L R Ls Rs LFE
Sampling rate                            : 48.0 kHz
Frame rate                               : 46.875 FPS (1024 SPF)
Compression mode                         : Lossy
Stream size                              : 112 MiB (11%)
Language                                 : French
Default                                  : Yes
Alternate group                          : 1
Menus                                    : 3

Menu #1
ID                                       : 3
Codec ID                                 : text
Duration                                 : 1 h 21 min
Language                                 : English
Bit rate mode                            : CBR
Menu For                                 : 1,2
00:00:00.000                             : Chapitre 01
00:08:39.000                             : Chapitre 02
00:15:10.000                             : Chapitre 03
00:24:47.000                             : Chapitre 04
00:33:39.000                             : Chapitre 05
00:43:38.000                             : Chapitre 06
00:50:51.000                             : Chapitre 07
00:59:13.000                             : Chapitre 08
01:08:01.000                             : Chapitre 09
01:14:06.000                             : Chapitre 10
Bit rate mode                            : Constant

Menu #2
00:00:00.000                             : Chapitre 01
00:08:39.000                             : Chapitre 02
00:15:10.000                             : Chapitre 03
00:24:47.000                             : Chapitre 04
00:33:39.000                             : Chapitre 05
00:43:38.000                             : Chapitre 06
00:50:51.000                             : Chapitre 07
00:59:13.000                             : Chapitre 08
01:08:01.000                             : Chapitre 09
01:14:06.000                             : Chapitre 10


    



    Thanks in advance for any valuable tip you could provide

    


  • Live streaming .webm file with ffmpeg and nginx

    9 décembre 2017, par seekahead

    Hi I am new to ffmpeg and I need some help with live streaming of .webm file which is still being written into. I have a .webm file containing only video in vp9 codecwhich needs to be live streamed (preferably without transcoding and streamed using DASH`. I have compiled nginx along with nginx-ts-module from (https://github.com/arut/nginx-ts-module#features) with the following configuration

    nginx version: nginx/1.12.1
    built by gcc 4.8.4 (Ubuntu 4.8.4-2ubuntu1~14.04.3)
    built with OpenSSL 1.0.1f 6 Jan 2014
    TLS SNI support enabled
    configure arguments: --with-cc-opt='-g -O2 -fPIE -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -fPIC -D_FORTIFY_SOURCE=2' --with-ld-opt='-Wl,-Bsymbolic-functions -fPIE -pie -Wl,-z,relro -Wl,-z,now -fPIC' --prefix=/usr/share/nginx --conf-path=/etc/nginx/nginx.conf --http-log-path=/var/log/nginx/access.log --error-log-path=/var/log/nginx/error.log --lock-path=/var/lock/nginx.lock --pid-path=/run/nginx.pid --modules-path=/usr/lib/nginx/modules --http-client-body-temp-path=/var/lib/nginx/body --http-fastcgi-temp-path=/var/lib/nginx/fastcgi --http-proxy-temp-path=/var/lib/nginx/proxy --http-scgi-temp-path=/var/lib/nginx/scgi --http-uwsgi-temp-path=/var/lib/nginx/uwsgi --with-debug --with-pcre-jit --with-http_ssl_module --with-http_stub_status_module --with-http_realip_module --with-http_auth_request_module --with-http_v2_module --with-http_dav_module --with-http_slice_module --with-threads --with-http_addition_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_sub_module --with-stream=dynamic --with-stream_ssl_module --with-stream_ssl_preread_module --with-mail=dynamic --with-mail_ssl_module --add-dynamic-module=/home/ubuntu/NGINX/nginx-ts-module-master

    The mediafile has the following properties(obtained with mediainfo) :

    General
    Complete name                            : video_4_1_Admin_0.webm
    Format                                   : WebM
    Format version                           : Version 2
    File size                                : 19.7 MiB
    Duration                                 : 1ms
    Overall bit rate                         : 165 Gbps
    Writing library                          : libwebm-0.2.1.0
    Video
    ID                                       : 1
    Format                                   : VP9
    Codec ID                                 : V_VP9
    Width                                    : 320 pixels
    Height                                   : 180 pixels
    Display aspect ratio                     : 16:9
    Frame rate mode                          : Variable
    Language                                 : English
    Default                                  : Yes
    Forced                                   : No

    I am trying to stream the file with the following

    ffmpeg -re -i video_4_1_Admin_0.webm -bsf:v vp9_superframe -c copy -f webm_chunk  http://127.0.0.1:8000/publish/sintel

    And I am getting the following error

    Input #0, matroska,webm, from 'video_4_1_Admin_0.webm':
     Metadata:
       encoder         : libwebm-0.2.1.0
     Duration: 00:00:00.00, start: 0.000000, bitrate: 174444152 kb/s
       Stream #0:0(eng): Video: vp9 (Profile 0), yuv420p(tv), 320x180, SAR 1:1 DAR 16:9, 30 fps, 30 tbr, 1k tbn, 1k tbc (default)
    Output #0, webm_chunk, to 'http://127.0.0.1:8000/publish/sintel':
    Output file #0 does not contain any stream

    I am not sure what are the exact options to be passed to ffmpeg so that it creates the .mpd and needed chunks which will allow me to LiveStream the media, I tried replacing the options given in the example (https://github.com/arut/nginx-ts-module#features) with what seems like vp9 equivalent., but, I am not sure. Can someone help me out here ? Thanks in advance