
Recherche avancée
Autres articles (9)
-
Les vidéos
21 avril 2011, parComme les documents de type "audio", Mediaspip affiche dans la mesure du possible les vidéos grâce à la balise html5 .
Un des inconvénients de cette balise est qu’elle n’est pas reconnue correctement par certains navigateurs (Internet Explorer pour ne pas le nommer) et que chaque navigateur ne gère en natif que certains formats de vidéos.
Son avantage principal quant à lui est de bénéficier de la prise en charge native de vidéos dans les navigateur et donc de se passer de l’utilisation de Flash et (...) -
Les tâches Cron régulières de la ferme
1er décembre 2010, parLa gestion de la ferme passe par l’exécution à intervalle régulier de plusieurs tâches répétitives dites Cron.
Le super Cron (gestion_mutu_super_cron)
Cette tâche, planifiée chaque minute, a pour simple effet d’appeler le Cron de l’ensemble des instances de la mutualisation régulièrement. Couplée avec un Cron système sur le site central de la mutualisation, cela permet de simplement générer des visites régulières sur les différents sites et éviter que les tâches des sites peu visités soient trop (...) -
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 (3500)
-
mix two audio files fmpeg Android
21 mars 2016, par Adroid FreakI’m using ffmpeg for android and I’m trying to mix two audio files but I’m getting the following error
[NULL @ 0xb60c8c00] Unable to find a suitable output format for ' -filter_complex amerge -c:a libmp3lame -q:a 4 '
-filter_complex amerge -c:a libmp3lame -q:a 4 : Invalid argumentThis is the ffmpeg library details when
ffmpeg version n2.4.2 Copyright (c) 2000-2014 the FFmpeg developers
built on Dec 22 2014 21:35:30 with gcc 4.8 (GCC)
configuration: --target-os=linux --cross-prefix=/home/android/Downloads/ffmpeg-android-pie/toolchain-android/bin/arm-linux-androideabi- --arch=arm --cpu=cortex-a8 --enable-runtime-cpudetect --sysroot=/home/android/Downloads/ffmpeg-android-pie/toolchain-android/sysroot --enable-decoders --enable-encoders --enable-filters --disable-indevs --enable-indev=lavfi --disable-outdevs --enable-hwaccels --enable-ffmpeg --enable-pic --enable-libx264 --enable-version3 --disable-debug --disable-ffserver --disable-ffplay --disable-ffprobe --enable-gpl --enable-yasm --disable-doc --disable-shared --enable-static --pkg-config=/home/android/Downloads/ffmpeg-android-pie/ffmpeg-pkg-config --prefix=/home/android/Downloads/ffmpeg-android-pie/build/armeabi-v7a --extra-cflags='-I/home/android/Downloads/ffmpeg-android-pie/toolchain-android/include -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fno-strict-overflow -fstack-protector-all' --extra-ldflags='-L/home/android/Downloads/ffmpeg-android-pie/toolchain-android/lib -Wl,-z,relro -Wl,-z,now -pie' --extra-libs='-lpng -lexpat -lm' --extra-cxxflags=
libavutil 54. 7.100 / 54. 7.100
libavcodec 56. 1.100 / 56. 1.100
libavformat 56. 4.101 / 56. 4.101
libavdevice 56. 0.100 / 56. 0.100
libavfilter 5. 1.100 / 5. 1.100
libswscale 3. 0.100 / 3. 0.100
libswresample 1. 1.100 / 1. 1.100
libpostproc 53. 0.100 / 53. 0.100My function is this
public Clip mixTwoAudioFiles (String audio1, String audio2, Clip out, ShellCallback sc) throws Exception
{
ArrayList<string> cmd = new ArrayList<string>();
cmd.add(mFfmpegBin);
cmd.add("-y");
cmd.add("-i");
cmd.add(audio1);
cmd.add("-i");
cmd.add(audio2);
// cmd.add("-strict");
// cmd.add("-2");//experimental
cmd.add(" -filter_complex amerge -c:a libmp3lame -q:a 4 ");
File fileOut = new File(out.path);
cmd.add(fileOut.getCanonicalPath());
execFFMPEG(cmd, sc);
return out;
}
</string></string>and the output command is this
ffmpeg -y -i /storage/emulated/0/audio1.mp3 -i /storage/emulated/0/audio2.3gp -strict -2 -filter_complex amerge -c:a libmp3lame -q:a 4 /storage/emulated/0/out.mp4
Now as you can see above I don’t have libmp3lame enabled but it looks like the error above is not related to that, correct ?
I tried many other filter variations but all are failing with the same error, the questions I have are as follow :
1- Since I don't have libmp3lame, what is the next option? please note that mp3 is not mandatory here.
2- If it is possible can you please show me how? -
Recording view to videofile
4 février 2016, par Paul FreezI have a some kind of a Texture/Surfaceview where user can draw (lines, figures and so on) with gestures and I need to record everything he performed and save that to a videofile on storage.
At first, I was trying to use ffmpeg :
- Capture bitmaps(frames) of the specific view (using canvas)
- Save every bitmap to the storage in some folder
- Using ffmpeg compress all the saved images(frames) from the folder to the mp4 videofile.
That way didn’t work for me, because only 1 operation of getting bitmap from the view (not even saving it) would take about 60ms - so video has even less than 20fps. Plus I needed to save those frames/bitmaps on the device - with each image compressed to about 1Mb it would be needed to write more than 15Mb of images every second !
May be I’ve missed some other uproach to use ffmpeg in runtime while recording, but I haven’t find the way to do that.The second way I found was to record screen via own Android API-tools which were introduced in Android 5.0. But, first of all, I’m targeting Android 4.1 ; and second, - this uproach would only allow me to record whole screen with whole UI on it (and I needed only 1 specific view). Also, screen capturing is enabled somehow on Android 4.4, but it also requires root.
So, after all the researches I made, I’ve found very interesting on app - Coach’s Eye. It allows to draw figures on existing videos, and record all that (+ recording sound). And as far as I can see it captures not the whole screen with UI and stuff, but only the video and top layer with drawing canvas. So I’m curious is there any approach to do like in that app ?
My basic requirements are :
- Android 4.1
- No root
- Capture specific view
- 25fps or more
If you have any ideas of how this can be done, please feel free to share !
-
How to setup FFMPEGInterop to Use DRM playready
1er novembre 2019, par marinamovies32I am using FFMPEGInterop class to play UWP video. I need to play it with playready setup but am running into issues.
I can play playready with just mediaplayerelement and creating the protection manager, but when I create a FFMPEGMSS to stream it, than it fails. Says value is out of range when adding the protection manager to the MediaStreamSource.
var StreamSource = FFmpegMSS.GetMediaStreamSource();
var protectionManager = new Windows.Media.Protection.MediaProtectionManager();
Windows.Foundation.Collections.PropertySet cpSystems = new Windows.Foundation.Collections.PropertySet();
cpSystems.Add("{F4637010-03C3-42CD-B932-B48ADF3A6A54}", "Microsoft.Media.PlayReadyClient.PlayReadyWinRTTrustedInput"); //Playready
protectionManager.Properties.Add("Windows.Media.Protection.MediaProtectionSystemIdMapping", cpSystems);
protectionManager.Properties.Add("Windows.Media.Protection.MediaProtectionSystemId", "{F4637010-03C3-42CD-B932-B48ADF3A6A54}");
protectionManager.ServiceRequested += ProtectionManager_ServiceRequested;
protectionManager.ComponentLoadFailed += ProtectionManager_ComponentLoadFailed;
protectionManager.Properties.Add("Windows.Media.Protection.MediaProtectionContainerGuid", "{9A04F079-9840-4286-AB92-E65BE0885F95}");
var supportsHardwareDrm = PlayReadyStatics.CheckSupportedHardware(PlayReadyHardwareDRMFeatures.HardwareDRM);
if (!supportsHardwareDrm)
{
protectionManager.Properties["Windows.Media.Protection.UseSoftwareProtectionLayer"] = true;
}
Windows.Storage.ApplicationDataContainer localSettings = Windows.Storage.ApplicationData.Current.LocalSettings;
Header.Text = supportsHardwareDrm ? "SUPPORTED" : "NOT SUPPRTED";
StreamSource.MediaProtectionManager = protectionManager;
mediaElement.Source = MediaSource.CreateFromMediaStreamSource(StreamSource);I should be able to play playready DRM with a setup protection manager to start but down get any info on it so confused on the next step for it.