
Recherche avancée
Médias (3)
-
MediaSPIP Simple : futur thème graphique par défaut ?
26 septembre 2013, par
Mis à jour : Octobre 2013
Langue : français
Type : Video
-
GetID3 - Bloc informations de fichiers
9 avril 2013, par
Mis à jour : Mai 2013
Langue : français
Type : Image
-
GetID3 - Boutons supplémentaires
9 avril 2013, par
Mis à jour : Avril 2013
Langue : français
Type : Image
Autres articles (85)
-
L’agrémenter visuellement
10 avril 2011MediaSPIP est basé sur un système de thèmes et de squelettes. Les squelettes définissent le placement des informations dans la page, définissant un usage spécifique de la plateforme, et les thèmes l’habillage graphique général.
Chacun peut proposer un nouveau thème graphique ou un squelette et le mettre à disposition de la communauté. -
Websites made with MediaSPIP
2 mai 2011, parThis page lists some websites based on MediaSPIP.
-
Creating farms of unique websites
13 avril 2011, parMediaSPIP platforms can be installed as a farm, with a single "core" hosted on a dedicated server and used by multiple websites.
This allows (among other things) : implementation costs to be shared between several different projects / individuals rapid deployment of multiple unique sites creation of groups of like-minded sites, making it possible to browse media in a more controlled and selective environment than the major "open" (...)
Sur d’autres sites (11779)
-
PHP-FFMpeg Installation and Basic Usage on windows issue
7 mai 2017, par Mikyfollowing the README I installed PHP FFmpeg through Composer and I downloaded binaries from https://ffmpeg.zeranoe.com/builds/
now I’m trying to run the "Basic Usage" example :<?php
require("vendor/autoload.php");
$ffmpeg = FFMpeg\FFMpeg::create();
$video = $ffmpeg->open('video.mpg');
$video
->filters()
->resize(new FFMpeg\Coordinate\Dimension(320, 240))
->synchronize();
$video
->frame(FFMpeg\Coordinate\TimeCode::fromSeconds(10))
->save('frame.jpg');
$video
->save(new FFMpeg\Format\Video\X264(), 'export-x264.mp4')
->save(new FFMpeg\Format\Video\WMV(), 'export-wmv.wmv')
->save(new FFMpeg\Format\Video\WebM(), 'export-webm.webm');
?>but i receive "Executable not found" errors because I didn’t understand where to put them
I also tried specifying binaries ffmpeg.exe and ffprobe.exe with :
$ffmpeg = FFMpeg\FFMpeg::create(array(
'ffmpeg.binaries' => '/pathtobin/ffmpeg',
'ffprobe.binaries' => '/pathtobin/ffprobe',
'timeout' => 3600, // The timeout for the underlying process
'ffmpeg.threads' => 12 // The number of threads that FFMpeg should use
), $logger);but still same error... am I making a mountain out of a molehill ? any help is appreciated... Thanks
EDIT 1
I added ffmpeg\bin folder to system path and I can run executables from cmd from anywhere, but now I’m getting this error :
"Executable not found, proposed : avprobe, ffprobe"
...
instead, if I give binary paths explicitly, I get'ffprobe failed to execute command "C:/FFmpeg/bin/ffprobe.exe" "-help" "-loglevel" "quiet"'
what am I doing wrong ?
EDIT 2
web server config
- Windows 10 Pro
- IIS 10
- PHP 7.0.9
site root --->
C:\inetpub\wwwroot\site\
content :
index.php
input.mp4
vendor/ (PHP-FFMpeg library folder)
FFmpeg binaries --->
C:\inetpub\wwwroot\FFmpeg\
content :
ffmpeg.exe
ffplay.exe
ffprobe.exe
index.php
<?php
ini_set('display_errors', 'On'); error_reporting(E_ALL);
require("vendor/autoload.php");
$ffmpeg = FFMpeg\FFMpeg::create(array(
'ffmpeg.binaries' => 'C:/inetpub/wwwroot/FFmpeg/ffmpeg.exe',
'ffprobe.binaries' => 'C:/inetpub/wwwroot/FFmpeg/ffprobe.exe',
'timeout' => 3600, // The timeout for the underlying process
'ffmpeg.threads' => 12, // The number of threads that FFMpeg should use
));
$video = $ffmpeg->open('input.mp4');
?>result
Fatal error: Uncaught Alchemy\BinaryDriver\Exception\ExecutionFailureException: ffprobe failed to execute command "C:/inetpub/wwwroot/FFmpeg/ffprobe.exe" "-help" "-loglevel" "quiet" in C:\inetpub\wwwroot\site\vendor\alchemy\binary-driver\src\Alchemy\BinaryDriver\ProcessRunner.php:100 Stack trace: #0 C:\inetpub\wwwroot\site\vendor\alchemy\binary-driver\src\Alchemy\BinaryDriver\ProcessRunner.php(72): Alchemy\BinaryDriver\ProcessRunner->doExecutionFailure('"C:/inetpub/www...') #1 C:\inetpub\wwwroot\site\vendor\alchemy\binary-driver\src\Alchemy\BinaryDriver\AbstractBinary.php(209): Alchemy\BinaryDriver\ProcessRunner->run(Object(Symfony\Component\Process\Process), Object(SplObjectStorage), false) #2 C:\inetpub\wwwroot\site\vendor\alchemy\binary-driver\src\Alchemy\BinaryDriver\AbstractBinary.php(137): Alchemy\BinaryDriver\AbstractBinary->run(Object(Symfony\Component\Process\Process), false, NULL) #3 C:\inetpub\wwwroot\site\vendor\php-ffmpeg\php-ffmpeg\src\FFMpeg\FFProbe\OptionsTester.php(61): Alchemy\Binary in C:\inetpub\wwwroot\site\vendor\php-ffmpeg\php-ffmpeg\src\FFMpeg\FFProbe\OptionsTester.php on line 63
- Windows 10 Pro
-
FFMPEG : how to select audio stream without language metadata
2 décembre 2020, par rioflyI have some source Video files with one or more audio streams inside.

I would to encode each source file with Italian language. Then I can do it.

ffmpeg -i source-file.avi -c:v ... -c:a ... -map 0:a:m:language:ita ...



But some source file has audio stream without Language metadata.

I look that it is possible to set Language metadata with "und" special value. Then I try to select the audio stream with this command :

ffmpeg -i source-file.avi -c:v ... -c:a ... -map 0:a:m:language:ita? -map 0:a:m:language:und? ...



(the " ?" char say to ffmpeg that he do not fire exception if the audio stream do not exists).

Unfortunatelly this command do not works... It seems that ffmpeg search the "und" language instead of search a audio stream "without" language.

Video MetaData


This is the video MetaData where audio stream do not have language value :


Input #0, matroska,webm, from 'D:\My-Video.mkv':
 Metadata:
 title : My-Video
 encoder : libebml v1.3.3 + libmatroska v1.4.4
 creation_time : 2016-01-20T16:02:03.000000Z
 Duration: 01:15:28.93, start: 0.000000, bitrate: 2775 kb/s
 Stream #0:0: Video: h264 (High), yuv420p(progressive), 720x576 [SAR 64:45 DAR 16:9], 25 fps, 25 tbr, 1k tbn, 50 tbc (default)
 Metadata:
 BPS : 2387529
 BPS-eng : 2387529
 DURATION : 01:15:28.920000000
 DURATION-eng : 01:15:28.920000000
 NUMBER_OF_FRAMES: 113223
 NUMBER_OF_FRAMES-eng: 113223
 NUMBER_OF_BYTES : 1351616420
 NUMBER_OF_BYTES-eng: 1351616420
 _STATISTICS_WRITING_APP: mkvmerge v8.7.0 ('All of the above') 64bit
 _STATISTICS_WRITING_APP-eng: mkvmerge v8.7.0 ('All of the above') 64bit
 _STATISTICS_WRITING_DATE_UTC: 2016-01-20 16:02:03
 _STATISTICS_WRITING_DATE_UTC-eng: 2016-01-20 16:02:03
 _STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
 _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
 Stream #0:1: Audio: ac3, 48000 Hz, 5.1(side), fltp, 384 kb/s (default)
 Metadata:
 BPS : 384000
 BPS-eng : 384000
 DURATION : 01:15:28.928000000
 DURATION-eng : 01:15:28.928000000
 NUMBER_OF_FRAMES: 141529
 NUMBER_OF_FRAMES-eng: 141529
 NUMBER_OF_BYTES : 217388544
 NUMBER_OF_BYTES-eng: 217388544
 _STATISTICS_WRITING_APP: mkvmerge v8.7.0 ('All of the above') 64bit
 _STATISTICS_WRITING_APP-eng: mkvmerge v8.7.0 ('All of the above') 64bit
 _STATISTICS_WRITING_DATE_UTC: 2016-01-20 16:02:03
 _STATISTICS_WRITING_DATE_UTC-eng: 2016-01-20 16:02:03
 _STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
 _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
 Stream #0:2(ita): Subtitle: dvd_subtitle, 720x576 (default)
 Metadata:
 BPS : 2218
 BPS-eng : 2218
 DURATION : 01:09:57.232000000
 DURATION-eng : 01:09:57.232000000
 NUMBER_OF_FRAMES: 965
 NUMBER_OF_FRAMES-eng: 965
 NUMBER_OF_BYTES : 1163769
 NUMBER_OF_BYTES-eng: 1163769
 _STATISTICS_WRITING_APP: mkvmerge v8.7.0 ('All of the above') 64bit
 _STATISTICS_WRITING_APP-eng: mkvmerge v8.7.0 ('All of the above') 64bit
 _STATISTICS_WRITING_DATE_UTC: 2016-01-20 16:02:03
 _STATISTICS_WRITING_DATE_UTC-eng: 2016-01-20 16:02:03
 _STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
 _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES



Can someone help me ?

Thanks !

-
Flutter record front facing camera at exact same time as playing video
27 novembre 2020, par xceedI've been playing around with Flutter and trying to get it so I can record the front facing camera (using the camera plugin [https://pub.dev/packages/camera]) as well as playing a video to the user (using the video_player plugin [https://pub.dev/packages/video_player]).


Next I use ffmpeg to horizontally stack the videos together. This all works fine but when I play back the final output there is a slight delay when listening to the audio. I'm calling
Future.wait([cameraController.startVideoRecording(filePath), videoController.play()]);
but there is a slight delay in these tasks actually starting. I don't even need them to fire at the exact same time (which I'm realising is probably impossible), instead if I knew exactly when each of the tasks begun then I can use the time difference to sync the audio using ffmpeg or similar.

I've tried adding a listener on the videoController to see when isPlaying first returns true, and also watching the output directory for when the recorded video appears on the filesystem :


listener = () {
 if (videoController.value.isPlaying) {
 isPlaying = DateTime.now().microsecondsSinceEpoch;
 log('isPlaying '+isPlaying.toString());
 }
 videoController.removeListener(listener);
 };
 videoController.addListener(listener);

 var watcher = DirectoryWatcher('${extDir.path}/');
 watcher.events.listen((event) {
 if (event.type == ChangeType.ADD) {
 fileAdded = DateTime.now().microsecondsSinceEpoch;
 log('added '+fileAdded.toString());
 }
 });



Then likewise for checking if the camera is recording :


var listener;
 listener = () {
 if (cameraController.value.isRecordingVideo) {
 log('isRecordingVideo '+DateTime.now().microsecondsSinceEpoch.toString());
 //cameraController.removeListener(listener);
 }
 };
 cameraController.addListener(listener);



This results in (for example) the following order and microseconds for each event :


is playing: 1606478994797247
is recording: 1606478995492889 (695642 microseconds later)
added: 1606478995839676 (346787 microseconds later)



However, when I play back the video the syncing is off by approx 0.152 seconds so doesn't marry up to the time differences reported above.


Does anyone have any idea how I could accomplish near perfect syncing when combining 2 videos ? Thanks.