
Recherche avancée
Autres articles (38)
-
Support audio et vidéo HTML5
10 avril 2011MediaSPIP utilise les balises HTML5 video et audio pour la lecture de documents multimedia en profitant des dernières innovations du W3C supportées par les navigateurs modernes.
Pour les navigateurs plus anciens, le lecteur flash Flowplayer est utilisé.
Le lecteur HTML5 utilisé a été spécifiquement créé pour MediaSPIP : il est complètement modifiable graphiquement pour correspondre à un thème choisi.
Ces technologies permettent de distribuer vidéo et son à la fois sur des ordinateurs conventionnels (...) -
HTML5 audio and video support
13 avril 2011, parMediaSPIP uses HTML5 video and audio tags to play multimedia files, taking advantage of the latest W3C innovations supported by modern browsers.
The MediaSPIP player used has been created specifically for MediaSPIP and can be easily adapted to fit in with a specific theme.
For older browsers the Flowplayer flash fallback is used.
MediaSPIP allows for media playback on major mobile platforms with the above (...) -
De l’upload à la vidéo finale [version standalone]
31 janvier 2010, parLe chemin d’un document audio ou vidéo dans SPIPMotion est divisé en trois étapes distinctes.
Upload et récupération d’informations de la vidéo source
Dans un premier temps, il est nécessaire de créer un article SPIP et de lui joindre le document vidéo "source".
Au moment où ce document est joint à l’article, deux actions supplémentaires au comportement normal sont exécutées : La récupération des informations techniques des flux audio et video du fichier ; La génération d’une vignette : extraction d’une (...)
Sur d’autres sites (3686)
-
ffmpeg video conversion creates empty file when using php's exec()
23 juillet 2014, par Rob Avery IVWhen I run
ffmpeg
with PHP’sexec()
function to convert a video to flv, the flv file ends up empty. Here is the code I have that does the conversion :// Set our source file
$srcFile = "/path/to/file/".$filename."mp4";
$destFile = "/path/to/file/".$filename;
$ffmpegPath = "ffmpeg";
// Create our FFMPEG-PHP class
$ffmpegObj = new ffmpeg_movie($srcFile);
// Save our needed variables
$srcWidth = makeMultipleTwo($ffmpegObj->getFrameWidth());
$srcHeight = makeMultipleTwo($ffmpegObj->getFrameHeight());
$srcFPS = $ffmpegObj->getFrameRate();
$srcAB = intval($ffmpegObj->getAudioBitRate()/1000);
$srcAR = $ffmpegObj->getAudioSampleRate();
// Call our convert using exec()
$command = $ffmpegPath . " -i " . $srcFile . " -ar " . $srcAR . " -ab " . $srcAB . "k -f flv -s " . $srcWidth . "x" . $srcHeight . " " . $destFile . "> /dev/null 2>/dev/null &";
exec($command);Before I execute the code above, I have an mp4 file this is uploaded which is the one mentioned in the variable
$srcFile
. when uploaded, that file is not empty and I am to use it like a normal video file.Afterwards, there will be both
filename.mp4
andfilename
(formated toflv
video. yes, I’ve tried giving it an .flv extension and nothing different happens) files.filename
ends up empty. To make sure it’s running the right command, I did anvar_dump($command)
to see the command that was actually running. I got this result :ffmpeg -i /path/to/file/filename.mp4 -ar 44100 -ab 70k -f flv -s 640x480 /path/to/file/filename
I then run
exec()
function like this$output = "";
exec($command, $output);
var_dump($output);and like this
$output = exec($command);
var_dump($output);Both times,
$output
is presented as an empty array. Then, I run theffmpeg
command mentioned above through command line. And it worked. It created the flv file and it wasn’t empty and I was able to use as a regular video file with no problems.I also tried adding
> /dev/null 2>/dev/null &
at the end of the command and it still didn’t work.To sum up, so far, when
ffmpeg
is used to convert videos with php’sexec()
, it creates the converted as an empty. Though, if I was to take the same command used withexec()
and use it through command line, it works perfectly fine.I’m stumped. I’ve been tackling this for days and haven’t really gotten anywhere. Where I going wrong ? Is there a different or better way of doing this ? Am I missing something ?
-
Hello i need a some istructions to use ffmpeg, I would like a code to get media file info
16 juillet 2014, par user3547175I want to start by saying that i don’t know how to use FFMPEG in C#. I have a program that reads the information of a media file, I use this code about resolution, bitrate
var player = new WindowsMediaPlayer();
var clip = player.newMedia(file.FullName);
lblLenght_.Text = (TimeSpan.FromSeconds(clip.duration)).ToString();
ShellFile shellFile = ShellFile.FromFilePath(file.FullName);
lblFPS_.Text = (shellFile.Properties.System.Video.FrameRate.Value / 1000).ToString();
lblHeight_.Text = shellFile.Properties.System.Video.FrameHeight.Value.ToString() + " px";
lblWidth_.Text = shellFile.Properties.System.Video.FrameWidth.Value.ToString() + " px";
lblResolution_.Text = shellFile.Properties.System.Video.FrameWidth.Value.ToString() + "x" + shellFile.Properties.System.Video.FrameHeight.Value.ToString() + " px";
blBitrate_.Text = (shellFile.Properties.System.Video.TotalBitrate.Value / 1000).ToString() + " kb/s";but the problem is that
ShellFile
supports only a few formats, so I found some FFMPEG uses but I don’t know how to work with it. Can someone post the solution or some link to learn how to use it about my problem ? -
FFmpeg throws exception while process the commands
4 juin 2014, par Arslan AhmadI am executing commands through process but it always throw this error anyone help me ?
FFMPEGCommand :
String[] ffmpegCommand = {"/data/data/com.example.app/ffmpeg", "-r", ""+VIDEO_FRAME_RATE, "-b", "1000", "-vcodec", "mjpeg", "-i", Environment.getExternalStorageDirectory().getPath() + "/com.example.app/frame_%05d.jpg", Environment.getExternalStorageDirectory().getPath() + "/video.mov"};
ffmpegProcess = new ProcessBuilder(ffmpegCommand).redirectErrorStream(true).start();
W/System.err(29844): java.io.IOException: Error running exec(). Command: [/data/data/com.example.app/ffmpeg, -r, 18, -b, 1000, -vcodec, mjpeg, -i, /storage/emulated/0/com.example.app/frame_%05d.jpg, /storage/emulated/0/video.mov] Working Directory: null Environment: [ANDROID_ROOT=/system, EMULATED_STORAGE_SOURCE=/mnt/shell/emulated, LOOP_MOUNTPOINT=/mnt/obb, EMULATED_STORAGE_TARGET=/storage/emulated, ANDROID_BOOTLOGO=1, LD_LIBRARY_PATH=/vendor/lib:/system/lib, EXTERNAL_STORAGE=/storage/emulated/legacy, ANDROID_SOCKET_zygote=11, ANDROID_DATA=/data, PATH=/sbin:/vendor/bin:/system/sbin:/system/bin:/system/xbin, ANDROID_ASSETS=/system/app, ASEC_MOUNTPOINT=/mnt/asec, BOOTCLASSPATH=/system/framework/core.jar:/system/framework/conscrypt.jar:/system/framework/okhttp.jar:/system/framework/core-junit.jar:/system/framework/bouncycastle.jar:/system/framework/ext.jar:/system/framework/framework.jar:/system/framework/framework2.jar:/system/framework/telephony-common.jar:/system/framework/voip-common.jar:/system/framework/mms-common.jar:/system/framework/android.policy.jar:/system/framework/services.jar:/system/framework/apache-xml.jar:/system/framework/webviewchromium.jar:/system/framework/oem-services.jar:/system/framework/qcmediaplayer.jar, ANDROID_PROPERTY_WORKSPACE=9,0, ANDROID_STORAGE=/storage]
06-02 12:21:36.660: W/System.err(29844): at java.lang.ProcessManager.exec(ProcessManager.java:211)
06-02 12:21:36.660: W/System.err(29844): at java.lang.ProcessBuilder.start(ProcessBuilder.java:195)
06-02 12:21:36.662: W/System.err(29844): at com.example.app.FFMPEGRecorderActivity$ProcessVideo.doInBackground(FFMPEGRecorderActivity.java:1448)
06-02 12:21:36.662: W/System.err(29844): at com.example.app.FFMPEGRecorderActivity$ProcessVideo.doInBackground(FFMPEGRecorderActivity.java:1)
06-02 12:21:36.662: W/System.err(29844): at android.os.AsyncTask$2.call(AsyncTask.java:288)
06-02 12:21:36.663: W/System.err(29844): at java.util.concurrent.FutureTask.run(FutureTask.java:237)
06-02 12:21:36.663: W/System.err(29844): at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231)
06-02 12:21:36.663: W/System.err(29844): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
06-02 12:21:36.663: W/System.err(29844): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
06-02 12:21:36.663: W/System.err(29844): at java.lang.Thread.run(Thread.java:841)
06-02 12:21:36.664: W/System.err(29844): Caused by: java.io.IOException: No such file or directory
06-02 12:21:36.665: W/System.err(29844): at java.lang.ProcessManager.exec(Native Method)
06-02 12:21:36.666: W/System.err(29844): at java.lang.ProcessManager.exec(ProcessManager.java:209)
06-02 12:21:36.667: W/System.err(29844): ... 9 more