Recherche avancée

Médias (91)

Autres articles (20)

  • Selection of projects using MediaSPIP

    2 mai 2011, par

    The examples below are representative elements of MediaSPIP specific uses for specific projects.
    MediaSPIP farm @ Infini
    The non profit organizationInfini develops hospitality activities, internet access point, training, realizing innovative projects in the field of information and communication technologies and Communication, and hosting of websites. It plays a unique and prominent role in the Brest (France) area, at the national level, among the half-dozen such association. Its members (...)

  • List of compatible distributions

    26 avril 2011, par

    The table below is the list of Linux distributions compatible with the automated installation script of MediaSPIP. Distribution nameVersion nameVersion number Debian Squeeze 6.x.x Debian Weezy 7.x.x Debian Jessie 8.x.x Ubuntu The Precise Pangolin 12.04 LTS Ubuntu The Trusty Tahr 14.04
    If you want to help us improve this list, you can provide us access to a machine whose distribution is not mentioned above or send the necessary fixes to add (...)

  • Sélection de projets utilisant MediaSPIP

    29 avril 2011, par

    Les exemples cités ci-dessous sont des éléments représentatifs d’usages spécifiques de MediaSPIP pour certains projets.
    Vous pensez avoir un site "remarquable" réalisé avec MediaSPIP ? Faites le nous savoir ici.
    Ferme MediaSPIP @ Infini
    L’Association Infini développe des activités d’accueil, de point d’accès internet, de formation, de conduite de projets innovants dans le domaine des Technologies de l’Information et de la Communication, et l’hébergement de sites. Elle joue en la matière un rôle unique (...)

Sur d’autres sites (4348)

  • node.js ffmpeg spawn child_process unexpected data output and not possible to kill or stop

    1er septembre 2021, par PLNR

    
I'm rather new to backend stuff, so please excuse, if my question is trivial.
    
For an Intranet project, I want to present a video element in a webpage (React, HLS.js Player) with the possibility reload the stream in case it hung.
    
The video sources are mpeg-ts streams delivered as udp multicast.
    
A small node.js / express server should handle the ffmpeg commands, to transcode the multicast to hls to display them in a browser.
    

    
My Problem is, that I am unable to stop the process...
    
I've tried to SIGINT, SIGTERM the process with it's pid, but the encoding is just going on.

    


    Here is the code I wrote for transcoding so far :

    


    const express = require("express");
const { spawn, exec } = require("child_process");
const cors = require("cors");
const process = require("process")

let ls;
let pid;

const app = express();

app.use(cors());

app.get('/cam/:source', (body) => {
    const cam = body.params.source;
    console.log(cam);

    let source = "udp://239.1.1.1:4444";
    let stream = "/var/www/html/streams/tmp/cam1.m3u8"


    stream = spawn("ffmpeg", ["-re", "-i", source, "-c:v", "libx264", "-crf", "21", "-preset", "veryfast", "-c:a", "aac", "-b:a", "128k", "-ac", "2", "-f", "hls", "-hls_list_size", "5", "-hls_flags", "delete_segments", stream], {detached: true});

    pid = stream.pid;

    stream.stdout.on("data", data => {
        console.log(`stdout: ${data}`);
    });

    stream.stderr.on("data", data => {
        console.log(`stderr: ${data}`);
        console.log("pid: ", pid);
    });

    stream.on("error", error => {
        console.log(`error: ${error.message}`);
    });

    stream.on("close", code => {
        console.log(`child process exited with code ${code}`);
    });
})

app.get('/cam/quit', () => {
    process.kill(pid, 'SIGINT')
})

app.listen(5000, ()=> {
    console.log('Listening');
})


    


    On requesting the /cam/quit i would expect the process to stop... but it doesn't.
    
I've tried :

    


    app.get('/cam/quit', () => {
    process.kill(pid, 'SIGINT')
})


    


    app.get('/cam/quit', () => {
    process.kill(stream.pid, 'SIGINT')
})


    


    app.get('/cam/quit', () => {
    stream.kill(pid, 'SIGINT')
})


    


    app.get('/cam/quit', () => {
    stream.kill(0, 'SIGINT')
})


    


    But none of this worked... do I miss something ? Is there something I need to change ?

    


    Problem 2 - Output :
    
The output is emitted on stderr... even the process is working as expected.
    
This is maybe only cosmetics, but it makes me wondering.
    
Here is the terminal output :

    


    [nodemon] starting `node server.js`
Listening
camera stream reloaded
stderr: ffmpeg version 4.3.2-0+deb11u1ubuntu1 Copyright (c) 2000-2021 the FFmpeg developers
  built with gcc 10 (Ubuntu 10.2.1-20ubuntu1)
  configuration: --prefix=/usr --extra-version=0+deb11u1ubuntu1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --enable-avresample --disable-filter=resample --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libdav1d --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librabbitmq --enable-librsvg --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opencl --enable-opengl --enable-sdl2 --enable-pocketsphinx --enable-libmfx --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-nvenc --enable-chromaprint --enable-frei0r --enable-libx264 --enable-shared
  libavutil      56. 51.100 / 56. 51.100
  libavcodec     58. 91.100 / 58. 91.100
  libavformat    58. 45.100 / 58. 45.100
  libavdevice    58. 10.100 / 58. 10.100
  libavfilter     7. 85.100 /  7. 85.100
  libavresample   4.  0.  0 /  4.  0.  0
  libswscale      5.  7.100 /  5.  7.100
  libswresample   3.  7.100 /  3.  7.100
  libpostproc    55.  7.100 / 55.  7.100

pid:  4206
stderr: Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'udp://239.1.1.1':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    creation_time   : 
pid:  4206
stderr: 1970-01-01T00:00:00.000000Z
    encoder         : Lavf52.54.0
  Duration: 01:55:59.20, start: 0.000000, bitrate: 1436 kb/s
    Stream #0:0(und): Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuv420p, 720x384 [SAR 1:1 DAR 15:8], 1272 kb/s, 25 fps, 25 tbr, 25 tbn, 50 tbc (default)
    Metadata:
      creation_time   : 1970-01-01T00:00:00.000000Z
      handler_name    : VideoHandler
    Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 159 kb/s (default)
    Metadata:
      creation_time   : 1970-01-01T00:00:00.000000Z
      handler_name    : SoundHandler

pid:  4206
stderr: Stream mapping:
  Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264))
  Stream #0:1 -> #0:1 (aac (native) -> aac (native))
Press [q] to stop, [?] for help

pid:  4206
stderr: [libx264 @ 0x5616b38b5440] using SAR=1/1

pid:  4206
stderr: [libx264 @ 0x5616b38b5440] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2

pid:  4206
stderr: [libx264 @ 0x5616b38b5440] profile High, level 3.0, 4:2:0, 8-bit

pid:  4206
stderr: [libx264 @ 0x5616b38b5440] 264 - core 160 r3011 cde9a93 - H.264/MPEG-4 AVC codec - Copyleft 2003-2020 - http://www.videolan.org/x264.html - options: cabac=1 ref=1 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=2 psy=1 psy_rd=1.00:0.00 mixed_ref=0 me_range=16 chroma_me=1 trellis=0 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=0 threads=6 lookahead_threads=2 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=1 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=10 rc=crf mbtree=1 crf=21.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
Output #0, hls, to '/var/www/html/streams/tmp/aft.m3u8':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf58.45.100
    Stream #0:0(und): Video: h264 (libx264), yuv420p, 720x384 [SAR 1:1 DAR 15:8], q=-1--1, 25 fps, 90k tbn, 25 tbc (default)
    Metadata:
      creation_time   : 1970-01-01T00:00:00.000000Z
      handler_name    : VideoHandler
      encoder         : Lavc58.91.100 libx264
    Side data:
      cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: N/A
    Stream #0:1(und): Audio: aac (LC), 48000 Hz, stereo, fltp, 128 kb/s (default)
    Metadata:
      creation_time   : 1970-01-01T00:00:00.000000Z
      handler_name    : SoundHandler
      encoder         : Lavc58.91.100 aac

pid:  4206
stderr: frame=    8 fps=0.0 q=0.0 size=N/A time=00:00:00.46 bitrate=N/A speed=0.931x    
pid:  4206
stderr: frame=   21 fps= 21 q=26.0 size=N/A time=00:00:00.96 bitrate=N/A speed=0.95x    
pid:  4206
stderr: frame=   33 fps= 22 q=26.0 size=N/A time=00:00:01.49 bitrate=N/A speed=0.982x    
pid:  4206
stderr: frame=   46 fps= 23 q=26.0 size=N/A time=00:00:02.00 bitrate=N/A speed=0.989x    
pid:  4206
stderr: frame=   58 fps= 23 q=26.0 size=N/A time=00:00:02.49 bitrate=N/A speed=0.986x    
pid:  4206


    


    and so on...
    

    
Any help would be highly appreciated !
    
Many thanks in advance

    


  • How to convert iQiyi's JSON to regular m3u8

    5 septembre 2021, par Aero Wang

    Some of iQiyi's videos uses a strange format of "m3u8" which is really a JSON file. It looks like this :

    


    {
  "payload": {
    "wm_a": {
      "audio_track1": {
        "clear_duration_seconds": "0",
        "codec": "mp4a.40.2",
        "codec_init": "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",
        "duration_second": "2746",
        "encryption_scheme": "cenc",
        "files": [
          {
            "duration_second": 2746.054,
            "file_name": "http://pcw-data.video.iqiyi.com/videos/v0/20210729/25/c7/d46cfc4fe3f4b041536ada72e185697f.m4s?qdv=3&qd_uid=1363582888&qd_vip=1&qd_vipres=2&qd_did=a18dd95ae3eac97cc803939cc8f9711e&qd_src=01080031010000000000&qd_tm=1630802715182&qd_p=65e0612f&qd_k=0&qd_index=vod&qd_tvid=1118720545970600&dis_hbr=1&bid=500&fr=&br=&qd_sc=4f76eb068d675c289d8fbf95b4ec846f",
            "format": "m4s",
            "seekable": {
              "pos": [
                0
              ],
              "time": [
                0.0
              ]
            },
            "size": 44277014,
            "start_second": 0.0
          }
        ],
        "key_id": "ea1aaae90c6d3eb3a114d4a348dcc600",
        "type": [
          "audio"
        ]
      },
      "video_track1": {
        "clear_duration_seconds": "0",
        "codec": "avc1.640028",
        "codec_init": "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",
        "duration_second": "2746",
        "encryption_scheme": "cenc",
        "files": [
          {
            "duration_second": 9.0,
            "file_name": "http://pcw-data.video.iqiyi.com/videos/v0/20210729/25/c7/5aa88133c6ad1ce159915c482a3b9be5.m4s?qdv=3&qd_uid=1363582888&qd_vip=1&qd_vipres=2&qd_did=a18dd95ae3eac97cc803939cc8f9711e&qd_src=01080031010000000000&qd_tm=1630802715182&qd_p=65e0612f&qd_k=0&qd_index=vod&qd_tvid=1118720545970600&dis_hbr=1&bid=500&fr=&br=&qd_sc=d793dd5044298d209a466a6c487771f0",
            "format": "m4s",
            "seekable": {
              "pos_end": 398971,
              "pos_start": 0,
              "time_end": 9.0,
              "time_start": 0.0
            },
            "size": 398971,
            "start_second": 0.0
          },
          {
            "duration_second": 9.0,
            "file_name": "http://pcw-data.video.iqiyi.com/videos/v0/20210729/25/c7/5aa88133c6ad1ce159915c482a3b9be5.m4s?qdv=3&qd_uid=1363582888&qd_vip=1&qd_vipres=2&qd_did=a18dd95ae3eac97cc803939cc8f9711e&qd_src=01080031010000000000&qd_tm=1630802715182&qd_p=65e0612f&qd_k=0&qd_index=vod&qd_tvid=1118720545970600&dis_hbr=1&bid=500&fr=&br=&qd_sc=d793dd5044298d209a466a6c487771f0",
            "format": "m4s",
            "seekable": {
              "pos_end": 1600250,
              "pos_start": 398971,
              "time_end": 18.0,
              "time_start": 9.0
            },
            "size": 1201279,
            "start_second": 9.0
          },
          {
            "duration_second": 9.0,
            "file_name": "http://pcw-data.video.iqiyi.com/videos/v0/20210729/25/c7/5aa88133c6ad1ce159915c482a3b9be5.m4s?qdv=3&qd_uid=1363582888&qd_vip=1&qd_vipres=2&qd_did=a18dd95ae3eac97cc803939cc8f9711e&qd_src=01080031010000000000&qd_tm=1630802715182&qd_p=65e0612f&qd_k=0&qd_index=vod&qd_tvid=1118720545970600&dis_hbr=1&bid=500&fr=&br=&qd_sc=d793dd5044298d209a466a6c487771f0",
            "format": "m4s",
            "seekable": {
              "pos_end": 2671802,
              "pos_start": 1600250,
              "time_end": 27.0,
              "time_start": 18.0
            },
            "size": 1071552,
            "start_second": 18.0
          }
        ],
        "key_id": "ea1aaae90c6d3eb3a114d4a348dcc602",
        "type": [
          "video"
        ]
      }
    }
  },
  "version": 1,
  "watermark_group": [
    "wm_a"
  ]
}


    


    I tried to convert it to :

    


    #EXTM3U
#EXT-X-TARGETDURATION:2746
#EXTINF:2746,audio
http://pcw-data.video.iqiyi.com/videos/v0/20210729/25/c7/d46cfc4fe3f4b041536ada72e185697f.m4s?qdv=3&qd_uid=1363582888&qd_vip=1&qd_vipres=2&qd_did=a18dd95ae3eac97cc803939cc8f9711e&qd_src=01080031010000000000&qd_tm=1630802715182&qd_p=65e0612f&qd_k=0&qd_index=vod&qd_tvid=1118720545970600&dis_hbr=1&bid=500&fr=&br=&qd_sc=4f76eb068d675c289d8fbf95b4ec846f
#EXTINF:9,video
http://pcw-data.video.iqiyi.com/videos/v0/20210729/25/c7/5aa88133c6ad1ce159915c482a3b9be5.m4s?qdv=3&qd_uid=1363582888&qd_vip=1&qd_vipres=2&qd_did=a18dd95ae3eac97cc803939cc8f9711e&qd_src=01080031010000000000&qd_tm=1630802715182&qd_p=65e0612f&qd_k=0&qd_index=vod&qd_tvid=1118720545970600&dis_hbr=1&bid=500&fr=&br=&qd_sc=d793dd5044298d209a466a6c487771f0
#EXTINF:9,video
http://pcw-data.video.iqiyi.com/videos/v0/20210729/25/c7/5aa88133c6ad1ce159915c482a3b9be5.m4s?qdv=3&qd_uid=1363582888&qd_vip=1&qd_vipres=2&qd_did=a18dd95ae3eac97cc803939cc8f9711e&qd_src=01080031010000000000&qd_tm=1630802715182&qd_p=65e0612f&qd_k=0&qd_index=vod&qd_tvid=1118720545970600&dis_hbr=1&bid=500&fr=&br=&qd_sc=d793dd5044298d209a466a6c487771f0
#EXTINF:9,video
http://pcw-data.video.iqiyi.com/videos/v0/20210729/25/c7/5aa88133c6ad1ce159915c482a3b9be5.m4s?qdv=3&qd_uid=1363582888&qd_vip=1&qd_vipres=2&qd_did=a18dd95ae3eac97cc803939cc8f9711e&qd_src=01080031010000000000&qd_tm=1630802715182&qd_p=65e0612f&qd_k=0&qd_index=vod&qd_tvid=1118720545970600&dis_hbr=1&bid=500&fr=&br=&qd_sc=d793dd5044298d209a466a6c487771f0
#EXT-X-ENDLIST


    


    But I got :

    


    [mov,mp4,m4a,3gp,3g2,mj2 @ 0x7ffe4b81b000] could not find corresponding track id 1
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x7ffe4b81b000] could not find corresponding trex (id 1)
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x7ffe4b81b000] could not find corresponding track id 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x7ffe4b81b000] trun track id unknown, no tfhd was found
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x7ffe4b81b000] error reading header
./target.m3u8: Invalid data found when processing input


    


    Are there information I missed and should be put to use in the original JSON format ?

    


  • avcodec/mlpenc : stop returning packets with no data

    5 septembre 2021, par Paul B Mahol
    avcodec/mlpenc : stop returning packets with no data
    
    • [DH] libavcodec/mlpenc.c