Recherche avancée

Médias (2)

Mot : - Tags -/doc2img

Autres articles (95)

  • HTML5 audio and video support

    13 avril 2011, par

    MediaSPIP 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 (...)

  • ANNEXE : Les plugins utilisés spécifiquement pour la ferme

    5 mars 2010, par

    Le site central/maître de la ferme a besoin d’utiliser plusieurs plugins supplémentaires vis à vis des canaux pour son bon fonctionnement. le plugin Gestion de la mutualisation ; le plugin inscription3 pour gérer les inscriptions et les demandes de création d’instance de mutualisation dès l’inscription des utilisateurs ; le plugin verifier qui fournit une API de vérification des champs (utilisé par inscription3) ; le plugin champs extras v2 nécessité par inscription3 (...)

  • Support audio et vidéo HTML5

    10 avril 2011

    MediaSPIP 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 (...)

Sur d’autres sites (8289)

  • JavaCV record video in Android

    11 janvier 2017, par wyx

    I want to record video quiet and without preview in Android. So I choice MediaRecorder but I could record only without preview but what make me crazy is that when MediaRecorder start or stop it will with a sound dee.... I try many methods about that . But I think it perhaps sth related to the OS of the mobile. So I try JavaCV because I also want to have a Live function in my app.

    But JavaCV spent me to too much time to solve some strange problems because it’s my first time to do sth about C++ src and video.

    Just compile group: 'org.bytedeco', name: 'javacv-platform', version: '1.3' as the README.md ,I even can’t build my apk.

    Error:Execution failed for task ':app:transformResourcesWithMergeJavaResForDebug'.
    > com.android.build.api.transform.TransformException: com.android.builder.packaging.DuplicateFileException: Duplicate files copied in APK org/bytedeco/javacpp/macosx-x86_64/libusb-1.0.dylib
       File1: /Users/wyx/.gradle/caches/modules-2/files-2.1/org.bytedeco.javacpp-presets/libfreenect/0.5.3-1.3/736d65a3ef042258429d8e7742128c411806b432/libfreenect-0.5.3-1.3-macosx-x86_64.jar
       File2: /Users/wyx/.gradle/caches/modules-2/files-2.1/org.bytedeco.javacpp-presets/libdc1394/2.2.4-1.3/f1498dacc46162ab68faeb8d66cf02b96fe41c61/libdc1394-2.2.4-1.3-macosx-x86_64.jar

    And then I modified it according this issuse
    use this to repalce. It can build the apk. But the can’t run.

     android {
      ..............
       packagingOptions {
           exclude 'META-INF/services/javax.annotation.processing.Processor'
           pickFirst  'META-INF/maven/org.bytedeco.javacpp-presets/opencv/pom.properties'
           pickFirst  'META-INF/maven/org.bytedeco.javacpp-presets/opencv/pom.xml'
           pickFirst  'META-INF/maven/org.bytedeco.javacpp-presets/ffmpeg/pom.properties'
           pickFirst  'META-INF/maven/org.bytedeco.javacpp-presets/ffmpeg/pom.xml'
       }
    }

    dependencies {
       compile group: 'org.bytedeco', name: 'javacv', version: '1.3'
       compile group: 'org.bytedeco.javacpp-presets', name: 'ffmpeg', version: '3.2.1-1.3', classifier: 'android-x86'
       compile group: 'org.bytedeco.javacpp-presets', name: 'ffmpeg', version: '3.2.1-1.3', classifier: 'android-arm'
       compile group: 'org.bytedeco.javacpp-presets', name: 'opencv', version: '3.1.0-1.3', classifier: 'android-x86'
       compile group: 'org.bytedeco.javacpp-presets', name: 'opencv', version: '3.1.0-1.3', classifier: 'android-arm'
    }

    My demo code VideoService which will invoke in MainActivity

    package com.fs.fs.api;

    import com.fs.fs.App;
    import com.fs.fs.utils.DateUtils;
    import com.fs.fs.utils.FileUtils;

    import org.bytedeco.javacpp.avcodec;
    import org.bytedeco.javacv.FFmpegFrameRecorder;
    import org.bytedeco.javacv.FrameRecorder;

    import java.util.Date;

    /**
    * Created by wyx on 2017/1/11.
    */
    public class VideoService {
       private FFmpegFrameRecorder mFrameRecorder;
       private String path;

       private VideoService() {
       }

       private static class SingletonHolder {
           private static final VideoService INSTANCE = new VideoService();
       }

       public static VideoService getInstance() {
           return SingletonHolder.INSTANCE;
       }

       public void startRecordVideo() {
           String fileName = String.format("%s.%s", DateUtils.date2String(new Date(), "yyyyMMdd_HHmmss"), "mp4");
           path = FileUtils.getExternalFullPath(App.getInstance(), fileName);
           mFrameRecorder = new FFmpegFrameRecorder(path, 640, 480, 1);
           mFrameRecorder.setVideoCodec(avcodec.AV_CODEC_ID_H264);
           mFrameRecorder.setVideoOption("tune", "zerolatency");
           mFrameRecorder.setVideoOption("preset", "ultrafast");
           mFrameRecorder.setVideoOption("crf", "28");
           mFrameRecorder.setVideoBitrate(300 * 1000);
           mFrameRecorder.setFormat("mp4");

           mFrameRecorder.setFrameRate(30);
           mFrameRecorder.setAudioOption("crf", "0");
           mFrameRecorder.setSampleRate(48 * 1000);
           mFrameRecorder.setAudioBitrate(960 * 1000);
           mFrameRecorder.setAudioCodec(avcodec.AV_CODEC_ID_AAC);
           try {
               mFrameRecorder.start();
           } catch (FrameRecorder.Exception e) {
               e.printStackTrace();
           }
       }

       public void stop() {
           if (mFrameRecorder != null) {
               try {
                   mFrameRecorder.stop();
                   mFrameRecorder.release();
               } catch (FrameRecorder.Exception e) {
                   e.printStackTrace();
               }
               mFrameRecorder = null;
           }
       }

    }

    MainActivity

    package com.fs.fs.activity;

    import android.app.Activity;
    import android.os.Bundle;

    import com.fs.fs.R;
    import com.fs.fs.api.VideoService;

    import static java.lang.Thread.sleep;


    public class MainActivity extends Activity {

       @Override
       protected void onCreate(Bundle savedInstanceState) {
           super.onCreate(savedInstanceState);
           setContentView(R.layout.activity_main);


           VideoService.getInstance().startRecordVideo();
           try {
               sleep(10 * 1000);
           } catch (InterruptedException e) {
               e.printStackTrace();
           }
           VideoService.getInstance().stop();
       }
    }

    Error which make me want to cry.

    E/AndroidRuntime: FATAL EXCEPTION: main
                     Process: com.fs.fs, PID: 30259
                     java.lang.NoClassDefFoundError: java.lang.ClassNotFoundException: org.bytedeco.javacpp.avutil
                         at org.bytedeco.javacpp.Loader.load(Loader.java:590)
                         at org.bytedeco.javacpp.Loader.load(Loader.java:530)
                         at org.bytedeco.javacpp.avcodec$AVPacket.<clinit>(avcodec.java:1694)
                         at org.bytedeco.javacv.FFmpegFrameRecorder.<init>(FFmpegFrameRecorder.java:149)
                         at com.fs.fs.api.VideoService.startRecordVideo(VideoService.java:34)
                         at com.fs.fs.activity.MainActivity.onCreate(MainActivity.java:75)
                         at android.app.Activity.performCreate(Activity.java:5304)
                         at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1090)
                         at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2245)
                         at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2331)
                         at android.app.ActivityThread.access$1000(ActivityThread.java:143)
                         at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1244)
                         at android.os.Handler.dispatchMessage(Handler.java:102)
                         at android.os.Looper.loop(Looper.java:136)
                         at android.app.ActivityThread.main(ActivityThread.java:5291)
                         at java.lang.reflect.Method.invokeNative(Native Method)
                         at java.lang.reflect.Method.invoke(Method.java:515)
                         at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:849)
                         at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:665)
                         at dalvik.system.NativeStart.main(Native Method)
                      Caused by: java.lang.ClassNotFoundException: org.bytedeco.javacpp.avutil
                         at java.lang.Class.classForName(Native Method)
                         at java.lang.Class.forName(Class.java:251)
                         at org.bytedeco.javacpp.Loader.load(Loader.java:585)
                         at org.bytedeco.javacpp.Loader.load(Loader.java:530) 
                         at org.bytedeco.javacpp.avcodec$AVPacket.<clinit>(avcodec.java:1694) 
                         at org.bytedeco.javacv.FFmpegFrameRecorder.<init>(FFmpegFrameRecorder.java:149) 
                         at com.fs.fs.api.VideoService.startRecordVideo(VideoService.java:34) 
                         at com.fs.fs.activity.MainActivity.onCreate(MainActivity.java:75) 
                         at android.app.Activity.performCreate(Activity.java:5304) 
                         at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1090) 
                         at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2245) 
                         at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2331) 
                         at android.app.ActivityThread.access$1000(ActivityThread.java:143) 
                         at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1244) 
                         at android.os.Handler.dispatchMessage(Handler.java:102) 
                         at android.os.Looper.loop(Looper.java:136) 
                         at android.app.ActivityThread.main(ActivityThread.java:5291) 
                         at java.lang.reflect.Method.invokeNative(Native Method) 
                         at java.lang.reflect.Method.invoke(Method.java:515) 
                         at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:849) 
                         at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:665) 
                         at dalvik.system.NativeStart.main(Native Method) 
                      Caused by: java.lang.NoClassDefFoundError: org/bytedeco/javacpp/avutil
                         at java.lang.Class.classForName(Native Method) 
                         at java.lang.Class.forName(Class.java:251) 
                         at org.bytedeco.javacpp.Loader.load(Loader.java:585) 
                         at org.bytedeco.javacpp.Loader.load(Loader.java:530) 
                         at org.bytedeco.javacpp.avcodec$AVPacket.<clinit>(avcodec.java:1694) 
                         at org.bytedeco.javacv.FFmpegFrameRecorder.<init>(FFmpegFrameRecorder.java:149) 
                         at com.fs.fs.api.VideoService.startRecordVideo(VideoService.java:34) 
                         at com.fs.fs.activity.MainActivity.onCreate(MainActivity.java:75) 
                         at android.app.Activity.performCreate(Activity.java:5304) 
                         at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1090) 
                         at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2245) 
                         at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2331) 
                         at android.app.ActivityThread.access$1000(ActivityThread.java:143) 
                         at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1244) 
                         at android.os.Handler.dispatchMessage(Handler.java:102) 
                         at android.os.Looper.loop(Looper.java:136) 
                         at android.app.ActivityThread.main(ActivityThread.java:5291) 
                         at java.lang.reflect.Method.invokeNative(Native Method) 
                         at java.lang.reflect.Method.invoke(Method.java:515) 
                         at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:849) 
                         at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:665) 
                         at dalvik.system.NativeStart.main(Native Method) 
                      Caused by: java.lang.ClassNotFoundException: Didn't find class "org.bytedeco.javacpp.avutil" on path: DexPathList[[zip file "/data/app/com.fs.fs-2.apk"],nativeLibraryDirectories=[/data/app-lib/com.fs.fs-2, /vendor/lib, /system/lib, /data/datalib]]
                         at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
                         at java.lang.ClassLoader.loadClass(ClassLoader.java:497)
                         at java.lang.ClassLoader.loadClass(ClassLoader.java:457)
                         at java.lang.Class.classForName(Native Method) 
                         at java.lang.Class.forName(Class.java:251) 
                         at org.bytedeco.javacpp.Loader.load(Loader.java:585) 
                         at org.bytedeco.javacpp.Loader.load(Loader.java:530) 
                         at org.bytedeco.javacpp.avcodec$AVPacket.<clinit>(avcodec.java:1694) 
                         at org.bytedeco.javacv.FFmpegFrameRecorder.<init>(FFmpegFrameRecorder.java:149) 
                         at com.fs.fs.api.VideoService.startRecordVideo(VideoService.java:34) 
                         at com.fs.fs.activity.MainActivity.onCreate(MainActivity.java:75) 
                         at android.app.Activity.performCreate(Activity.java:5304) 
                         at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1090) 
                         at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2245) 
                         at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2331) 
                         at android.app.ActivityThread.access$1000(ActivityThread.java:143) 
                         at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1244) 
                         at android.os.Handler.dispatchMessage(Handler.java:102) 
                         at android.os.Looper.loop(Looper.java:136) 
                         at android.app.ActivityThread.main(ActivityThread.java:5291) 
                         at java.lang.reflect.Method.invokeNative(Native Method) 
                         at java.lang.reflect.Method.invoke(Method.java:515) 
                         at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:849) 
                         at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:665) 
                         at dalvik.system.NativeStart.main(Native Method) 
    </init></clinit></init></clinit></init></clinit></init></clinit>

    So I want to know a comfortable method to achieve my goal : recode video quiet and without preview. And Live real time ?

    I found ffmpeg4android is a prefect library to run ffmpeg command. I just use it to compress videos from MediaRecorder But I don’t how to do use it to achieve my goal.

  • Summary Video Accessibility Talk

    1er janvier 2014, par silvia

    I’ve just got off a call to the UK Digital TV Group, for which I gave a talk on HTML5 video accessibility (slides best viewed in Google Chrome).

    The slide provide a high-level summary of the accessibility features that we’ve developed in the W3C for HTML5, including :

    • Subtitles & Captions with WebVTT and the track element
    • Video Descriptions with WebVTT, the track element and speech synthesis
    • Chapters with WebVTT for semantic navigation
    • Audio Descriptions through synchronising an audio track with a video
    • Sign Language video synchronized with a main video

    I received some excellent questions.

    The obvious one was about why WebVTT and not TTML. While for anyone who has tried to implement TTML support, the advantages of WebVTT should be clear, for some the decision of the browsers to go with WebVTT still seems to be bothersome. The advantages of CSS over XSL-FO in a browser-context are obvious, but not as much outside browsers. So, the simplicity of WebVTT and the clear integration with HTML have to speak for themselves. Conversion between TTML and WebVTT was a feature that was being asked for.

    I received a question about how to support ducking (reduce the volume of the main audio track) when using video descriptions. My reply was to either use video descriptions with WebVTT and do ducking during the times that a cue is active, or when using audio descriptions (i.e. actual audio tracks) to add an additional WebVTT file of kind=metadata to mark the intervals in which to do ducking. In both cases some JavaScript will be necessary.

    I received another question about how to do clean audio, which I had almost forgotten was a requirement from our earlier media accessibility document. “Clean audio” consists of isolating the audio channel containing the spoken dialog and important non-speech information that can then be amplified or otherwise modified, while other channels containing music or ambient sounds are attenuated. I suggested using the mediagroup attribute to provide a main video element (without an audio track) and then the other channels as parallel audio tracks that can be turned on and off and attenuated individually. There is some JavaScript coding involved on top of the APIs that we have defined in HTML, but it can be implemented in browsers that support the mediagroup attribute.

    Another question was about the possibilities to extend the list of @kind attribute values. I explained that right now we have a proposal for a new text track kind=”forced” so as to provide forced subtitles for sections of video with foreign language. These would be on when no other subtitle or caption tracks are activated. I also explained that if there is a need for application-specific text tracks, the kind=”metadata” would be the correct choice.

    I received some further questions, in particular about how to apply styling to captions (e.g. color changes to text) and about how closely the browser are able to keep synchronization across multiple media elements. The earlier was easily answered with the ::cue pseudo-element, but the latter is a quality of implementation feature, so I had to defer to individual browsers.

    Overall it was a good exercise to summarize the current state of HTML5 video accessibility and I was excited to show off support in Chrome for all the features that we designed into the standard.

  • creating FFMPEG-based android apps with BAMBUSER

    22 novembre 2013, par Blaze Tama

    First, im a beginner in FFMPEG so please bear with me.

    And more, my java is not a "master", and i only have a very little experience in C.

    I interested in bambuser's ffmpeg library but theres still some doubt in my mind :

    1. Dont they have any step by step tutorial ? The only tutorial i found, which is good but not suitable for beginner is http://www.quora.com/What-are-the-steps-for-integrating-FFMPEG-on-Android#
    2. DO I HAVE TO CODE IN C ? Sorry this might be a stupid question..but ehm i dont really understand what im doing and where im going...LOL
      What i mean is, can i just use FFMPEG syntax like -i, -vf and run it inside my apps like in the ubuntu's terminal ?

    Im well aware that this question should not be suitable for SO, but i have no choice. I have tried to use many different lbraries, like GUARDIAN PROJECT (well, i have the UNSOLVED question here) but its not working like i hope.

    Thanks very much for your time, and your help. Please help me here, its alreay a month LOL :D