
Recherche avancée
Médias (1)
-
Bug de détection d’ogg
22 mars 2013, par
Mis à jour : Avril 2013
Langue : français
Type : Video
Autres articles (79)
-
Des sites réalisés avec MediaSPIP
2 mai 2011, parCette page présente quelques-uns des sites fonctionnant sous MediaSPIP.
Vous pouvez bien entendu ajouter le votre grâce au formulaire en bas de page. -
HTML5 audio and video support
13 avril 2011, parMediaSPIP uses HTML5 video and audio tags to play multimedia files, taking advantage of the latest W3C innovations supported by modern browsers.
The MediaSPIP player used has been created specifically for MediaSPIP and can be easily adapted to fit in with a specific theme.
For older browsers the Flowplayer flash fallback is used.
MediaSPIP allows for media playback on major mobile platforms with the above (...) -
De l’upload à la vidéo finale [version standalone]
31 janvier 2010, parLe chemin d’un document audio ou vidéo dans SPIPMotion est divisé en trois étapes distinctes.
Upload et récupération d’informations de la vidéo source
Dans un premier temps, il est nécessaire de créer un article SPIP et de lui joindre le document vidéo "source".
Au moment où ce document est joint à l’article, deux actions supplémentaires au comportement normal sont exécutées : La récupération des informations techniques des flux audio et video du fichier ; La génération d’une vignette : extraction d’une (...)
Sur d’autres sites (8822)
-
live streaming Buffer data to Rtmp server using ffmpeg with nodejs ?
13 février 2023, par ashutosh karnconst ondata = chunk => {
 
 console.log(chunk) //Giving - Buffer 00 00 00 1c 66 74 79 70 64 61..........

 Streaming(chunk,"rtmps://live-api-s.facebook.com:443/rtmp/FB-108963845678778")

 //Streaming function is given below in the next Block.

 
 
 };



i have a function named ondata. who is continuously giving buffer data like this :-




( actually this a buffer of .MP4 file.)




<buffer 00="00" 1c="1c" 66="66" 74="74" 79="79" 70="70" 64="64" 61="61" 73="73" 68="68" 69="69" 6f="6f" 36="36" 76="76" 63="63" 31="31" 6d="6d" 34="34" 02="02" ca="ca" 6c="6c" df="df" e2="e2" 16334="16334" more="more" bytes="bytes"></buffer>


<buffer 14="14" 75="75" dd="dd" ea="ea" 7a="7a" 72="72" ef="ef" df="df" 4f="4f" 24="24" cb="cb" 83="83" c3="c3" 85="85" a3="a3" 17="17" 60="60" 26="26" 87="87" 74="74" 0b="0b" 49="49" e4="e4" 6f="6f" 09="09" 65="65" ae="ae" c8="c8" 6c="6c" 7d="7d" 0e="0e" 02="02" b1="b1" 6b="6b" 4a="4a" 63="63" 61="61" ab="ab" d9="d9" 44="44" 22="22" 62="62" 3c="3c" f6="f6" 0d="0d" 8c="8c" c9="c9" b7="b7" 16334="16334" more="more" bytes="bytes"></buffer>


Now I want to stream this buffer data to
RTMP Server using FFMPEG


so I doing this :-


const child_process = require('child_process');

 var Streaming = function (chunk, Rtmp_Uri) {

 ffmpeg_process = child_process.spawn('ffmpeg', [
 
 '-re',
 '-i', `${chunk}`, //Buffer 00 00 00 1c 66 74 79 70 64 61..........
 '-stream_loop','-1',
 '-f', 'flv',
 '-profile:v', 'baseline',
 '-pix_fmt', 'yuv420p',
 '-c:a', 'aac',
 '-acodec', 'mp3',
 '-ar', '44100',
 '-b:a', '128k',
 '-vcodec', 'libx264',
 '-bufsize', '600k',
 '-vb', '400k', 
 '-maxrate', '3000k',
 '-preset', 'ultrafast',
 '-r', '30',
 '-g', '30',
 Rtmp_Uri //"rtmps://live-api-s.facebook.com:443/rtmp/FB-1089638456787788-0..
 AbzJ3chy775fhjjjkW2";
 ]);
 return ffmpeg_process;

}



when I run this Streaming function nothing happens.


so can anyone tell me how to stream the buffer to the Rtmp server ? or any FFmpeg command that stream buffer data to rtmp server ?


Thanks in Advance.


-
RTMP server can't stream video (only audio)
20 janvier 2020, par JeffreyI’m implementing an RTMP server right now, and everything’s been working except for video streaming. I can stream audio with no problems (using OBS to stream), and play it back via VLC. The problem is VLC plays the audio, but no video. What I’m doing right now is forwarding every audio and video message I receive from OBS, I grab the original payload (audio/video data) and put in a Type 0 Chunk, since I’ve seen pretty much every implementation do this. I don’t know if I’m missing some sort of processing that should be done on the video data.
If I try to playback with ffmpeg (saving the RTMP stream to an flv file), then I get this output :
[NULL @ 000001eb053ed440] missing picture in access unit with size 5209
[AVBSFContext @ 000001eb053ecbc0] No start code is found.
rtmp://192.168.1.2/app/publish: could not find codec parameters
Input #0, flv, from 'rtmp://192.168.1.2/app/publish':
Duration: N/A, start: 0.000000, bitrate: N/A
Stream #0:0: Data: none
Stream #0:1: Video: h264, none, 1k tbn
Output #0, flv, to 'av.flv':
Output file #0 does not contain any streamIt says
missing picture in access unit with size 5209
,No start code is found
, andcould not find codec parameters
. What am I missing here ? I know I’m forwarding the payload exactly as I’ve received it in my server, I even did a hash check on the video payload I’m receiving and the one I’m sending and it’s exactly the same. Any help would be greatly appreciated. -
Workflow and data format for sending MediaRecorder output to express server
30 avril 2021, par MaxI've been trying to figure this out for a while but got lost between different ways of sending files and different data formats.


I am recording the stream of a canvas animation with MediaRecorder. As far as I understand this returns a blob with the video in binary format. Now I want to send this data to my express server and convert it to an h264 encoded mp4 file. My first impulse was to use ffmpeg on the server. Unfortunately I'm struggling with the details of the implementation. I am unsure on how to best transmit the data and in what format and how to feed it to ffmpeg.


This is what I have on the client side :


// Get stream from element
stream = element.captureStream(30)

// Create media recorder with stream
const recorder = new MediaRecorder(stream)

// Save to file
recorder.ondataavailable = ({ data }) => {
 
 const formData = new FormData()
 formData.append("file", data)

 const options = {
 method: "POST",
 body: formData,
 }

 fetch("http://localhost:3001/api/blob_to_mp4", options).then(
 (res) => {
 console.log(res)
 }
 )
}



And this is what I have on the server side :


"use strict";

const express = require("express");
const cors = require("cors");
const ffmpeg = require("fluent-ffmpeg");
const fs = require("fs");

const port = process.env.PORT || 3001;
const app = express();
var command = ffmpeg();

app.use(cors());
app.use(express.urlencoded({ extended: true }));
app.use(express.json());

app.post("/api/blob_to_mp4", function (req, res) {
 var data = Buffer.from("");

 // Add data
 req.on("data", function (chunk) {
 data = Buffer.concat([data, chunk]);
 });

 // Full data available
 req.on("end", () => {
 req.rawBody = data;
 });

 res.send("hello world");
});

app.listen(port);
console.log(`Server running on port ${port}`);