
Recherche avancée
Médias (2)
-
Exemple de boutons d’action pour une collection collaborative
27 février 2013, par
Mis à jour : Mars 2013
Langue : français
Type : Image
-
Exemple de boutons d’action pour une collection personnelle
27 février 2013, par
Mis à jour : Février 2013
Langue : English
Type : Image
Autres articles (70)
-
MediaSPIP Core : La Configuration
9 novembre 2010, parMediaSPIP Core fournit par défaut trois pages différentes de configuration (ces pages utilisent le plugin de configuration CFG pour fonctionner) : une page spécifique à la configuration générale du squelettes ; une page spécifique à la configuration de la page d’accueil du site ; une page spécifique à la configuration des secteurs ;
Il fournit également une page supplémentaire qui n’apparait que lorsque certains plugins sont activés permettant de contrôler l’affichage et les fonctionnalités spécifiques (...) -
Ajouter des informations spécifiques aux utilisateurs et autres modifications de comportement liées aux auteurs
12 avril 2011, parLa manière la plus simple d’ajouter des informations aux auteurs est d’installer le plugin Inscription3. Il permet également de modifier certains comportements liés aux utilisateurs (référez-vous à sa documentation pour plus d’informations).
Il est également possible d’ajouter des champs aux auteurs en installant les plugins champs extras 2 et Interface pour champs extras. -
Les autorisations surchargées par les plugins
27 avril 2010, parMediaspip core
autoriser_auteur_modifier() afin que les visiteurs soient capables de modifier leurs informations sur la page d’auteurs
Sur d’autres sites (12490)
-
avcodec/jpeg2000dec : error check when processing tlm marker
26 mars 2020, par Gautam Ramakrishnan -
Libav (ffmpeg) HW decoding problem with frames at the end of file - missing or corrupted
25 mars 2020, par HitokageMy goal is to utilize HW accelerated decoding (using vdpau, h265 and Nvidia RTX) getting number of frames from video. Everything works unless the frames get to the end of the video. I am getting less frames than I try to decode usually the last but one is missing (I know strange, the last one is OK just not getting all of them) and sometimes neighboring frames are corrupted. I followed the docs regarding end of file situation. Here is the code :
//getting first packet
if (!packet.data)
av_read_frame(formatContext, & packet);
AVFrame * frame = av_frame_alloc();
if (!frame)
throw std::runtime_error("Cannot allocate packet/frame");
//now trying to get frames from the video
for (int i = 0; i < number; i++) {
int err = 0;
//feeding the codec
while (err == 0) {
if (packet.stream_index == videoStreamId)
if ((err = avcodec_send_packet(codecContext, & packet)) != 0)
break;
av_packet_unref( & packet);
err = av_read_frame(formatContext, & packet);
//sending null packet to flush the buffers
if (err == AVERROR_EOF) {
packet.data = NULL;
packet.size = 0;
}
}
bool waitForFrame = true;
while (waitForFrame) {
int err = avcodec_receive_frame(codecContext, frame);
if (err == AVERROR_EOF)
waitForFrame = false;
else if (err < 0)
throw std::runtime_error("Cannot receive frame");
if (frame -> format == pixFmt)
//I get here only number-1 timesPlease note that the problem is happening only when I request the same number of frames as is the length of the video. Seems like the end of file situation is not handled properly. The frames get decoded ok if I try to get for example length-1 frames.
I also tried to log the events and everything looks OK, just one frame is not there. This is a case where 64 frames long video is being decoded asking for 64 frames :
Send packet 0 == 0
Read frame status: Success
Send packet 1 == 0
Read frame status: Success
Send packet 2 == 0
Read frame status: Success
Send packet 3 == 0
Read frame status: Success
Send packet 4 !=0
Send packet status: Resource temporarily unavailable
Processing frame:0
Send packet 4 !=0
Send packet status: Resource temporarily unavailable
Processing frame:1
Send packet 4 == 0
Read frame status: Success
Send packet 5 == 0
Read frame status: Success
Send packet 6 !=0
Send packet status: Resource temporarily unavailable
Processing frame:2
Send packet 6 !=0
Send packet status: Resource temporarily unavailable
Processing frame:3
...
Processing frame:56
Send packet 60 !=0
Send packet status: Resource temporarily unavailable
Processing frame:57
Send packet 60 == 0
Read frame status: Success
Send packet 61 == 0
Read frame status: Success
Send packet 62 !=0
Send packet status: Resource temporarily unavailable
Processing frame:58
Send packet 62 !=0
Send packet status: Resource temporarily unavailable
Processing frame:59
Send packet 62 == 0
Read frame status: Success
Send packet 63 == 0
Read frame status: End of file
Set null packet
Processing frame:60
Send packet 64 == 0
Read frame status: End of file
Set null packet
Processing frame:61
Send packet 65 !=0
Send packet status: End of file
Processing frame:62
Send packet 65 !=0
Send packet status: End of file
End of file at receive frame -
Unable to livestream dynamically created data
18 mars 2020, par CaltropI’m trying to livestream dynamically created data on youtube using ffmpeg and node.js.
The example below is supposed to stream random noise, however it just throws errors and doesn’t quite work.
const height = 512,
width = 512,
cp = require('child_process'),
command = `cd ffmpeg/bin && ffmpeg -hide_banner -f rawvideo -pix_fmt rgb24 -s ${width}x${height} -i - rtmp://a.rtmp.youtube.com/live2/${loginCredentials.streamKey}`,
proc = cp.spawn(command, [], { shell: true });
(f = () => {
setTimeout(f, 1000/60);
const data = new Uint8ClampedArray(width * height * 3).map(()=>Math.random()*255);
proc.stdin.write(Buffer.from(data));
})();
proc.stderr.pipe(process.stdout);Apologies, I’m quite inexperienced with ffmpeg
edit : full log below
Input #0, rawvideo, from 'pipe:':
Duration: N/A, start: 0.000000, bitrate: 157286 kb/s
Stream #0:0: Video: rawvideo (RGB[24] / 0x18424752), rgb24, 512x512, 157286 kb/s, 25 tbr, 25 tbn, 25 tbc
Stream mapping:
events.js:174
throw er; // Unhandled 'error' event
^
Error: write EPIPE
at afterWriteDispatched (internal/stream_base_commons.js:78:25)
at writevGeneric (internal/stream_base_commons.js:67:3)
at Socket._writeGeneric (net.js:711:5)
at Socket._writev (net.js:720:8)
at doWrite (_stream_writable.js:413:12)
at clearBuffer (_stream_writable.js:522:5)
at onwrite (_stream_writable.js:470:7)
at WriteWrap.afterWrite [as oncomplete] (net.js:800:19)
Emitted 'error' event at:
at errorOrDestroy (internal/streams/destroy.js:107:12)
at onwriteError (_stream_writable.js:430:5)
at onwrite (_stream_writable.js:461:5)
at _destroy (internal/streams/destroy.js:49:7)
at Socket._destroy (net.js:613:3)
at Socket.destroy (internal/streams/destroy.js:37:8)
at afterWriteDispatched (internal/stream_base_commons.js:78:17)
at writevGeneric (internal/stream_base_commons.js:67:3)
at Socket._writeGeneric (net.js:711:5)
at Socket._writev (net.js:720:8)