
Recherche avancée
Médias (91)
-
Spoon - Revenge !
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
My Morning Jacket - One Big Holiday
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Zap Mama - Wadidyusay ?
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
David Byrne - My Fair Lady
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Beastie Boys - Now Get Busy
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Granite de l’Aber Ildut
9 septembre 2011, par
Mis à jour : Septembre 2011
Langue : français
Type : Texte
Autres articles (20)
-
Selection of projects using MediaSPIP
2 mai 2011, parThe 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, parThe 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, parLes 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 WangSome 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