Recherche avancée

Médias (91)

Autres articles (72)

  • Le profil des utilisateurs

    12 avril 2011, par

    Chaque utilisateur dispose d’une page de profil lui permettant de modifier ses informations personnelle. Dans le menu de haut de page par défaut, un élément de menu est automatiquement créé à l’initialisation de MediaSPIP, visible uniquement si le visiteur est identifié sur le site.
    L’utilisateur a accès à la modification de profil depuis sa page auteur, un lien dans la navigation "Modifier votre profil" est (...)

  • Configurer la prise en compte des langues

    15 novembre 2010, par

    Accéder à la configuration et ajouter des langues prises en compte
    Afin de configurer la prise en compte de nouvelles langues, il est nécessaire de se rendre dans la partie "Administrer" du site.
    De là, dans le menu de navigation, vous pouvez accéder à une partie "Gestion des langues" permettant d’activer la prise en compte de nouvelles langues.
    Chaque nouvelle langue ajoutée reste désactivable tant qu’aucun objet n’est créé dans cette langue. Dans ce cas, elle devient grisée dans la configuration et (...)

  • La sauvegarde automatique de canaux SPIP

    1er avril 2010, par

    Dans le cadre de la mise en place d’une plateforme ouverte, il est important pour les hébergeurs de pouvoir disposer de sauvegardes assez régulières pour parer à tout problème éventuel.
    Pour réaliser cette tâche on se base sur deux plugins SPIP : Saveauto qui permet une sauvegarde régulière de la base de donnée sous la forme d’un dump mysql (utilisable dans phpmyadmin) mes_fichiers_2 qui permet de réaliser une archive au format zip des données importantes du site (les documents, les éléments (...)

Sur d’autres sites (7416)

  • Using OpenMAX (IL ?) for audio/video decoding on Android

    14 septembre 2012, par Christopher Corsi

    Many of the newer hardware platforms running Android, in particular NVIDIA's Tegra 2, support OpenMAX for media acceleration. It's effectively impossible on today's devices to decode 720p video without this support, but the number of demuxers supported on Android are quite slim. The only public API I've been able to find has been through the MediaPlayer class in the Android SDK. There are multiple places in the Android source tree with OpenMAX related tidbits, however.

    On my device (Samsung Galaxy Tab 10.1) I've got access to hardware decoders through a multitude of OpenMAX libs in /system/lib, and it would be great to interface my video application with these. Can anyone point me to information on implementing a decoder powered by OpenMAX ? I've found the documentation from Khronos, but nothing in the way of example code or tutorials. I've already got demuxing and even software decoding taken care of (via libavcodec/libavformat), I'd just like to put hooks in to enable hardware encoding. I'm also assuming here it would be necessary to link directly to the ones available on the device, which makes it pretty lackluster in terms of portability, but it works.

    Alternatively, I'm interested in anything anyone knows about private APIs for accessing the video decoding available on Tegra 2 devices. Especially if there's a vdpau interface like what NVIDIA implements for desktop linux distributions, since there's plenty available for that - but I wasn't able to find shared libraries that indicate that support.

  • xuggler : no video in encoded 3gp file

    1er août 2012, par khizar

    i am trying to encode videos into 3gp format using xuggler, i somehow got it to work, work as in the program stopped throwing errors and exceptions, but the new file that is created does not have any video. Now there is no error or exception for me to work with so i have stuck a wall.
    EDIT : Note the audio is working as it shud.

    This is the code for the main function where the listeners are configured

    IMediaReader reader = ToolFactory.makeReader("/home/hp/mms/b.flv") ;

       IMediaWriter writer = ToolFactory.makeWriter("/home/hp/mms/xuggle/a_converted.3gp", reader);

       IMediaDebugListener debugListener = ToolFactory.makeDebugListener();
       writer.addListener(debugListener);

       ConvertVideo convertor = new ConvertVideo(new File("/home/hp/mms/b.flv"), new File("/home/hp/mms/xuggle/a_converted.3gp"));
       // convertor.addListener(writer);
       reader.addListener(writer);
       writer.addListener(convertor);

       while (reader.readPacket() == null)
           ;

    And this is the code for the convertor that i wrote.

    public ConvertVideo(File inputFile, File outputFile)
    {
       this.outputFile = outputFile;
       reader = ToolFactory.makeReader(inputFile.getAbsolutePath());
       reader.addListener(this);
    }
    private IVideoResampler videoResampler = null;
    private IAudioResampler audioResampler = null;

    @Override
    public void onAddStream(IAddStreamEvent event)
    {
       if (writer == null)
       {
           writer = ToolFactory.makeWriter(outputFile.getAbsolutePath(), reader);

       }

       int streamIndex = event.getStreamIndex();
       IStreamCoder streamCoder = event.getSource().getContainer().getStream(streamIndex).getStreamCoder();

       if (streamCoder.getCodecType() == ICodec.Type.CODEC_TYPE_AUDIO)
       {
           streamCoder.setFlag(IStreamCoder.Flags.FLAG_QSCALE, false);
           writer.addAudioStream(streamIndex, 0, 1, 8000);
       }
       else if (streamCoder.getCodecType() == ICodec.Type.CODEC_TYPE_VIDEO)
       {
           streamCoder.setFlag(IStreamCoder.Flags.FLAG_QSCALE, false);
           streamCoder.setCodec(ICodec.findEncodingCodecByName("h263"));
           writer.addVideoStream(streamIndex, 0, VIDEO_WIDTH, VIDEO_HEIGHT);

       }
       super.onAddStream(event);
    }

    // //
    @Override
    public void onVideoPicture(IVideoPictureEvent event)
    {
       IVideoPicture pic = event.getPicture();
       if (videoResampler == null)
       {
           videoResampler = IVideoResampler.make(VIDEO_WIDTH, VIDEO_HEIGHT, pic.getPixelType(), pic.getWidth(), pic.getHeight(), pic.getPixelType());
       }
       IVideoPicture out = IVideoPicture.make(pic.getPixelType(), VIDEO_WIDTH, VIDEO_HEIGHT);
       videoResampler.resample(out, pic);

       IVideoPictureEvent asc = new VideoPictureEvent(event.getSource(), out, event.getStreamIndex());
       super.onVideoPicture(asc);
       out.delete();
    }

    @Override
    public void onAudioSamples(IAudioSamplesEvent event)
    {
       IAudioSamples samples = event.getAudioSamples();
       if (audioResampler == null)
       {
           audioResampler = IAudioResampler.make(1, samples.getChannels(), 8000, samples.getSampleRate());
       }
       if (event.getAudioSamples().getNumSamples() > 0)
       {
           IAudioSamples out = IAudioSamples.make(samples.getNumSamples(), samples.getChannels());
           audioResampler.resample(out, samples, samples.getNumSamples());

           AudioSamplesEvent asc = new AudioSamplesEvent(event.getSource(), out, event.getStreamIndex());
           super.onAudioSamples(asc);
           out.delete();
       }
    }

    I just cant seem to figure out where the problem is. I wud be thankful if someone wud plz point me in the right direction.

    EDIT : If i see the properties of my newly encoded video, its audio properties are set and its video properties are not i.e in video properties, dimension= 0 x 0, frame rate= N/A and codec= h.263. The problem here is the 0 x 0 dimension.

  • hwaccel : OS X Video Decoder Acceleration (VDA) support.

    11 novembre 2011, par Sebastien Zwickert

    hwaccel : OS X Video Decoder Acceleration (VDA) support.