
Recherche avancée
Médias (2)
-
Granite de l’Aber Ildut
9 septembre 2011, par
Mis à jour : Septembre 2011
Langue : français
Type : Texte
-
Géodiversité
9 septembre 2011, par ,
Mis à jour : Août 2018
Langue : français
Type : Texte
Autres articles (37)
-
Publier sur MédiaSpip
13 juin 2013Puis-je poster des contenus à partir d’une tablette Ipad ?
Oui, si votre Médiaspip installé est à la version 0.2 ou supérieure. Contacter au besoin l’administrateur de votre MédiaSpip pour le savoir -
Other interesting software
13 avril 2011, parWe don’t claim to be the only ones doing what we do ... and especially not to assert claims to be the best either ... What we do, we just try to do it well and getting better ...
The following list represents softwares that tend to be more or less as MediaSPIP or that MediaSPIP tries more or less to do the same, whatever ...
We don’t know them, we didn’t try them, but you can take a peek.
Videopress
Website : http://videopress.com/
License : GNU/GPL v2
Source code : (...) -
Personnaliser en ajoutant son logo, sa bannière ou son image de fond
5 septembre 2013, parCertains thèmes prennent en compte trois éléments de personnalisation : l’ajout d’un logo ; l’ajout d’une bannière l’ajout d’une image de fond ;
Sur d’autres sites (4866)
-
Mapping streams by language in FFmpeg
8 décembre 2016, par ffmpeg123I have lots of files with multiple audio and subtitle languages, however the track numbers aren’t consistent (the English audio stream isn’t always the first) so using a command such as :
ffmpeg -i "input.mkv" -map 0 -map -0:a:1 -c:v copy -c:a copy "output.mkv"
doesn’t yield expected results. After searching around I discovered it was possible to map streams based on language with this command :
ffmpeg -i "input.mkv" -map 0 -map -0:m:language:eng -c:v copy -c:a copy "output.mkv"
However
-map -0:m:language:eng
will remove all tracks with the English language flag. To keep the subtitle tracks you can use-map 0:s
this is a good solution however, I want to know if it’s possible to only map audio streams based on language. -
Perl and ffmpeg script
21 novembre 2016, par armight29The first part of my script that asks whether to check for cinavia doesn’t work. That is, if I type in ’y’ or ’Y’ it doesn’t proceed to the
CNVIACHk
function but goes instead to theMVIEPARAMs
function.# GET FILE INPUT..
print "Enter Filename..";
my $MOVIe = <stdin>;
print "Check For Cinavia? Enter y or n\n";
my $CNVIAQUESt = <stdin>;
if ( $CNVIAQUESt eq "y" || $CNVIAQUESt eq "Y" ) {
CNVIACHk( $MOVIe );
}
else {
MVIEPARAMs( $MOVIe );
}
sub MVIEPARAMs {
system(
"ffprobe -v error -show_entries format=duration -of default=noprint_wrappers=1:nokey=1 $MOVIe"
);
print "Duration In Seconds..";
$DURATIOn = <stdin>;
system(
'ffprobe -v error -of flat=s=_ -select_streams v:0 -show_entries stream=height,width "$MOVIe"'
);
print "Movie Width? ";
$MOVIEWIDTh = <stdin>;
print "Movie Height? ";
$MOVIEHEIGHt = <stdin>;
print "Enter Target Width.. ";
$TARGETWIDTh = <stdin>;
print "Enter Target Height.. ";
$TARGETHEIGHt = <stdin>;
system(
'ffprobe -show_entries stream=index,codec_type:stream_tags=language -of compact "$MOVIe" -v 0 | grep eng'
);
print "Enter number of English Audio Track.. ";
$ENGAUDTRk = <stdin>;
print "English Audio Track Number Is ", $ENGAUDTRk, ".";
$BTRTe = 31875072 / $DURATIOn;
DETRMNEPAd;
}
sub DETRMNEPAd {
if ( $MOVIEWIDTh < $TARGETWIDTh ) {
$X = $TARGETWIDTh - $MOVIEWIDTh / 2;
}
elsif ( $MOVIEHEIGHt < $TARGETHEIGHt ) {
$Y = $TARGETHEIGHt - $MOVIEHEIGHt / 2;
$X = 0;
print $Y;
}
else {
print "Padding Not Needed Moving On...";
CNVRTWOPAd();
}
CNVRTWPAd();
}
sub CNVIACHk {
print "Checking Movie For Cinavia.. ";
system( "cinde -i $MOVIe -q high -l" );
print "Enter Track To Check.. ";
$TRKTOCHEk = <stdin>;
system( "cinde -i $MOVIe -q high -t $TRKTOCHEk" );
print "Was Cinavia Detected?";
$CNVIACHKANSr = <stdin>;
if ( $CNVIACHKANSr eq "y" ) {
exit;
}
else {
print "Would You Like To Check Another Track?";
$CHKANTHRTRk = <stdin>;
if ( $CHKANTHRTRk eq "y" ) {
CNVIACHk();
}
else {
MVIEPARAMs();
}
}
}
sub CNVRTWOPAd {
print "BEGINNING CONVERSION...\n";
print "What Preset Would You Like To Use?";
$PRESEt = <stdin>;
system(
"ffmpeg -i $MOVIe -map 0:0 -map 0:$ENGAUDTRk -c:v libx264 -b:v $BTRTe -preset $PRESEt -strict -2 -c:a ac3 -b:a 192k -threads 12 -pass 1 -f matroska dummy && ",
"ffmpeg -i $MOVIe -map 0:0 -map 0:$ENGAUDTRk -c:v libx264 -b:v $BTRTe -preset $PRESEt -strict -2 -c:a ac3 -b:a 192k -threads 12 -pass 2 -f matroska ENCODE1.mkv"
);
}
sub CNVRTWPAd {
print "BEGINNING CONVERSION...\n";
print "What Preset Would You Like To Use?";
my $PRESEt = <stdin>;
system(
"ffmpeg -i $MOVIe -map 0:0 -map 0:$ENGAUDTRk -c:v libx264 -b:v $BTRTe -preset $PRESEt -vf \"pad=$TARGETWIDTh:$TARGETHEIGHt:$X:$Y:black\" -strict -2 -c:a ac3 -b:a 192k ",
" -threads 12 -pass 1 -f matroska dummy && ffmpeg -i $MOVIe -map 0:0 -map 0:$ENDAUDTRk -c:v libx264 -b:v $BTRTe -preset $PRESEt -vf \"pad=$TARGETWIDTh:$TARGETHEIGHt:$X:$Y:black\"",
" -strict -2 -c:a ac3 -b:a 192k -threads 12 -pass 2 -f matroska ENCODE1.mkv"
);
}
</stdin></stdin></stdin></stdin></stdin></stdin></stdin></stdin></stdin></stdin></stdin></stdin></stdin> -
Transcoding rtsp over http
24 novembre 2016, par NikiDonBefore I explain my problem : Sorry for bad English and if you want you can help me on my spelling too.
I have a low cost IP camera who give only a RTSP link :
192.168.x.x/onvif2
It doesn’t need authentication to see video... my router doesn’t have open ports^^I want to trancode rtsp ( because of html can’t play it) with FFMPEG to send it on a server node.js ( express ) and in index.html play stream in video tag :
Server.js :
<code class="echappe-js"><script><br />
var express = require('express');<br />
var path = require('path');<br />
var app = express();<br />
var server = require('http').Server(app);<br />
var io = require('socket.io')(server);<br />
<br />
app.use(express.static(path.join(__dirname, 'public')));<br />
<br />
app.get('/', function (req, res) {<br />
res.sendFile(__dirname + '/index.html');<br />
});<br />
<br />
server.listen(8080);<br />
console.log("server run at 127.0.0.1:8080");<br />
<br />
io.on('connection',function(socket){<br />
socket.emit('hello','hello user');<br />
});<br />
</script>and index.html :
<video style="background-color: black;" width="480" height="270" autoplay="autoplay">
<source src="http://127.0.0.1:8080/vid2.mp4" type="video/mp4" codecs="avc1.42E01E, mp4a.40.2">
</source></video>
<code class="echappe-js"><script><br />
var socket = io.connect();<br />
socket.on('hello',function(data){<br />
console.log(data);<br />
});<br />
<br />
</script>ffmpeg -i rtsp ://192.168.x.x/onvif2 -crf 30 -preset ultrafast -acodec aac -strict experimental -ar 44100 -ac 2 -b:a 96k -vcodec libx264 -r 25 -b:v 500k -f flv http://127.0.0.1:xx/vid2.mp4
The camera starts but I can’t find vid2.mp4
How can I replace ffserver with a node server (http? udp ?...)