Recherche avancée

Médias (1)

Mot : - Tags -/getid3

Autres articles (79)

  • Websites made ​​with MediaSPIP

    2 mai 2011, par

    This page lists some websites based on MediaSPIP.

  • Creating farms of unique websites

    13 avril 2011, par

    MediaSPIP platforms can be installed as a farm, with a single "core" hosted on a dedicated server and used by multiple websites.
    This allows (among other things) : implementation costs to be shared between several different projects / individuals rapid deployment of multiple unique sites creation of groups of like-minded sites, making it possible to browse media in a more controlled and selective environment than the major "open" (...)

  • Le profil des utilisateurs

    12 avril 2011, par

    Chaque utilisateur dispose d’une page de profil lui permettant de modifier ses informations personnelle. Dans le menu de haut de page par défaut, un élément de menu est automatiquement créé à l’initialisation de MediaSPIP, visible uniquement si le visiteur est identifié sur le site.
    L’utilisateur a accès à la modification de profil depuis sa page auteur, un lien dans la navigation "Modifier votre profil" est (...)

Sur d’autres sites (9684)

  • HLS files(.m3u8, .ts) does not created on nginx_rtmp_module

    6 mars 2018, par sujoyu

    I want to treanscode RTSP to RTMP to HLS using ffmpeg and nginx_rtmp_module.

    But HLS files(.m3u8, .ts) do not created.

    I’m testing on Docker(amazonlinux image).

    I can access and play rtmp://localhost:1935/live/camera1 by VLC Player, but can not access http://localhost:8088/live/camera1.m3u8.

    docker run command :

    docker run -it -p 8088:8088 -p 1935:1935 -v $(pwd):/tmp/share amazonlinux bash

    nginx.conf :

    user root;
    worker_processes  1;
    error_log  /var/log/nginx/error.log debug;

    events {
     worker_connections  1024;
    }

    rtmp {
     server {
       listen 1935;
       access_log  /var/log/nginx/rtmp_access.log;
       application live {
         live on;
         hls on;
         hls_path /usr/local/nginx/html/hls;
         hls_fragment 5s;
         hls_type live;
         hls_nested on;
       }
     }
    }

    http {
     server {
       listen      8088;

       location / {
         root /usr/local/nginx/html/;
       }

       location /hls {
         types {
           application/vnd.apple.mpegurl m3u8;
           video/mp2t ts;
           text/html html;
         }

         alias /usr/local/nginx/html/hls;
       }
     }
    }

    ffmpeg command : (using sample video rtsp://184.72.239.149/vod/mp4:BigBuckBunny_175k.mov)

    nohup /root/ffmpeg_sources/ffmpeg/ffmpeg -i "rtsp://184.72.239.149/vod/mp4:BigBuckBunny_175k.mov" -f flv -s 320x240 -an "rtmp://localhost:1935/live/camera1" null &

    ffmpeg version :

    bash-4.2# /root/ffmpeg_sources/ffmpeg/ffmpeg -version
    ffmpeg version N-90214-gdd3f1e3 Copyright (c) 2000-2018 the FFmpeg developers
    built with gcc 4.8.5 (GCC) 20150623 (Red Hat 4.8.5-11)
    configuration: --prefix=/root/ffmpeg_build --pkg-config-flags=--static --extra-cflags=-I/root/ffmpeg_build/include --extra-ldflags=-L/root/ffmpeg_build/lib --extra-libs=-lpthread --extra-libs=-lm --bindir=/root/bin --enable-gpl --enable-libx264 --enable-nonfree
    libavutil      56.  8.100 / 56.  8.100
    libavcodec     58. 13.102 / 58. 13.102
    libavformat    58. 10.100 / 58. 10.100
    libavdevice    58.  2.100 / 58.  2.100
    libavfilter     7. 12.100 /  7. 12.100
    libswscale      5.  0.102 /  5.  0.102
    libswresample   3.  0.101 /  3.  0.101
    libpostproc    55.  0.100 / 55.  0.100

    nginx version : nginx version: nginx/1.13.9

    nginx_rtmp_module version : nginx-rtmp-module-1.2.1

    and directory permission :

    bash-4.2# pwd
    /usr/local/nginx/html
    bash-4.2# ls -l
    total 48
    -rw-r--r-- 1 root root   537 Mar  5 07:24 50x.html
    drwxrwxrwx 2 root root  4096 Mar  6 04:46 hls
    -rw-r--r-- 1 root root   612 Mar  5 07:24 index.html
    -rw------- 1 root root 36262 Mar  6 04:46 nohup.out

    Help...

  • What is the proper input format for drawtext's timecode option in fluent-ffmpeg (node.js) ?

    24 janvier 2023, par Gil Dekel

    I am trying to generate short video clips from 3 images with a simple millisecond counter at the top left per user request. So far I was able to generate the clips using the videoshow npm lib, no issues here.

    



    However, when I try to add the timer via fluent-ffmpeg's drawtext filter to an already generated video, I run into the following issue.

    



    Here's what I have so far :

    



    ffmpeg('video.mp4')
    .on('error', function(err, stdout, stderr) {
      console.log("ffmpeg stdout:\n" + stdout);
      console.log("ffmpeg stderr:\n" + stderr);
    })
    .videoCodec('libx264')
    .format('mp4')
    .fps(fps)
    .complexFilter([
        {
            filter: 'drawtext',
            options: {
                fontsize: 15,
                timecode: '00\:00\:00\:00',  //<--- Issue is most likely here
                fontsize: 32,
                fontcolor: 'white',
                boxcolor: 'black',
                box: 1
            }
        }
    ]).save('out.mp4');


    



    From what I found online I am quite convinced that my problem is with the timecode input format. Here's my error log :

    



    ffmpeg stderr:
ffmpeg version 3.4.2 Copyright (c) 2000-2018 the FFmpeg developers
  built with Apple LLVM version 9.0.0 (clang-900.0.39.2)
  configuration: --prefix=/usr/local/Cellar/ffmpeg/3.4.2 --enable-shared --enable-pthreads --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=clang --host-cflags= --host-ldflags= --disable-jack --enable-gpl --enable-libass --enable-libfdk-aac --enable-libfontconfig --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libxvid --enable-opencl --enable-videotoolbox --disable-lzma --enable-nonfree
  libavutil      55. 78.100 / 55. 78.100
  libavcodec     57.107.100 / 57.107.100
  libavformat    57. 83.100 / 57. 83.100
  libavdevice    57. 10.100 / 57. 10.100
  libavfilter     6.107.100 /  6.107.100
  libavresample   3.  7.  0 /  3.  7.  0
  libswscale      4.  8.100 /  4.  8.100
  libswresample   2.  9.100 /  2.  9.100
  libpostproc    54.  7.100 / 54.  7.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'video.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf57.83.100
  Duration: 00:00:01.03, start: 0.000000, bitrate: 585 kb/s
    Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 640x1136 [SAR 923:924 DAR 130:231], 573 kb/s, 60 fps, 60 tbr, 15360 tbn, 120 tbc (default)
    Metadata:
      handler_name    : VideoHandler
[Parsed_drawtext_0 @ 0x7f91aa700700] Both text and text file provided. Please provide only one
[AVFilterGraph @ 0x7f91aa700440] Error initializing filter 'drawtext' with args 'fontsize=32:timecode=00:00:00:00:fontcolor=white:boxcolor=black:box=1'
Error initializing complex filters.
Invalid argument


    



    Specifically this :

    



    [Parsed_drawtext_0 @ 0x7f91aa700700] Both text and text file provided. Please provide only one


    



    When I run what should be the equivalent to my code in shell, it works perfectly :

    



    ffmpeg -i video.mp4 \
       -vf drawtext="fontsize=15:timecode='00\:00\:00\:00':rate=60:fontsize=32:fontcolor='white':\
           boxcolor=0x000000AA:box=1" \
       -f mp4 out.mp4


    



    I already spent a whole day trying to find any previous solutions to this problem, or documentation online regarding the proper format of drawtext's timecode option within node.js with no luck. It seems most of the information out there is for bash/shell use. I need to do this programmatically on a server per request, and I just can't find the right example to solve this.

    



    Any help to resolve this would be appreciated.

    


  • ffmpeg rtsp record problems [closed]

    3 mai 2023, par user429643

    I have 3 ip cameras from which I take rtsp stream and record mp4 files via ffmpeg. Previously, everything worked well, but some time ago, the recording from second camera ends after a some period of time (before it should be ended).
Program code :

    


    if [ "$1" = "1" ]; then
    ffmpeg -rtsp_transport tcp -use_wallclock_as_timestamps 1 -fflags +genpts -fflags -discardcorrupt -i rtsp://$CAMLogin@$CAM1IP:$RTSPport/Streaming/Channels/101 -r 20 -vcodec copy -an -t $RECtime -vsync vfr $FULLpath/1.mp4 -report null >/dev/null 2>$FULLpath/cam01.log &
    ffmpeg -i rtsp://$CAMLogin@$CAM1IP:$RTSPport/Streaming/Channels/101 -t 1 -vframes 1 -s 1280x720 -f image2 $FULLpath/1.jpg null >/dev/null 2>$FULLpath/cam_jpg01.log &
fi

if [ "$2" = "1" ]; then
    ffmpeg -rtsp_transport tcp -use_wallclock_as_timestamps 1 -fflags +genpts -fflags -discardcorrupt -i rtsp://$CAMLogin@$CAM2IP:$RTSPport/cam/realmonitor?channel=1&subtype=0 -r 20 -vcodec copy -an -t $RECtime -vsync vfr $FULLpath/2.mp4 -report null >/dev/null 2>$FULLpath/cam02.log &
    ffmpeg -i $CENTRAL -t 1 -vframes 1 -s 1280x720 -f image2 $FULLpath/2.jpg null >/dev/null 2>$FULLpath/cam_jpg02.log &
fi

if [ "$3" = "1" ]; then
 ffmpeg -rtsp_transport tcp -use_wallclock_as_timestamps 1 -fflags +genpts -fflags -discardcorrupt -i rtsp://$CAMLogin@$CAM3IP:$RTSPport/Streaming/Channels/101 -r 20 -vcodec copy -an -t $RECtime -vsync vfr $FULLpath/3.mp4 -report null >/dev/null 2>$FULLpath/cam03.log &
 ffmpeg -i rtsp://$CAMLogin@$CAM3IP:$RTSPport/Streaming/Channels/101 -t 1 -vframes 1 -s 1280x720 -f image2 $FULLpath/3.jpg null >/dev/null 2>$FULLpath/cam_jpg03.log &


    


    If I set a certain recording time, then the problem occurs only from the second camera.

    


    FFMPEG log for first camera :

    


    ffmpeg started on 2023-05-03 at 12:04:01
Report written to "ffmpeg-20230503-120401.log"
ffmpeg version 2.8.14-0ubuntu0.16.04.1 Copyright (c) 2000-2018 the FFmpeg developers
  built with gcc 5.4.0 (Ubuntu 5.4.0-6ubuntu1~16.04.9) 20160609
  configuration: --prefix=/usr --extra-version=0ubuntu0.16.04.1 --build-suffix=-ffmpeg --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --cc=cc --cxx=g++ --enable-gpl --enable-shared --disable-stripping --disable-decoder=libopenjpeg --disable-decoder=libschroedinger --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-librtmp --enable-libschroedinger --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxvid --enable-libzvbi --enable-openal --enable-opengl --enable-x11grab --enable-libdc1394 --enable-libiec61883 --enable-libzmq --enable-frei0r --enable-libx264 --enable-libopencv
  libavutil      54. 31.100 / 54. 31.100
  libavcodec     56. 60.100 / 56. 60.100
  libavformat    56. 40.101 / 56. 40.101
  libavdevice    56.  4.100 / 56.  4.100
  libavfilter     5. 40.101 /  5. 40.101
  libavresample   2.  1.  0 /  2.  1.  0
  libswscale      3.  1.101 /  3.  1.101
  libswresample   1.  2.101 /  1.  2.101
  libpostproc    53.  3.100 / 53.  3.100
Input #0, rtsp, from 'rtsp://username:password@192.168.8.98:554/Streaming/Channels/101':
  Metadata:
    title           : Media Presentation
  Duration: N/A, start: 1683104641.578533, bitrate: N/A
    Stream #0:0: Video: h264 (Main), yuvj420p(pc, bt709), 3840x2160 [SAR 1:1 DAR 16:9], 20 fps, 20 tbr, 90k tbn, 40 tbc
[mp4 @ 0x23f8d80] Codec for stream 0 does not use global headers but container format requires global headers
Output #0, mp4, to '/var/www/view/dist/videos/archive/2023-05-03/c24706a011ae90262875803ad73b8a2b/1.mp4':
  Metadata:
    title           : Media Presentation
    encoder         : Lavf56.40.101
    Stream #0:0: Video: h264 ([33][0][0][0] / 0x0021), yuvj420p, 3840x2160 [SAR 1:1 DAR 16:9], q=2-31, 20 fps, 20 tbr, 10240 tbn, 20 tbc
Stream mapping:
  Stream #0:0 -> #0:0 (copy)
Press [q] to stop, [?] for help
[mp4 @ 0x23f8d80] Non-monotonous DTS in output stream 0:0; previous: 6516, current: 6516; changing to 6517. This may result in incorrect timestamps in the output file.
[mp4 @ 0x23f8d80] Non-monotonous DTS in output stream 0:0; previous: 6523, current: 6523; changing to 6524. This may result in incorrect timestamps in the output file.
frame=   34 fps=0.0 q=-1.0 size=    1922kB time=00:00:01.52 bitrate=10321.7kbits/s    
frame=   45 fps= 41 q=-1.0 size=    2019kB time=00:00:02.07 bitrate=7978.7kbits/s
....
....
....
....
....
frame=144051 fps= 20 q=-1.0 size= 3530396kB time=02:00:01.84 bitrate=4015.8kbits/s    
frame=144055 fps= 20 q=-1.0 Lsize= 3532194kB time=02:00:02.04 bitrate=4017.7kbits/s    
video:3530424kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.050154%   


    


    FFMPEG log for second camera :

    


    ffmpeg started on 2023-05-03 at 12:04:01
Report written to "ffmpeg-20230503-120401.log"
ffmpeg version 2.8.14-0ubuntu0.16.04.1 Copyright (c) 2000-2018 the FFmpeg developers
  built with gcc 5.4.0 (Ubuntu 5.4.0-6ubuntu1~16.04.9) 20160609
  configuration: --prefix=/usr --extra-version=0ubuntu0.16.04.1 --build-suffix=-ffmpeg --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --cc=cc --cxx=g++ --enable-gpl --enable-shared --disable-stripping --disable-decoder=libopenjpeg --disable-decoder=libschroedinger --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-librtmp --enable-libschroedinger --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxvid --enable-libzvbi --enable-openal --enable-opengl --enable-x11grab --enable-libdc1394 --enable-libiec61883 --enable-libzmq --enable-frei0r --enable-libx264 --enable-libopencv
  libavutil      54. 31.100 / 54. 31.100
  libavcodec     56. 60.100 / 56. 60.100
  libavformat    56. 40.101 / 56. 40.101
  libavdevice    56.  4.100 / 56.  4.100
  libavfilter     5. 40.101 /  5. 40.101
  libavresample   2.  1.  0 /  2.  1.  0
  libswscale      3.  1.101 /  3.  1.101
  libswresample   1.  2.101 /  1.  2.101
  libpostproc    53.  3.100 / 53.  3.100
[rtsp @ 0x134adc0] DTS discontinuity in stream 1: packet 3 with DTS 80789022795410, packet 4 with DTS 80789022798792
[rtsp @ 0x134adc0] DTS discontinuity in stream 1: packet 7 with DTS 80789022798811, packet 8 with DTS 80789022809865
Guessed Channel Layout for  Input Stream #0.1 : mono
Input #0, rtsp, from 'rtsp://username:password@192.168.8.22:554/cam/realmonitor?channel=1&subtype=0':
  Metadata:
    title           : Media Server
  Duration: N/A, start: 1683104641.570750, bitrate: N/A
    Stream #0:0: Video: h264 (Main), yuvj420p(pc, bt709), 4096x1800, 90k tbr, 90k tbn, 180k tbc
    Stream #0:1: Audio: pcm_alaw, 48000 Hz, 1 channels, s16, 384 kb/s
[mp4 @ 0x1538e00] Codec for stream 0 does not use global headers but container format requires global headers
Output #0, mp4, to '/var/www/view/dist/videos/archive/2023-05-03/c24706a011ae90262875803ad73b8a2b/2.mp4':
  Metadata:
    title           : Media Server
    encoder         : Lavf56.40.101
    Stream #0:0: Video: h264 ([33][0][0][0] / 0x0021), yuvj420p, 4096x1800, q=2-31, 90k tbr, 10240 tbn, 20 tbc
Stream mapping:
  Stream #0:0 -> #0:0 (copy)
Press [q] to stop, [?] for help
frame=   31 fps=0.0 q=-1.0 size=    1170kB time=00:00:01.46 bitrate=6543.0kbits/s    
frame=   40 fps= 39 q=-1.0 size=    1435kB time=00:00:01.92 bitrate=6120.5kbits/s    
Invalid UE golomb code
frame=   52 fps= 34 q=-1.0 size=    2099kB time=00:00:02.50 bitrate=6864.2kbits/s    
frame=   63 fps= 31 q=-1.0 size=    2399kB time=00:00:03.06 bitrate=6411.5kbits/s    
frame=   72 fps= 28 q=-1.0 size=    2670kB time=00:00:03.52 bitrate=6210.5kbits/s    
Invalid UE golomb code
...
...
...
...
Invalid UE golomb code
frame=27243 fps= 20 q=-1.0 size= 1046397kB time=00:22:42.09 bitrate=6293.3kbits/s    
frame=27254 fps= 20 q=-1.0 size= 1046712kB time=00:22:42.64 bitrate=6292.7kbits/s    
frame=27264 fps= 20 q=-1.0 size= 1046990kB time=00:22:43.12 bitrate=6292.1kbits/s    
frame=27275 fps= 20 q=-1.0 size= 1047290kB time=00:22:43.67 bitrate=6291.4kbits/s    
Invalid UE golomb code
frame=27285 fps= 20 q=-1.0 size= 1048022kB time=00:22:44.20 bitrate=6293.3kbits/s    
frame=27292 fps= 20 q=-1.0 Lsize= 1048561kB time=00:22:44.52 bitrate=6295.1kbits/s    
video:1048224kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.032150%


    


    Initially, I thought that the error was in timestamps, so I added arguments to ffmpeg :

    


    -use_wallclock_as_timestamps 1
-fflags +genpts
-fflags -discardcorrupt
-vsync vfr

    


    But this doesnt help.