Recherche avancée

Médias (91)

Autres articles (48)

  • 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 ;

  • Ecrire une actualité

    21 juin 2013, par

    Présentez les changements dans votre MédiaSPIP ou les actualités de vos projets sur votre MédiaSPIP grâce à la rubrique actualités.
    Dans le thème par défaut spipeo de MédiaSPIP, les actualités sont affichées en bas de la page principale sous les éditoriaux.
    Vous pouvez personnaliser le formulaire de création d’une actualité.
    Formulaire de création d’une actualité Dans le cas d’un document de type actualité, les champs proposés par défaut sont : Date de publication ( personnaliser la date de publication ) (...)

Sur d’autres sites (11530)

  • configure : move ranlib -D test after setting defaults

    14 février 2022, par Adrian Ratiu
    configure : move ranlib -D test after setting defaults
    

    In Gentoo and ChromeOS we want to allow pure LLVM builds without
    using GNU tools, so we block any unwanted mixed GNU/LLVM usages
    (GNU tools are still kept around in our chroots for projects
    like glibc which cannot yet be built otherwise).

    The default $cross_prefix$ranlib_default points to GNU and
    fails, so move the test a bit later - after the defaults are
    set and the proper values get overriden - such that ffmpeg
    configure calls the llvm-ranlib we desire. [1]

    [1] https://gitweb.gentoo.org/repo/gentoo.git/tree/media-video/ffmpeg/ffmpeg-4.4.1-r1.ebuild?id=7a34377e3277a6a0e2eedd40e90452a44c55f1e6#n477

    Signed-off-by : Adrian Ratiu <adrian.ratiu@collabora.com>
    Signed-off-by : Martin Storsjö <martin@martin.st>

    • [DH] configure
  • Merge several video files with ffmpeg and lose any track

    9 avril 2016, par AlbanMar31

    How to join two video files without losing any channel with ffmpeg ?

    Origin, we have 2 video files ts record with the TV decoder TNT.

    Destination we would have one single video file containing the same number of channels as each original file.

    Goal : The resulting video will have the same number of channels that each of the original videos.

    usual command to merge :

    ffmpeg -threads 4 -i data0001.ts -i data0002.ts -i data0003.ts -c copy -scodec copy video.ts

    Channel information video files :

    $ ffprobe data0001.ts -hide_banner

    give me this type of result :

    Stream #0:0 : Video: mpeg2video ...
    Stream #0:1: Audio: mp2 ...  
    Stream #0:2: Audio: mp2
    Stream #0:3: Subtitle: dvb_subtitle
    Stream #0:4: Subtitle: dvb_subtitle
  • Streaming HLS with Nginx & FFMPEG : How to prevent repeating or skipping scenes (.ts) when playback ?

    31 août 2022, par Fugen

    I set up HLS streaming server using Nginx & FFMPEG, then i watch it using vlc or ffplay on another pc. The problem is sometimes it repeating scenes or skipping scenes for few seconds then it continue like normal, it happens at random but occurs occasionally and not always on the same spots.

    &#xA;

    Here is sample of ffplay log :

    &#xA;

    [http @ 000002c6e2611c00] Opening &#x27;http://172.20.120.75:8080/hls/test-3.ts&#x27; for reading&#xA;[hls @ 000002c6e260bcc0] Skip (&#x27;#EXT-X-VERSION:3&#x27;)sq=    0B f=0/0&#xA;[hls @ 000002c6e260bcc0] Skip (&#x27;#EXT-X-DISCONTINUITY&#x27;)&#xA;[http @ 000002c6e2614500] Opening &#x27;http://172.20.120.75:8080/hls/test-3.ts&#x27; for reading&#xA;[http @ 000002c6e2611c00] Opening &#x27;http://172.20.120.75:8080/hls/test-4.ts&#x27; for reading&#xA;[http @ 000002c6e81c8140] Opening &#x27;http://172.20.120.75:8080/hls/test.m3u8&#x27; for reading&#xA;[hls @ 000002c6e260bcc0] Skip (&#x27;#EXT-X-VERSION:3&#x27;)sq=    0B f=1/1&#xA;[hls @ 000002c6e260bcc0] Skip (&#x27;#EXT-X-DISCONTINUITY&#x27;)&#xA;[http @ 000002c6e2614500] Opening &#x27;http://172.20.120.75:8080/hls/test-3.ts&#x27; for reading&#xA;[http @ 000002c6e2611c00] Opening &#x27;http://172.20.120.75:8080/hls/test-4.ts&#x27; for reading&#xA;[http @ 000002c6e81c8140] Opening &#x27;http://172.20.120.75:8080/hls/test.m3u8&#x27; for reading&#xA;[hls @ 000002c6e260bcc0] Skip (&#x27;#EXT-X-VERSION:3&#x27;)sq=    0B f=2/2&#xA;[http @ 000002c6e2614500] Opening &#x27;http://172.20.120.75:8080/hls/test-6.ts&#x27; for reading&#xA;[http @ 000002c6e2611c00] Opening &#x27;http://172.20.120.75:8080/hls/test-7.ts&#x27; for reading&#xA;[http @ 000002c6e81c8140] Opening &#x27;http://172.20.120.75:8080/hls/test.m3u8&#x27; for reading&#xA;[hls @ 000002c6e260bcc0] Skip (&#x27;#EXT-X-VERSION:3&#x27;)sq=    0B f=2/2&#xA;[http @ 000002c6e2614500] Opening &#x27;http://172.20.120.75:8080/hls/test-7.ts&#x27; for reading&#xA;[http @ 000002c6e81c8140] Opening &#x27;http://172.20.120.75:8080/hls/test.m3u8&#x27; for reading&#xA;[hls @ 000002c6e260bcc0] Skip (&#x27;#EXT-X-VERSION:3&#x27;)sq=    0B f=2/2&#xA;[http @ 000002c6e2611c00] Opening &#x27;http://172.20.120.75:8080/hls/test-8.ts&#x27; for reading&#xA;

    &#xA;

    From that log, repeating scenes are : test-3.ts, test-4.ts, test-7.ts, and skipped scene : test-5.ts.
    My question is : how to prevent this ?

    &#xA;

    When i checked .m3u8 playlist on server side it seems normal, no repeated or skipped .ts file. Here is .m3u8 file :

    &#xA;

    #EXTM3U&#xA;#EXT-X-VERSION:3&#xA;#EXT-X-MEDIA-SEQUENCE:17&#xA;#EXT-X-TARGETDURATION:4&#xA;#EXTINF:3.600,&#xA;test-1.ts&#xA;#EXTINF:3.560,&#xA;test-2.ts&#xA;#EXTINF:3.600,&#xA;test-3.ts&#xA;#EXTINF:3.600,&#xA;test-4.ts&#xA;#EXTINF:3.600,&#xA;test-5.ts&#xA;#EXTINF:3.600,&#xA;test-6.ts&#xA;#EXTINF:3.600,&#xA;test-7.ts&#xA;#EXTINF:3.520,&#xA;test-8.ts&#xA;#EXTINF:3.600,&#xA;

    &#xA;

    My Nginx Configuration :

    &#xA;

    worker_processes 4;&#xA;events {&#xA;        worker_connections 1024;&#xA;        use epoll;&#xA;        multi_accept on;&#xA;}&#xA;&#xA;# RTMP configuration&#xA;rtmp {&#xA;    server {&#xA;        listen 1935; # Listen on standard RTMP port&#xA;        chunk_size 4096;&#xA;&#xA;        application show {&#xA;            live on;&#xA;            # Turn on HLS&#xA;            hls on;&#xA;            hls_path /tmp/hls/;&#xA;            hls_fragment 3;&#xA;            hls_playlist_length 60;&#xA;            # disable consuming the stream from nginx as rtmp&#xA;            deny play all;&#xA;        }&#xA;    }&#xA;}&#xA;&#xA;http {&#xA;        sendfile off;&#xA;        tcp_nopush on;&#xA;        tcp_nodelay on;&#xA;        reset_timedout_connection on;&#xA;        directio 512;&#xA;        default_type application/octet-stream;&#xA;&#xA;    server {&#xA;        listen 8080;&#xA;&#xA;        location /hls {&#xA;            # Disable cache&#xA;            add_header &#x27;Cache-Control&#x27; &#x27;no-cache&#x27;;&#xA;            access_log off;&#xA;            # CORS setup&#xA;            add_header &#x27;Access-Control-Allow-Origin&#x27; &#x27;*&#x27; always;&#xA;            add_header &#x27;Access-Control-Expose-Headers&#x27; &#x27;Content-Length&#x27;;&#xA;            # allow CORS preflight requests&#xA;            if ($request_method = &#x27;OPTIONS&#x27;) {&#xA;                add_header &#x27;Access-Control-Allow-Origin&#x27; &#x27;*&#x27;;&#xA;                add_header &#x27;Access-Control-Max-Age&#x27; 1728000;&#xA;                add_header &#x27;Content-Type&#x27; &#x27;text/plain charset=UTF-8&#x27;;&#xA;                add_header &#x27;Content-Length&#x27; 0;&#xA;                return 204;&#xA;            }&#xA;&#xA;            types {&#xA;                application/dash&#x2B;xml mpd;&#xA;                application/vnd.apple.mpegurl m3u8;&#xA;                video/mp2t ts;&#xA;            }&#xA;&#xA;            root /tmp/;&#xA;        }&#xA;location /nginx_status {&#xA;        # Turn on stats&#xA;        stub_status on;&#xA;        allow all;&#xA;    }&#xA;}&#xA;}&#xA;

    &#xA;

    My FFMPEG Command :

    &#xA;

    ffmpeg -re -stream_loop -1 -i &#x27;video1.mp4&#x27; -vcodec libx264 -vprofile baseline -g 30 -acodec aac -strict -2 -f flv &#x27;rtmp://172.20.120.75/show/test&#x27; &amp;&#xA;

    &#xA;

    Thank You for Your Help.

    &#xA;