
Recherche avancée
Médias (91)
-
MediaSPIP Simple : futur thème graphique par défaut ?
26 septembre 2013, par
Mis à jour : Octobre 2013
Langue : français
Type : Video
-
avec chosen
13 septembre 2013, par
Mis à jour : Septembre 2013
Langue : français
Type : Image
-
sans chosen
13 septembre 2013, par
Mis à jour : Septembre 2013
Langue : français
Type : Image
-
config chosen
13 septembre 2013, par
Mis à jour : Septembre 2013
Langue : français
Type : Image
-
SPIP - plugins - embed code - Exemple
2 septembre 2013, par
Mis à jour : Septembre 2013
Langue : français
Type : Image
-
GetID3 - Bloc informations de fichiers
9 avril 2013, par
Mis à jour : Mai 2013
Langue : français
Type : Image
Autres articles (100)
-
MediaSPIP 0.1 Beta version
25 avril 2011, parMediaSPIP 0.1 beta is the first version of MediaSPIP proclaimed as "usable".
The zip file provided here only contains the sources of MediaSPIP in its standalone version.
To get a working installation, you must manually install all-software dependencies on the server.
If you want to use this archive for an installation in "farm mode", you will also need to proceed to other manual (...) -
MediaSPIP version 0.1 Beta
16 avril 2011, parMediaSPIP 0.1 beta est la première version de MediaSPIP décrétée comme "utilisable".
Le fichier zip ici présent contient uniquement les sources de MediaSPIP en version standalone.
Pour avoir une installation fonctionnelle, il est nécessaire d’installer manuellement l’ensemble des dépendances logicielles sur le serveur.
Si vous souhaitez utiliser cette archive pour une installation en mode ferme, il vous faudra également procéder à d’autres modifications (...) -
Amélioration de la version de base
13 septembre 2013Jolie sélection multiple
Le plugin Chosen permet d’améliorer l’ergonomie des champs de sélection multiple. Voir les deux images suivantes pour comparer.
Il suffit pour cela d’activer le plugin Chosen (Configuration générale du site > Gestion des plugins), puis de configurer le plugin (Les squelettes > Chosen) en activant l’utilisation de Chosen dans le site public et en spécifiant les éléments de formulaires à améliorer, par exemple select[multiple] pour les listes à sélection multiple (...)
Sur d’autres sites (13801)
-
Rtsp streaming on nodejs - Blank screen
17 juillet 2024, par theplaceofburakI am currently working on a Node.js project where I need to implement streaming using ffmpeg. However, I am facing an issue with the streaming process, as I am getting an empty blank screen instead of the expected video stream.


Here's a brief overview of what I have done so far on the server-side :


Installed ffmpeg and made sure it is accessible in the environment.
Configured the server-side code for the streaming process.
However, despite these efforts, the stream is not working correctly, and I am unable to see the video stream on the client-side.


Server-side code :
app.js


const express = require('express');
const Stream = require('node-rtsp-stream');

const app = express();
const port = 4000;

// Start the RTSP stream
const stream = new Stream({
 name: 'rtsp_server_name',
 streamUrl: 'rtsp://wowzaec2demo.streamlock.net/vod/mp4:BigBuckBunny_115k.mp4',
 wsPort: 3000,
 ffmpegOptions: {
 '-stats': '', // an option with no necessary value uses a blank string
 '-r': 30, // options with required values specify the value after the key
 },
});

stream.on('data', data => {
 console.log(data);
});

app.get('/', (req, res) => {
 res.send('Hello World');
});

app.listen(port, () => {
 console.log(`Server running at http://localhost:${port}/`);
});



index.html



 
 <canvas></canvas>
 
 <h1>Test rtsp video</h1>
 <code class="echappe-js"><script type="text/javascript" src='http://stackoverflow.com/feeds/tag/js/jsmpeg.min.js'></script>

<script type="text/javascript">&#xA; player = new JSMpeg.Player(&#x27;ws://localhost:3000&#x27;, {&#xA; canvas: document.getElementById(&#x27;canvas&#x27;), // Canvas should be a canvas DOM element&#xA; });&#xA; </script>




I got no console error when I open index.html but only get blank black screen



-
Javascript sync images
26 septembre 2021, par Ruan MattI'm studying about FPS, animations, image processing in order to get into the game development world.


I took a video and extract each frame into a .jpg image, and I want to run these images, side by side, in the same sync as the original video


You can test at this link => https://jsfiddle.net/ruanmatt144/267erymL/2/


The problem : The video FPS is 30, but even if I put 1000/30, or any other value that refers to the original FPS, it doesn't work ! It doesn't stay in sync. setTimeout has a limit on decimal places that I don't know about ?


Video timestamp for each frame => https://unity-animation.ztech.gq/timestamp.txt


How can I sync those images following the original video timestamp ? Thank you.


var arr = Array();
var v = 0;
var v2 = 0;
var k = 0;

(function getImages(i) {
 setTimeout(function() {
 v++;
 var r = Math.random();
 loadImage("https://unity-animation.ztech.gq/frames/out-" + v + ".jpg?v=" + r);
 arr.push("https://unity-animation.ztech.gq/frames/out-" + v + ".jpg?v=" + r);

 if (--i) getImages(i);
 }, 30)
})(20000);



const loadImage = src =>
 new Promise((resolve, reject) => {
 const img = new Image();
 img.onload = () => resolve(img);
 img.src = src;
 }) 
;

var imgArray = new Array();
setTimeout(function() {
 (function runVideo(i) {
 setTimeout(function() {
 v2++;
 imgArray[v2] = new Image();
 document.getElementById('load').appendChild(imgArray[v2]);

 imgArray[v2].src = arr[v2];
 imgArray[v2].classList.add("overlayImage");
 imgArray.shift();
 var parent = document.querySelector("#load");
 [...parent.children].slice(0,-10).forEach(parent.removeChild.bind(parent));
 var last = document.querySelector('#load img:last-child').getAttribute("src");
 var _final = last.substring(
 last.indexOf("-") + 1, 
 last.lastIndexOf(".jpg")
 );
 arr.shift();
 if (--i) runVideo(i);
 }, 90) // <== the problem is here, which value I must use?
 })(38194);
 document.getElementById("video").play();
}, 20000);



-
CMake on Ubuntu, Requested 'libavdevice' >= 56.4.100 but version of libavdevice is 53.2.0
5 mars 2019, par user1830386I am trying to get into plug in writing for Gazebo but keep running into an error when compiling my programs.
Requested 'libavdevice >= 56.4.100' but version of libavdevice is 53.2.0
CMake Error at /usr/share/cmake-
3.10/Modules/FindPackageHandleStandardArgs.cmake:137 (message):
Could NOT find AVDEVICE (missing: AVDEVICE_FOUND) (Required is at least
version "56.4.100")but when I do ffmpeg -version I get :
libavdevice 57. 10.100 / 57. 10.100
Yet CMake seems to think I’m on version 53. Trying to update ffmpeg or libavdevice-dev returns that I am on the latest version.
Here is my make file :
cmake_minimum_required(VERSION 2.8 FATAL_ERROR)
find_package(gazebo REQUIRED)
include_directories(${GAZEBO_INCLUDE_DIRS})
link_directories(${GAZEBO_LIBRARY_DIRS})
list(APPEND CMAKE_CXX_FLAGS "${GAZEBO_CXX_FLAGS}")
add_library(model_control SHARED model_control.cc)
target_link_libraries(model_control ${GAZEBO_LIBRARIES})
list(APPEND CMAKE_CXX_FLAGS "${GAZEBO_CXX_FLAGS}")and the cc file :
#include <functional>
#include <gazebo></gazebo>gazebo.hh>
#include <gazebo></gazebo>physics/physics.hh>
#include <gazebo></gazebo>common/common.hh>
#include <ignition></ignition>math/Vector3.hh>
namespace gazebo
{
class ModelPush : public ModelPlugin
{
public: void Load(physics::ModelPtr _parent, sdf::ElementPtr /*_sdf*/)
{
// Store the pointer to the model
this->model = _parent;
// Listen to the update event. This event is broadcast every
// simulation iteration.
this->updateConnection = event::Events::ConnectWorldUpdateBegin(
std::bind(&ModelPush::OnUpdate, this));
}
// Called by the world update start event
public: void OnUpdate()
{
// Apply a small linear velocity to the model.
this->model->SetLinearVel(ignition::math::Vector3d(.3, 0, 0));
}
// Pointer to the model
private: physics::ModelPtr model;
// Pointer to the update event connection
private: event::ConnectionPtr updateConnection;
};
// Register this plugin with the simulator
GZ_REGISTER_MODEL_PLUGIN(ModelPush)
}
</functional>Thanks !