Recherche avancée

Médias (91)

Autres articles (39)

  • (Dés)Activation de fonctionnalités (plugins)

    18 février 2011, par

    Pour gérer l’ajout et la suppression de fonctionnalités supplémentaires (ou plugins), MediaSPIP utilise à partir de la version 0.2 SVP.
    SVP permet l’activation facile de plugins depuis l’espace de configuration de MediaSPIP.
    Pour y accéder, il suffit de se rendre dans l’espace de configuration puis de se rendre sur la page "Gestion des plugins".
    MediaSPIP est fourni par défaut avec l’ensemble des plugins dits "compatibles", ils ont été testés et intégrés afin de fonctionner parfaitement avec chaque (...)

  • Le plugin : Podcasts.

    14 juillet 2010, par

    Le problème du podcasting est à nouveau un problème révélateur de la normalisation des transports de données sur Internet.
    Deux formats intéressants existent : Celui développé par Apple, très axé sur l’utilisation d’iTunes dont la SPEC est ici ; Le format "Media RSS Module" qui est plus "libre" notamment soutenu par Yahoo et le logiciel Miro ;
    Types de fichiers supportés dans les flux
    Le format d’Apple n’autorise que les formats suivants dans ses flux : .mp3 audio/mpeg .m4a audio/x-m4a .mp4 (...)

  • Les autorisations surchargées par les plugins

    27 avril 2010, par

    Mediaspip core
    autoriser_auteur_modifier() afin que les visiteurs soient capables de modifier leurs informations sur la page d’auteurs

Sur d’autres sites (6879)

  • FFMPEG : Add additional audio track to video file

    29 décembre 2016, par Lukas

    I have two video file with the following streams :

    File 1 :

    Stream #0:0(deu) : Audio : aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 126 kb/s (default)
    Stream #0:1(deu) : Audio : ac3 (ac-3 / 0x332D6361), 48000 Hz, 5.1(side), fltp, 384 kb/s
    Stream #0:2(eng) : Video : h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709), 1920x1080 [SAR 1:1 DAR 16:9], 4971 kb/s, 23.98 fps, 23.98 tbr, 2997 tbn, 5994 tbc (default)
    Stream #0:3 : Video : mjpeg, yuvj420p(pc, bt470bg/unknown/unknown), 480x480 [SAR 72:72 DAR 1:1], 90k tbr, 90k tbn, 90k tbc
    

    File 2 :

    Stream #0:0(eng) : Audio : aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 126 kb/s (default)
    Stream #0:1(eng) : Audio : ac3 (ac-3 / 0x332D6361), 48000 Hz, 5.1(side), fltp, 384 kb/s
    Stream #0:2(eng) : Video : h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709), 1920x1080 [SAR 1:1 DAR 16:9], 4925 kb/s, 23.98 fps, 23.98 tbr, 23976 tbn, 47952 tbc (default)
    Stream #0:3(eng) : Subtitle : eia_608 (c608 / 0x38303663), 1920x1080, 0 kb/s
    Stream #0:4 : Video : mjpeg, yuvj420p(pc, bt470bg/unknown/unknown), 480x480 [SAR 72:72 DAR 1:1], 90k tbr, 90k tbn, 90k tbc
    

    Both files have exactly the same video content , but the first video has a german audio track and the second one an english audio track.

    How can I extract the audio track from the german video file and add it to the english one, without losing the english subtitles and being able to choose between these audio tracks in a media player ?

    I searched about this and I found multiple answers to similar questions, but none of them worked : Some included only one audio track and some played both of them at the same time.

    I’m not sure if this question should be asked on Super User, but as there are alrealy many questions about ffmpeg on Stack Overflow, I asked it here.

  • Background process that is run on file is still running after the file is deleted

    19 octobre 2015, par Marko Djokic

    So i have a process in Android that is run like this :

      process = Runtime.getRuntime().exec(commandString);
      Runtime.getRuntime().addShutdownHook(new Thread(new Runnable() {
           public void run() {
                Log.d("ShutDownHook Called");
                process.destroy();
           }
      }));

    Where the command string contains a file path and some other arguments.
    That process is a CPU heavy process and can take last as long as a few hours (Movie transcoding). The file is an ffmpeg static file. The problem is in some cases the process stays in the background even though i killed the app. That situation is on one of my phones when i kill the app with the task manager. That being said, the onDestroy() method is not called, nor is the onTerminate() from the application class, nor the shutdown hook from above.

    Also i have created a background service with a notification, so when exit the app the service should stay in the background. Even with this kind of control, when i kill the application with the task manager, the service is restarted and i lose all the references to my ffmpeg class, Async task, process etc, and i cannot stop the process because i have null pointers.
    Anyway i can ensure that the service will not be tampered with the app kill, so i can kill the process with the notification bar from my service ?

    ServiceConnection mConnection = new ServiceConnection() {

       public void onServiceDisconnected(ComponentName name) {
           Log.d("HelperActivity", "onServiceDisconnected");
           mIsBound = false;
           mServer = null;
       }

       public void onServiceConnected(ComponentName name, IBinder service) {
           Log.d("HelperActivity", "onServiceConnected");
           mIsBound = true;
           NotificationService.LocalBinder mLocalBinder = (NotificationService.LocalBinder)service;
           mServer = mLocalBinder.getServerInstance();
           //mServer.test();
       }
    };
    //This is the onCreate of the application class
    @Override
    public void onCreate() {
       super.onCreate();
       Intent intent = new Intent(this,
               NotificationService.class);

       startService(intent);
       bindService(intent, mConnection, Context.BIND_AUTO_CREATE);
       Log.d("onCreate", "Called");
       singleton = this;

    }

    I have been using http://hiteshsondhi88.github.io/ffmpeg-android-java/ for the ffmpeg support. Of course added new features but the basic concept of running a ffmpeg command is the same.

    One other strange thing is, when i start the app i delete the previous file, and still the process is running in the background, cause my transcoding performances are halved. The file is copied from assets to the internal storage every time the app is started.

     File ffmpegFile = new File(FileUtils.getFFmpeg(context));
     if (ffmpegFile.exists()) {
           Log.d("File exists!");
           ffmpegFile.delete();
     }

    The file is deleted i checked, but my CPU is still used a lot.
    Sorry for any mistakes during the post, it is my first one.

  • Recording from an ImageView using FFmpegFrameRecorder

    8 novembre 2015, par UserAx

    I want to convert images displayed in a imageview to a video using FFmpegFrameRecorder, and add audio using mic as the source

    I have imported JavaCV to my project(javacv.jar, javacpp.jar, opencv.jar , openv-android-arm.jar, ffmpeg.jar, ffmpeg-android-arm.jar ; added them under project structure/dependencies)

    I am using this code https://github.com/gderaco/JavaCVTest/tree/master

    I get error as "record (org.bytedeco.javacv.Frame) in FFmpegFrameRecorder cannot be applied to (org.bytedeco.javacpp.opencv_coreiplImage)"

    where have i gone wrong and how to add mic as the audio source ?

    CODE:
    import..

    import org.bytedeco.javacpp.opencv_core;
    import org.bytedeco.javacv.FFmpegFrameRecorder;

    import static org.bytedeco.javacpp.opencv_imgcodecs.cvLoadImage;

    public class MyAndroidAppActivity extends Activity {

    ImageView image;

    @Override
    public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    addListenerOnButton();

    opencv_core.IplImage img = cvLoadImage("ImageView");

    FFmpegFrameRecorder recorder = new                
    FFmpegFrameRecorder("/sdcard/test.mpeg",200,150);

       try {
           recorder.setFrameRate(30);
           recorder.start();

           for (int i=0;i<100;i++)
           {
               recorder.record(img);
           }
           recorder.stop();
       }
       catch (Exception e){
           e.printStackTrace();
       }

    }

    public void addListenerOnButton() {

    image = (ImageView) findViewById(R.id.imageView1);
    button = (Button) findViewById(R.id.btn1);

    button.setOnClickListener(new OnClickListener() {
       @Override
       public void onClick(View arg0) {
           image.setImageResource(R.drawable.image1);
       }
    });

    //...........

    button = (Button) findViewById(R.id.btn10);

    button.setOnClickListener(new OnClickListener() {
       @Override
       public void onClick(View arg0) {
           image.setImageResource(R.drawable.image10);
       }

    });
    }