Recherche avancée
Médias (1)
-
Video d’abeille en portrait
14 mai 2011, par
Mis à jour : Février 2012
Langue : français
Type : Video
Autres articles (16)
-
Les formats acceptés
28 janvier 2010, parLes commandes suivantes permettent d’avoir des informations sur les formats et codecs gérés par l’installation local de ffmpeg :
ffmpeg -codecs ffmpeg -formats
Les format videos acceptés en entrée
Cette liste est non exhaustive, elle met en exergue les principaux formats utilisés : h264 : H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 m4v : raw MPEG-4 video format flv : Flash Video (FLV) / Sorenson Spark / Sorenson H.263 Theora wmv :
Les formats vidéos de sortie possibles
Dans un premier temps on (...) -
Ajouter notes et légendes aux images
7 février 2011, parPour pouvoir ajouter notes et légendes aux images, la première étape est d’installer le plugin "Légendes".
Une fois le plugin activé, vous pouvez le configurer dans l’espace de configuration afin de modifier les droits de création / modification et de suppression des notes. Par défaut seuls les administrateurs du site peuvent ajouter des notes aux images.
Modification lors de l’ajout d’un média
Lors de l’ajout d’un média de type "image" un nouveau bouton apparait au dessus de la prévisualisation (...) -
Gestion générale des documents
13 mai 2011, parMédiaSPIP ne modifie jamais le document original mis en ligne.
Pour chaque document mis en ligne il effectue deux opérations successives : la création d’une version supplémentaire qui peut être facilement consultée en ligne tout en laissant l’original téléchargeable dans le cas où le document original ne peut être lu dans un navigateur Internet ; la récupération des métadonnées du document original pour illustrer textuellement le fichier ;
Les tableaux ci-dessous expliquent ce que peut faire MédiaSPIP (...)
Sur d’autres sites (4942)
-
doc/muxers/image2 : drop unmatched quote in example
11 mai 2023, par Andriy Utkin -
How to add Qt to an existing C program and compile ?
26 juin 2015, par El SampsaI have a small Qt program I have compiled with qmake and make. When I launch make, I get the following commands for compilation :
g++ -c -m64 -pipe -O2 -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++-64 -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I. -I/usr/lib/x86_64-linux-gnu -I/usr/include/SDL -I. -o simpleqt.o simpleqt.cpp
(.. lets call that (**)) and
g++ -m64 -Wl,-O1 -o qt simpleqt.o -L/usr/lib/x86_64-linux-gnu -lSDL -lX11 -lQtGui -lQtCore -lpthread
.. and the program is compiled without problems.
On the other hand, I have the ffmpeg library which has the "ffplay" program. I want to put some Qt things into ffplay. In the ffmpeg config files I tell to the make process (using "common.mak") that it should be verbose and when issuing "make ffplay", it gives me the following monster :
gcc -I. -I./ -D_ISOC99_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600 -DZLIB_CONST -I/home/sampsa/ffmpeg/build/include -std=c99 -fomit-frame-pointer -pthread -I/usr/include/freetype2 -I/usr/include/fribidi -I/usr/include/freetype2 -D_GNU_SOURCE=1 -D_REENTRANT -I/usr/include/SDL -g -Wdeclaration-after-statement -Wall -Wdisabled-optimization -Wpointer-arith -Wredundant-decls -Wwrite-strings -Wtype-limits -Wundef -Wmissing-prototypes -Wno-pointer-to-int-cast -Wstrict-prototypes -Wempty-body -Wno-parentheses -Wno-switch -Wno-format-zero-length -Wno-pointer-sign -O3 -fno-math-errno -fno-signed-zeros -fno-tree-vectorize -Werror=format-security -Werror=implicit-function-declaration -Werror=missing-prototypes -Werror=return-type -Werror=vla -Wformat -Wno-maybe-uninitialized -D_GNU_SOURCE=1 -D_REENTRANT -I/usr/include/SDL -MMD -MF ffplay.d -MT ffplay.o -c -o ffplay.o ffplay.c
(lets call that monster (++)).
So far, so good, I have two commands, one (**) for compiling Qt programs and another one (++) for another project (in this case, ffmpeg’s ffplay)
How do I combine these two ?
I have tried merging the flags in (**) into command (++). It compiles OK, but the moment I am adding
#include <qtgui>
</qtgui>into "ffplay.c", all hell breaks loose and the compiler tells me (among many other things) :
In file included from /usr/include/qt4/QtCore/qobjectdefs.h:45:0,
from /usr/include/qt4/QtCore/qobject.h:47,
from /usr/include/qt4/QtCore/qabstracteventdispatcher.h:45,
from /usr/include/qt4/QtCore/QtCore:3,
from /usr/include/qt4/QtGui/QtGui:3,
from ffplay2.c:61 :
/usr/include/qt4/QtCore/qnamespace.h:51:1 : warning : return type defaults to ‘int’ [enabled by default]
QT_MODULE(Core)
^
/usr/include/qt4/QtCore/qnamespace.h:51:1 : warning : function declaration isn’t a prototype [-Wstrict-prototypes]
/usr/include/qt4/QtCore/qnamespace.h : In function ‘QT_MODULE’ :
/usr/include/qt4/QtCore/qnamespace.h:54:1 : error : unknown type name ‘namespace’
namespace
^
...
...If I combine flags in (**) to (++) and change the compiler from "gcc" to "g++", I get all kinds of errors, this time related to the "ffplay.c" source code.
What is going on ?
-
Nodejs youtube-dl ffmpeg audio stream
19 septembre 2015, par MajsterI have an issue with streaming video from YouTube. I have a http server which attempts to grab the raw video url, pull out the audio, convert it to mp3 and stream it to clients. The issue is that I’m not getting any audio on my client. Code is below (it’s all work in progress so there’s a lot of hardcoded stuff in there).
// The obvious stuff
var exec = require('child_process').exec;
var spawn = require('child_process').spawn;
var request = require('request');
var http = require('http');
//Listen for requests
var server = http.createServer(function(req, response) {
//This command runs youtube-dl and gets the video url
var command = './node_modules/youtube-dl/bin/youtube-dl --simulate --get-url http://www.youtube.com/watch?v=5qF_qbaWt3Q';
var exc = exec(command, function(error, stdout, stderr) {
var downloadUrl = stdout.toString(); //Convert the buffer to string
downloadUrl = downloadUrl.substring(0, downloadUrl.length - 1); //And strip the '\n' sign at the end
console.log("This thing is: '" + downloadUrl + "'");
response.writeHead(200, {
'Content-Type': 'audio/mpeg'
}); //When this is mpeg3 browser will download a blank .mp3 file now it tries to stream it
//Spawn the ffmpeg child process
var child = spawn('ffmpeg', ['-i', 'pipe:0', '-acodec', 'libmp3lame','-f', 'mp3', '-']);
child.stdout.pipe(response); //Pipe it so it writes to our response
// fs.createReadStream(filePath).pipe(child.stdin); - this is a testing thing ---> fs is filesystem and filePath is a link to a file - works
request({url: downloadUrl, headers: {'Youtubedl-no-compression': 'True'}}).pipe(child.stdin); //Request the data and pipe it to ffmpeg for processing
});
});I can provide any additional info if needed. But the thing works if I try to use a file instead of
requestcall so there is no problem with ffmpeg and other settings. Is it possible that YouTube has a protection against downloading videos this way ? I tried to paste the URL ofconsole.loginto my browser and nothing happens - no video. How can I fix this ?