
Recherche avancée
Autres articles (45)
-
Qu’est ce qu’un éditorial
21 juin 2013, parEcrivez votre de point de vue dans un article. Celui-ci sera rangé dans une rubrique prévue à cet effet.
Un éditorial est un article de type texte uniquement. Il a pour objectif de ranger les points de vue dans une rubrique dédiée. Un seul éditorial est placé à la une en page d’accueil. Pour consulter les précédents, consultez la rubrique dédiée.
Vous pouvez personnaliser le formulaire de création d’un éditorial.
Formulaire de création d’un éditorial Dans le cas d’un document de type éditorial, les (...) -
Contribute to translation
13 avril 2011You can help us to improve the language used in the software interface to make MediaSPIP more accessible and user-friendly. You can also translate the interface into any language that allows it to spread to new linguistic communities.
To do this, we use the translation interface of SPIP where the all the language modules of MediaSPIP are available. Just subscribe to the mailing list and request further informantion on translation.
MediaSPIP is currently available in French and English (...) -
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 (...)
Sur d’autres sites (4784)
-
Can't record full screen using FFMEG Video File Writer - C#
2 avril 2019, par nsdsMy app need to record entire screen as video. For that I have installed
AForge.Video.FFMPEG
and did like below. Now I can record the screen. But some bottom area and right end area of screen is missing. Can anyone suggest what causes the issue ? I want to record the entire screen.
SystemInformation.VirtualScreen
is used to calculate screen size. it is getting as 1536*864
private ScreenCaptureStream _streamVideo;
private VideoFileWriter _Screenwriter;
private Rectangle _screenArea;
private bool _isScreenRecording;
private int _Screenwidth;
private int _Screenheight;
public RecordVideo()
{
InitializeComponent();
this._Screenwriter = new VideoFileWriter();
this._Screenwidth = SystemInformation.VirtualScreen.Width;
this._Screenheight = SystemInformation.VirtualScreen.Height;
this._isScreenRecording = false;
this._screenArea = Rectangle.Empty;
}
private void btn_startRecord_Click(object sender, EventArgs e)
{
try
{
if (btn_screenRecord.Text == "Record")
{
FolderBrowserDialog fbd = new FolderBrowserDialog();
if (fbd.ShowDialog() == DialogResult.OK)
{
_isScreenRecording = true;
this.StartRecScreen(fbd.SelectedPath);
}
}
else
{
_isScreenRecording = false;
btn_screenRecord.Text = "Record";
MessageBox.Show(@"Recorded !");
}
}
catch (Exception EX)
{ MessageBox.Show(EX.Message); }
}
private void StartRecScreen(string path)
{
btn_screenRecord.Text = "Stop";
this.SetScreenArea();
_isRecording = true;
string fullName = string.Format(@"{0}\{1}_{2}.mp4", path, "Record_", DateTime.Now.ToString("d_MMM_yyyy_HH_mm_ssff"));
// Save File option
_Screenwriter.Open(
fullName,
this._Screenwidth,
this._Screenheight,
10, VideoCodec.MPEG4, 1000000);
// create screen capture video source
this._streamVideo = new ScreenCaptureStream(this._screenArea);
// set NewFrame event handler
this._streamVideo.NewFrame += new NewFrameEventHandler(this.video_NewScreenFrame);
// start the video source
this._streamVideo.Start();
}
private void video_NewScreenFrame(object sender, NewFrameEventArgs eventArgs)
{
if (this._isScreenRecording)
{
this._Screenwriter.WriteVideoFrame(eventArgs.Frame);
}
else
{
_streamVideo.SignalToStop();
_Screenwriter.Close();
}
}
private void SetScreenArea()
{
// get entire desktop area size
foreach (Screen screen in Screen.AllScreens)
{
this._screenArea = Rectangle.Union(_screenArea, screen.Bounds);
}
} -
How to record sound/audio via FFmpeg, Alsa, PulseAudio or Sox without a soundcard (using the commandline)
13 avril 2019, par Heart Of A LionI’m trying to record audio on an Ubuntu server that has no soundcard or any other audio device. When I use the following Alsa command to list any audio devices, then it can’t find any devices.
arecord -l
I’ve tried recording/capturing audio using the following packages, but because there is no soundcard they all fail to record any audio :
ffmpeg, alsa, pulseaudio, sox
Now it should be possible to record sound on a server that has no soundcard, as some people have managed to do it. The question is how.
Can someone give a step by step commandline walk-through of how to do this on an Ubuntu server, so that audio can be recorded on the server using any of the above-mentioned packages ?
-
FFMPEG PHP enter command lines ?
3 mai 2019, par RobertYou will have to excuse me I have been spending the past 2 days reading through old FFMPEG posts for an answer but did little but confuse myself.
It seems from what I read FFMPEG-PHP wrappers aren’t supported anymore ??? and to be honest they don’t seem like the proper way of learning how to incorporate it with PHP as there is a whole lot more help for command line FFMPEG usage and the FFMPEG-PHP wrapper usage looks nothing like the command line as far as I can tell.So I have 2 questions on using ffmpeg with PHP. So we are on the same page I posted a little info below.
I downloaded FFMPEG static for windows 64bit.
I then ran (in composer)$ composer require php-ffmpeg/php-ffmpeg
in my vendor folder i have the following path.
vendor\ffmpeg-20190429-ac551c5-win64-static\bin
if I open the command prompt in that folder and type FFMPEG I get.
ffmpeg version N-93710-gac551c54b1 Copyright (c) 2000-2019 the FFmpeg
developers
built with gcc 8.3.1 (GCC) 20190414
configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-
fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-
libdav1d --enable-libbluray --enable-libfreetype --enable-libmp3lame --
enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg
--enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --
enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack
--enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --
enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-
libvidstab --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa
--enable-libspeex --enable-libxvid --enable-libaom --enable-libmfx --
enable-amf --enable-ffnvcodec --enable-cuvid --enable-d3d11va --enable-
nvenc --enable-nvdec --enable-dxva2 --enable-avisynth --enable-libopenmpt
libavutil 56. 26.100 / 56. 26.100
libavcodec 58. 52.100 / 58. 52.100
libavformat 58. 27.103 / 58. 27.103
libavdevice 58. 7.100 / 58. 7.100
libavfilter 7. 50.100 / 7. 50.100
libswscale 5. 4.100 / 5. 4.100
libswresample 3. 4.100 / 3. 4.100
libpostproc 55. 4.100 / 55. 4.100
Hyper fast Audio and Video encoder
usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}...So I’m pretty sure FFMPEG is installed which was my goal.
Now on my PHP side here is where I am at, and I’m not sure how this works.
1ST QUESTION. Do I need to save my $_POST files to the drive before manipulating them ? Or can I use the $file and $filep as is ? I don’t really want to store those files, only the output.
My SLIM code.
$app->post('/telestrator', function(Request $request, Response $response)
{
$response = array();
if (isset ($_POST['ID']) && ($_POST['position']) && $_FILES['video']
['error'] === UPLOAD_ERR_OK && $_FILES['image']['error'] ===
UPLOAD_ERR_OK) {
$file = $_FILES['video']['tmp_name'];
$filep = $_FILES['image']['tmp_name'];
$time = $_POST['position'];
$position = msToTime($time);
$filetime = round(microtime(true) * 1000);
$outputfolder = 'teletemp/';
$ID = $_POST['ID'];
$tempvid = $ID . 'tempvid' . 'mp4';
$finalvid = $ID . $filetime . 'mp4';
$ffmpegpath = "public/ffmpeg.exe";
echo "Starting ffmpeg...\n\n";
echo shell_exec("$ffmpegpath -loop 1 -i $filep -c:v libx264 -t 3 -pix_fmt
yuv420p \"$outputfolder.\" $tempvid /");
echo shell_exec("$ffmpegpath -i $file -t $position -c copy
\"$outputfolder\"
small-1.mp4 -ss $position -codec copy \"$outputfolder\" small-2.mp4 ");
echo shell_exec("$ffmpegpath -i small-1.mp4 -i $tempvid.mp4 -i small-
2.mp4 \
-filter_complex \"[0:v:0][1:v:0][2:v:0]concat=n=3:v=1:a=1[outv]\" \
-map \"[outv]\" $finalvid" );
echo "Done.\n";
$upload = new videouploads();
$desc = 'telestrated video for ' . $ID . $filetime;
$ID = $_POST['ID'];
if ($upload->saveVideoFile($finalvid, getFileExtension($finalvid),
$desc, $ID)) {
$response['error'] = false;
$response['message'] = 'File Uploaded Successfullly';
}
else {
$response['error'] = true;
$response['message'] = 'Required parameters are not available';
}
echo json_encode($response);
}
});
function getFileExtension($file)
{
$path_parts = pathinfo($file);
return $path_parts['extension'];
}
function msToTime($duration) {
$seconds = floor($duration / 1000);
$minutes = floor($seconds / 60);
$hours = floor($minutes / 60);
$milliseconds = $duration % 1000;
$seconds = $seconds % 60;
$minutes = $minutes % 60;
$format = '%02u:%02u:%02u.%03u';
$time = sprintf($format, $hours, $minutes, $seconds, $milliseconds);
return rtrim($time, '0');
}so it’s not running here is my postman. How do I get it to actually run the FFMPEG.
Starting ffmpeg...
Done.
<br />
<b>Notice</b>: Undefined index: extension in
<b>C:\xampp\htdocs\Pathways\public\index.php</b> on line
<b>14741</b>
<br />
{"error":false,"message":"File Uploaded Successfullly"}