
Recherche avancée
Autres articles (52)
-
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 ;
-
Ecrire une actualité
21 juin 2013, parPrésentez les changements dans votre MédiaSPIP ou les actualités de vos projets sur votre MédiaSPIP grâce à la rubrique actualités.
Dans le thème par défaut spipeo de MédiaSPIP, les actualités sont affichées en bas de la page principale sous les éditoriaux.
Vous pouvez personnaliser le formulaire de création d’une actualité.
Formulaire de création d’une actualité Dans le cas d’un document de type actualité, les champs proposés par défaut sont : Date de publication ( personnaliser la date de publication ) (...) -
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
Sur d’autres sites (8273)
-
Why does my video have an audio/mp4 mime type [duplicate]
22 février 2018, par Tucker PeeblesThis question already has an answer here :
I have a video file but it has a mime type of "audio/mp4". Why would that happen. The user who sent it to me said it came from a Flip video camera and was uploaded by usb to her computer.
In my program, I’m checking for ’video/mp4’ mime type when I’m trying to determine if it’s a video, but I want to eventually support audio uploads too which would need to check ’audio/mp4’.
Unfortunately, the video is a personal video of the user’s child so I don’t want to upload it here. Let me know if there is any information I can provide about the video that would help.
-
Ffmpeg returning error code 1 in AWS Lamda function
14 avril 2018, par TometoyouI’m running a lambda function which takes an
mp4
video, and adds a watermark of apng
image over the top of it in the bottom right hand corner (with a10px
margin). It then outputs that image to a temporary location. It keeps failing withError code 1
, but that isn’t very helpful. I’m using a binary version offfmpeg
that is specified in the main directory of the code. I know thatffmpeg
is set up correctly due to using it in another lambda function in this way, which works. But adding an overlay fails. Here is the relevant part of my code :function addWatermark(next) {
var ffmpeg = child_process.spawn("ffmpeg", [
"-i", target, // url to stream from
"-i", watermarkPath,
"-filter_complex" ,"overlay=x=W-w-10:y=H-h-10:format=rgb,format=yuv420p",
"-c:a", "copy",
"pipe:1"
]);
ffmpeg.on("error", function(err) {
console.log(err);
})
ffmpeg.on("close", function(code) {
if (code != 0 ) {
console.log("child process exited with code " + code); // Always exits here.
} else {
console.log("Processing finished !");
}
tmpFile.end();
next(code);
});
tmpFile.on("error", function(err) {
console.log("stream err: ", err);
});
ffmpeg.on("end", function() {
tmpFile.end();
})
ffmpeg.stdout.pipe(tmpFile)
.on("error", function(err){
console.log("error while writing: ",err);
});
}Can anyone spot what may be wrong ?
UPDATE
I’ve managed to print out some more logs, I’m getting the error :
[NULL @ 0x42923e0] Unable to find a suitable output format for 'pipe:1'
-
PHP execute batch files to start recording ffmpeg and to kill ffmpeg
28 février 2018, par Mitchell DayHi was just wondering if anyone knows a way that i can run a batch file that contains multiple "start ffmpeg" commands, that allows me to kill it using a batch file at some random point in time.
I have one batch that starts 4 videos recording from a rtsp feed to file. And another one that taskkills that ffmpeg process. The problem is that i can run these successfully by running in cmd prompt, but when i try to use exec(record.bat) or popen() etc, it runs the ffmpeg process in the background, and the stoprecord.bat can’t kill it error is :
The Process with PID x <child process="process" of="of" pid="pid" y="y"> could not be terminated.
Reason: This Process can only be termintated forcefully (with /f option)
</child>I don’t want to force it, because the mp4 file corrupts when you force close it. When i run the bat files directly i dont need that force option. I have tried giving the folders full permissions for the IIS_IUSRS user, i have made the bat and folder creater as IIS_IUSRS (thought the mkdir in the batch gives not permission to IIS usr which it is recording the video to).
Any one have any clue why this wouldnt work. I have put the bat files below and the php script which calls them.
Record.bat
cd C:\inetpub\wwwroot\ESTF\batch
tasklist /FI "IMAGENAME eq ffmpeg_sr.exe" | find ":" > NUL
if errorlevel 1 exit
set MEDIA_DIR=C:\inetpub\wwwroot\ESTF\media\recordings
set WEB_DIR=C:\inetpub\wwwroot\estf\
set VLC_DIR=C:\Program Files\VideoLAN\VLC
set ROOM=simroom
set M=1
set N=1
set CURRENT_DAY=day1
set FFMPEG_DIR=C:\inetpub\wwwroot\ESTF\ffmpeg\bin
call "date.bat"
if not exist %MEDIA_DIR%\curDate.txt (
mkdir %MEDIA_DIR%
icacls %MEDIA_DIR% /grant Everyone:(f)
echo %DATESTR%>%MEDIA_DIR%\curDate.txt
echo %CURRENT_DAY%>%MEDIA_DIR%\curDay.txt
goto :LOOP2
)
if exist %MEDIA_DIR%\curDate.txt (
set /p STORED_DATE=I %STORED_DATE%==%DATESTR% (
set /p CURRENT_DAY=I NOT %STORED_DATE%==%DATESTR% (
echo %DATESTR%>%MEDIA_DIR%\curDate.txt
goto :LOOP1
)
:LOOP1
set DAY_LOOP=%MEDIA_DIR%\day%M%
if exist %DAY_LOOP% (
set /a M = %M%+1
goto :LOOP1
)
if not exist %DAY_LOOP% (
mkdir %DAY_LOOP%
icacls %DAY_LOOP% /grant Everyone:(f)
)
set CURRENT_DAY=day%M%
@echo %CURRENT_DAY%>%MEDIA_DIR%\curDay.txt
:LOOP2
set CURRENT_ROOM=%MEDIA_DIR%\%CURRENT_DAY%\%ROOM%\Team%N%
if exist %CURRENT_ROOM% (
set /a N = %N%+1
goto :LOOP2
)
if not exist %CURRENT_ROOM% (
mkdir %CURRENT_ROOM%
icacls %CURRENT_ROOM% /grant Everyone:(f)
)
cd %FFMPEG_DIR%
echo %CURRENT_ROOM%>%MEDIA_DIR%\%CURRENT_DAY%\%ROOM%\teamNo.txt
echo recording>%WEB_DIR%\srRecording.txt
start ffmpeg_sr -i rtsp://192.168.0.50:554/Streaming/Channels/1 -c:v copy -c:a libmp3lame -strict experimental "%CURRENT_ROOM%\1.mp4"
start ffmpeg_sr -i rtsp://192.168.0.51:554/Streaming/Channels/1 -c:v copy "%CURRENT_ROOM%\2.mp4"
start ffmpeg_sr -i rtsp://192.168.0.52:554/Streaming/Channels/1 -c:v copy "%CURRENT_ROOM%\3.mp4"
start ffmpeg_sr -i rtsp://192.168.0.21:554/Streaming/Channels/1 -c:v copy "%CURRENT_ROOM%\4.mp4"
start ffmpeg_sr -f dshow -i audio="Microphone (High Definition Audio Device)" -c:a libmp3lame -strict experimental "%CURRENT_ROOM%\0.mp3"
exitStoprecord.bat
taskkill /im ffmpeg_sr.exe /t
set WEB_DIR=c:\inetpub\wwwroot\estf\
set FFMPEG_DIR=C:\inetpub\wwwroot\ESTF\ffmpeg\bin\
echo stopped>%WEB_DIR%\srRecording.txt
set /p CURRENT_DAY=p CURRENT_ROOM= -i %CURRENT_ROOM%/0.mp3 -c:v copy -c:a copy -strict experimental -map 0:v:0 -map 1:a:0 %CURRENT_ROOM%/1.mp4
ffmpeg -i %CURRENT_ROOM%/1_temp.mp4 -c:v copy -c:a copy -strict experimental -map 0:v:0 -map 1:a:0 %CURRENT_ROOM%/1.mp4
REM del %CURRENT_ROOM%\1_temp.mp4
del %CURRENT_ROOM%\0.mp3
exitrecord.php
<?php
echo exec('whoami');
//$recordPath = 'c:\inetpub\wwwroot\estf\batch\srRecord.bat';
//exec('c:\inetpub\wwwroot\estf\batch\srRecord.bat');
$handle = popen('start c:\inetpub\wwwroot\estf\batch\srRecord.bat exit','r');
pclose($handle);
echo $handle;
?>stoprecord.php
<?php
//exec('c:\inetpub\wwwroot\estf\batch\srRecordStop.exe /dev/null');
$handle = popen('start c:\inetpub\wwwroot\estf\batch\srRecordStop.bat','r');
pclose($handle);
//die();
echo $handle;
?>I have tried exec(), pclose(popen()), shell_exec(), tried adding /dev/nul & to both the php file and ffmpeg in the batch file.
Regards,
Mitchell