
Recherche avancée
Médias (1)
-
Video d’abeille en portrait
14 mai 2011, par
Mis à jour : Février 2012
Langue : français
Type : Video
Autres articles (86)
-
MediaSPIP v0.2
21 juin 2013, parMediaSPIP 0.2 est la première version de MediaSPIP stable.
Sa date de sortie officielle est le 21 juin 2013 et est annoncée ici.
Le fichier zip ici présent contient uniquement les sources de MediaSPIP en version standalone.
Comme pour la version précédente, il est nécessaire d’installer manuellement l’ensemble des dépendances logicielles sur le serveur.
Si vous souhaitez utiliser cette archive pour une installation en mode ferme, il vous faudra également procéder à d’autres modifications (...) -
XMP PHP
13 mai 2011, parDixit Wikipedia, XMP signifie :
Extensible Metadata Platform ou XMP est un format de métadonnées basé sur XML utilisé dans les applications PDF, de photographie et de graphisme. Il a été lancé par Adobe Systems en avril 2001 en étant intégré à la version 5.0 d’Adobe Acrobat.
Étant basé sur XML, il gère un ensemble de tags dynamiques pour l’utilisation dans le cadre du Web sémantique.
XMP permet d’enregistrer sous forme d’un document XML des informations relatives à un fichier : titre, auteur, historique (...) -
Configuration spécifique pour PHP5
4 février 2011, parPHP5 est obligatoire, vous pouvez l’installer en suivant ce tutoriel spécifique.
Il est recommandé dans un premier temps de désactiver le safe_mode, cependant, s’il est correctement configuré et que les binaires nécessaires sont accessibles, MediaSPIP devrait fonctionner correctement avec le safe_mode activé.
Modules spécifiques
Il est nécessaire d’installer certains modules PHP spécifiques, via le gestionnaire de paquet de votre distribution ou manuellement : php5-mysql pour la connectivité avec la (...)
Sur d’autres sites (10319)
-
Unable to properly save video in android ffmpeg app
22 mars 2021, par connor449I am trying to record and save a video with an ffmpeg app on android 10. I'm very new to android/mobile development.


Here is my manifest file :


<?xml version="1.0" encoding="utf-8"?>
<manifest package="com.example.camera">
 
 
 

 


 
 <activity>
 
 
 </activity> <activity>
 
 <action></action>

 <category></category>
 
 </activity>
 


</manifest>



As you can see, I am specifying permission to read/write data.


Here is my mainActivity :


package com.example.camera

//import android.R
import android.content.DialogInterface
import android.content.pm.PackageManager
import android.os.Build
import android.os.Bundle
import android.widget.Toast
import androidx.appcompat.app.AlertDialog
import androidx.appcompat.app.AppCompatActivity
import androidx.core.app.ActivityCompat
import androidx.core.content.ContextCompat
import com.arthenica.mobileffmpeg.FFmpeg


const val EXTRA_MESSAGE = "com.example.myfirstapp.MESSAGE"

class MainActivity : AppCompatActivity() {
 override fun onCreate(savedInstanceState: Bundle?) {
 super.onCreate(savedInstanceState)
 setContentView(R.layout.activity_main)
 if (checkPermission()) {
 //main logic or main code
 FFmpeg.execute("-f android_camera -i 0:0 -r 30 -crf 0 -pixel_format yuv420p -t 00:00:05 test.mp4")

 // . write your main code to execute, It will execute if the permission is already given.
 } else {
 requestPermission()
 }
 }

 fun sendMessage(view:android.view.View){


 }

 private fun checkPermission(): Boolean {
 return if (ContextCompat.checkSelfPermission(this, android.Manifest.permission.CAMERA)
 != PackageManager.PERMISSION_GRANTED
 ) {
 // Permission is not granted
 false
 } else true
 }

 private fun requestPermission() {
 ActivityCompat.requestPermissions(
 this, arrayOf(android.Manifest.permission.CAMERA),
 PERMISSION_REQUEST_CODE
 )
 }

 override fun onRequestPermissionsResult(
 requestCode: Int,
 permissions: Array<string>,
 grantResults: IntArray
 ) {
 when (requestCode) {
 PERMISSION_REQUEST_CODE -> if (grantResults.size > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED
 ) {
 Toast.makeText(applicationContext, "Permission Granted", Toast.LENGTH_SHORT)
 .show()

 // main logic
 } else {
 Toast.makeText(applicationContext, "Permission Denied", Toast.LENGTH_SHORT)
 .show()
 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
 if (ContextCompat.checkSelfPermission(this, android.Manifest.permission.CAMERA)
 != PackageManager.PERMISSION_GRANTED
 ) {
 showMessageOKCancel("You need to allow access permissions",
 DialogInterface.OnClickListener { dialog, which ->
 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
 requestPermission()
 }
 })
 }
 }
 }
 }
 }

 private fun showMessageOKCancel(
 message: String,
 okListener: DialogInterface.OnClickListener
 ) {
 AlertDialog.Builder(this@MainActivity)
 .setMessage(message)
 .setPositiveButton("OK", okListener)
 .setNegativeButton("Cancel", null)
 .create()
 .show()
 }

 companion object {
 private const val PERMISSION_REQUEST_CODE = 200
 }
}

</string>


Here is my error message in the logs :


2021-03-22 16:31:34.509 9365-9448/com.example.camera I/AdrenoGLES: QUALCOMM build : 85037b7, I6e8b82193e
 Build Date : 12/19/19
 OpenGL ES Shader Compiler Version: EV031.27.05.03
 Local Branch : 
 Remote Branch : refs/tags/AU_LINUX_ANDROID_LA.UM.8.11.R1.10.00.00.576.016
 Remote Branch : NONE
 Reconstruct Branch : NOTHING
2021-03-22 16:31:34.509 9365-9448/com.example.camera I/AdrenoGLES: Build Config : S P 8.0.12 AArch64
2021-03-22 16:31:34.512 9365-9448/com.example.camera I/AdrenoGLES: PFP: 0x016ee187, ME: 0x00000000
2021-03-22 16:31:55.745 9365-9480/com.example.camera I/mobile-ffmpeg: ffmpeg version v4.4-dev-416
2021-03-22 16:31:55.745 9365-9480/com.example.camera I/mobile-ffmpeg: Copyright (c) 2000-2020 the FFmpeg developers
2021-03-22 16:31:55.746 9365-9480/com.example.camera I/mobile-ffmpeg: built with Android (6454773 based on r365631c2) clang version 9.0.8 (https://android.googlesource.com/toolchain/llvm-project 98c855489587874b2a325e7a516b99d838599c6f) (based on LLVM 9.0.8svn)
2021-03-22 16:31:55.746 9365-9480/com.example.camera I/mobile-ffmpeg: configuration: --cross-prefix=aarch64-linux-android- --sysroot=/files/android-sdk/ndk/21.3.6528147/toolchains/llvm/prebuilt/linux-x86_64/sysroot --prefix=/home/taner/Projects/mobile-ffmpeg/prebuilt/android-arm64/ffmpeg --pkg-config=/usr/bin/pkg-config --enable-version3 --arch=aarch64 --cpu=armv8-a --cc=aarch64-linux-android24-clang --cxx=aarch64-linux-android24-clang++ --extra-libs='-L/home/taner/Projects/mobile-ffmpeg/prebuilt/android-arm64/cpu-features/lib -lndk_compat' --target-os=android --enable-neon --enable-asm --enable-inline-asm --enable-cross-compile --enable-pic --enable-jni --enable-optimizations --enable-swscale --enable-shared --enable-v4l2-m2m --disable-outdev=fbdev --disable-indev=fbdev --enable-small --disable-openssl --disable-xmm-clobber-test --disable-debug --enable-lto --disable-neon-clobber-test --disable-programs --disable-postproc --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --disable-sndio --disable-schannel --disable-securetransport --disable-xlib --disable-cuda --disable-cuvid --disable-nvenc --disable-vaapi --disable-vdpau --disable-videotoolbox --disable-audiotoolbox --disable-appkit --disable-alsa --disable-cuda --disable-cuvid --disable-nvenc --disable-vaapi --disable-vdpau --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-gmp --enable-gnutls --enable-libmp3lame --enable-libass --enable-iconv --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libxml2 --enable-libopencore-amrnb --enable-libshine --enable-libspeex --enable-libwavpack --enable-libkvazaar --enable-libilbc --enable-libopus --enable-libsnappy --enable-libsoxr --enable-libaom --enable-libtwolame --disable-sdl2 --enable-libvo-amrwbenc --enable-zlib --enable-mediacodec
2021-03-22 16:31:55.746 9365-9480/com.example.camera I/mobile-ffmpeg: libavutil 56. 55.100 / 56. 55.100
2021-03-22 16:31:55.746 9365-9480/com.example.camera I/mobile-ffmpeg: libavcodec 58. 96.100 / 58. 96.100
2021-03-22 16:31:55.746 9365-9480/com.example.camera I/mobile-ffmpeg: libavformat 58. 48.100 / 58. 48.100
2021-03-22 16:31:55.746 9365-9480/com.example.camera I/mobile-ffmpeg: libavdevice 58. 11.101 / 58. 11.101
2021-03-22 16:31:55.746 9365-9480/com.example.camera I/mobile-ffmpeg: libavfilter 7. 87.100 / 7. 87.100
2021-03-22 16:31:55.746 9365-9480/com.example.camera I/mobile-ffmpeg: libswscale 5. 8.100 / 5. 8.100
2021-03-22 16:31:55.746 9365-9480/com.example.camera I/mobile-ffmpeg: libswresample 3. 8.100 / 3. 8.100
2021-03-22 16:31:55.750 9365-9365/com.example.camera E/ACameraMetadata: filterDurations: malformed duration key 1638402! count 0, type 3
2021-03-22 16:31:55.750 9365-9365/com.example.camera E/ACameraMetadata: filterDurations: malformed duration key 1638403! count 0, type 3
2021-03-22 16:31:55.750 9365-9365/com.example.camera E/ACameraMetadata: filterDurations: malformed duration key 1835009! count 0, type 3
2021-03-22 16:31:55.750 9365-9365/com.example.camera E/ACameraMetadata: filterDurations: malformed duration key 1835010! count 0, type 3
2021-03-22 16:31:55.750 9365-9365/com.example.camera E/ACameraMetadata: filterDurations: malformed duration key 1638407! count 0, type 3
2021-03-22 16:31:55.750 9365-9365/com.example.camera E/ACameraMetadata: filterDurations: malformed duration key 1638408! count 0, type 0
2021-03-22 16:31:55.751 9365-9365/com.example.camera E/ACameraMetadata: filterDurations: malformed duration key 1638402! count 0, type 3
2021-03-22 16:31:55.751 9365-9365/com.example.camera E/ACameraMetadata: filterDurations: malformed duration key 1638403! count 0, type 3
2021-03-22 16:31:55.751 9365-9365/com.example.camera E/ACameraMetadata: filterDurations: malformed duration key 1835009! count 0, type 3
2021-03-22 16:31:55.751 9365-9365/com.example.camera E/ACameraMetadata: filterDurations: malformed duration key 1835010! count 0, type 3
2021-03-22 16:31:55.751 9365-9365/com.example.camera E/ACameraMetadata: filterDurations: malformed duration key 1638407! count 0, type 3
2021-03-22 16:31:55.751 9365-9365/com.example.camera E/ACameraMetadata: filterDurations: malformed duration key 1638408! count 0, type 0
2021-03-22 16:31:55.797 9365-9480/com.example.camera W/mobile-ffmpeg: [android_camera @ 0x726794b600] Requested video_size 0x0 not available, falling back to 4608x3456
2021-03-22 16:31:55.804 9365-9480/com.example.camera I/mobile-ffmpeg: [android_camera @ 0x726794b600] Android camera capture session is active.
2021-03-22 16:31:56.097 9365-9480/com.example.camera I/mobile-ffmpeg: Input #0, android_camera, from '0:0':
2021-03-22 16:31:56.098 9365-9480/com.example.camera I/mobile-ffmpeg: Duration: 
2021-03-22 16:31:56.098 9365-9480/com.example.camera I/mobile-ffmpeg: N/A
2021-03-22 16:31:56.098 9365-9480/com.example.camera I/mobile-ffmpeg: , start: 
2021-03-22 16:31:56.098 9365-9480/com.example.camera I/mobile-ffmpeg: 28486.157692
2021-03-22 16:31:56.098 9365-9480/com.example.camera I/mobile-ffmpeg: , bitrate: 
2021-03-22 16:31:56.098 9365-9480/com.example.camera I/mobile-ffmpeg: N/A
2021-03-22 16:31:56.098 9365-9480/com.example.camera I/mobile-ffmpeg: Stream #0:0
2021-03-22 16:31:56.098 9365-9480/com.example.camera I/mobile-ffmpeg: : Video: rawvideo (NV21 / 0x3132564E), nv21, 4608x3456
2021-03-22 16:31:56.098 9365-9480/com.example.camera I/mobile-ffmpeg: , 
2021-03-22 16:31:56.098 9365-9480/com.example.camera I/mobile-ffmpeg: 30 fps, 
2021-03-22 16:31:56.098 9365-9480/com.example.camera I/mobile-ffmpeg: 30 tbr, 
2021-03-22 16:31:56.098 9365-9480/com.example.camera I/mobile-ffmpeg: 1000000000.00 tbn, 
2021-03-22 16:31:56.098 9365-9480/com.example.camera I/mobile-ffmpeg: 1000000000.00 tbc
2021-03-22 16:31:56.098 9365-9480/com.example.camera I/mobile-ffmpeg: Side data:
2021-03-22 16:31:56.098 9365-9480/com.example.camera I/mobile-ffmpeg: 
2021-03-22 16:31:56.098 9365-9480/com.example.camera I/mobile-ffmpeg: displaymatrix: rotation of -90.00 degrees
2021-03-22 16:31:56.098 9365-9480/com.example.camera W/mobile-ffmpeg: Codec AVOption crf (Select the quality for constant quality mode) specified for output file #0 (test.mp4) has not been used for any stream. The most likely reason is either wrong type (e.g. a video option with no video streams) or that it is a private option of some encoder which was not actually used for any stream.
2021-03-22 16:31:56.098 9365-9480/com.example.camera E/mobile-ffmpeg: test.mp4: Read-only file system
2021-03-22 16:31:56.259 9365-9392/com.example.camera D/ACameraDevice: Device error received, code 5, frame number 1, request ID 0, subseq ID 0
2021-03-22 16:31:56.260 9365-9666/com.example.camera D/ACameraDevice: Device error received, code 5, frame number 2, request ID 0, subseq ID 0
2021-03-22 16:31:56.260 9365-9666/com.example.camera D/ACameraDevice: Device error received, code 5, frame number 3, request ID 0, subseq ID 0
2021-03-22 16:31:56.260 9365-9666/com.example.camera D/ACameraDevice: Device error received, code 3, frame number 4, request ID 0, subseq ID 0
2021-03-22 16:31:56.260 9365-9666/com.example.camera D/ACameraDevice: Device error received, code 3, frame number 5, request ID 0, subseq ID 0
2021-03-22 16:31:56.261 9365-9666/com.example.camera D/ACameraDevice: Device error received, code 3, frame number 6, request ID 0, subseq ID 0
2021-03-22 16:31:56.607 9365-9365/com.example.camera W/ACameraCaptureSession: Device is closed but session 0 is not notified
2021-03-22 16:31:56.608 9365-9480/com.example.camera I/mobile-ffmpeg: [android_camera @ 0x726794b600] Android camera capture session was closed.
2021-03-22 16:31:56.637 9365-9365/com.example.camera I/Choreographer: Skipped 58 frames! The application may be doing too much work on its main thread.
2021-03-22 16:31:56.678 9365-9448/com.example.camera I/OpenGLRenderer: Davey! duration=1018ms; Flags=1, IntendedVsync=17591318171185, Vsync=17592284837813, OldestInputEvent=9223372036854775807, NewestInputEvent=0, HandleInputStart=17592296938401, AnimationStart=17592297214183, PerformTraversalsStart=17592304079965, DrawStart=17592327848144, SyncQueued=17592334185436, SyncStart=17592334982572, IssueDrawCommandsStart=17592335124343, SwapBuffers=17592336519968, FrameCompleted=17592337443926, DequeueBufferDuration=165000, QueueBufferDuration=255000, 



The error I'm particularity confused about is :


2021-03-22 16:31:56.098 9365-9480/com.example.camera E/mobile-ffmpeg: test.mp4: Read-only file system



I thought I specified the appropriate permissions in the manifest file ? Please advise.


-
How to stream a usb webcam to an android phone with ffmpeg and ffserver ?
26 juillet 2015, par victor jungI am desperately trying to live stream the usb webcam from a linux computer to my android phone.
I tried with ffmpeg and ffserver, to create the stream and with videoview in android to display it. I tried all the possible format/encoder/protocols possibilities but nothing worked. In most case I am able to open the stream in VLC in another PC, but I was never able to play on my phone. I always get this error :
"can’t play this video"
Here is my app code :package com.example.victor.videostream;
import android.os.Bundle;
import android.app.Activity;
import android.view.View;
import android.net.Uri;
import android.widget.MediaController;
import android.widget.VideoView;
public class MainActivity extends Activity
{
VideoView videoView;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
videoView = null;
setContentView(R.layout.activity_main);
videoView =(VideoView)findViewById(R.id.VideoView);
MediaController mediaController= new MediaController(this);
mediaController.setAnchorView(videoView);
Uri uri = Uri.parse("http://host:port/mystream.3gp");
videoView.setMediaController(mediaController);
videoView.setVideoURI(uri);
videoView.requestFocus();
videoView.start();
}
}I read here
about god encoding practice for android, but even with .3gp format encoded with mpeg4 as suggested it doesn’t work. Have any body once succeeded doing this ?
I am also up to discover other possibilities to stream this webcam to my android if you have any ideas.
this is the closest post I found but no solution...
Hope somebody can help !
thanks for reading. -
Error with ffmpeg in android (java.lang.UnsatisfiedLinkError)
12 janvier 2015, par Hussnain MuaviaI am facing this java.lang.UnsatisfiedLinkError in android. While i have also androidndk and other essential parts required for running ffmpeg in android like jni folder files ffmped, armeabi, build_ files etc. I have figured it out a lot of time but its not fixed yet. Please guide me about my problem.
This is my basic codepublic class MainActivity extends Activity {
static {
System.loadLibrary("ffmpeg");
System.loadLibrary("ffmpeg-test-jni");
}
TextView text_titlebar_text;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
text_titlebar_text = (TextView) findViewById(R.id.tvView);
showVideoInfo(new File(Environment.getExternalStorageDirectory().getAbsoluteFile()+ "/video.mp4"));
}
//declare the jni functions
private static native void naInit(String _videoFileName);
private static native int[] naGetVideoResolution();
private static native String naGetVideoCodecName();
private static native String naGetVideoFormatName();
private static native void naClose();
private void showVideoInfo(final File _file) {
String videoFilename = _file.getAbsolutePath();
naInit(videoFilename);
int[] prVideoRes = naGetVideoResolution();
String prVideoCodecName = naGetVideoCodecName();
String prVideoFormatName = naGetVideoFormatName();
naClose();
String displayText = "Video: " + videoFilename + "\n";
displayText += "Video Resolution: " + prVideoRes[0] + "x" + prVideoRes[1] + "\n";
displayText += "Video Codec: " + prVideoCodecName + "\n";
displayText += "Video Format: " + prVideoFormatName + "\n";
text_titlebar_text.setText(displayText);
}}
and this is a LogCat
01-01 07:04:18.862: E/AndroidRuntime(4653): FATAL EXCEPTION: main
01-01 07:04:18.862: E/AndroidRuntime(4653): java.lang.UnsatisfiedLinkError: Couldn't load ffmpeg from loader dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.example.testone-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.example.testone-1, /vendor/lib, /system/lib]]]: findLibrary returned null
01-01 07:04:18.862: E/AndroidRuntime(4653): at java.lang.Runtime.loadLibrary(Runtime.java:366)
01-01 07:04:18.862: E/AndroidRuntime(4653): at java.lang.System.loadLibrary(System.java:514)
01-01 07:04:18.862: E/AndroidRuntime(4653): at com.example.testone.MainActivity.<clinit>(MainActivity.java:16)
01-01 07:04:18.862: E/AndroidRuntime(4653): at java.lang.Class.newInstanceImpl(Native Method)
01-01 07:04:18.862: E/AndroidRuntime(4653): at java.lang.Class.newInstance(Class.java:1319)
01-01 07:04:18.862: E/AndroidRuntime(4653): at android.app.Instrumentation.newActivity(Instrumentation.java:1054)
01-01 07:04:18.862: E/AndroidRuntime(4653): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2260)
01-01 07:04:18.862: E/AndroidRuntime(4653): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2395)
01-01 07:04:18.862: E/AndroidRuntime(4653): at android.app.ActivityThread.access$600(ActivityThread.java:162)
01-01 07:04:18.862: E/AndroidRuntime(4653): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1364)
01-01 07:04:18.862: E/AndroidRuntime(4653): at android.os.Handler.dispatchMessage(Handler.java:107)
01-01 07:04:18.862: E/AndroidRuntime(4653): at android.os.Looper.loop(Looper.java:194)
01-01 07:04:18.862: E/AndroidRuntime(4653): at android.app.ActivityThread.main(ActivityThread.java:5371)
01-01 07:04:18.862: E/AndroidRuntime(4653): at java.lang.reflect.Method.invokeNative(Native Method)
01-01 07:04:18.862: E/AndroidRuntime(4653): at java.lang.reflect.Method.invoke(Method.java:525)
01-01 07:04:18.862: E/AndroidRuntime(4653): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:833)
01-01 07:04:18.862: E/AndroidRuntime(4653): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600)
01-01 07:04:18.862: E/AndroidRuntime(4653): at dalvik.system.NativeStart.main(Native Method)
01-01 07:04:18.921: E/AppErrorDialog(496): Failed to get ILowStorageHandle instance
</clinit>