Recherche avancée

Médias (1)

Mot : - Tags -/iphone

Autres articles (50)

  • 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

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

  • Librairies et binaires spécifiques au traitement vidéo et sonore

    31 janvier 2010, par

    Les logiciels et librairies suivantes sont utilisées par SPIPmotion d’une manière ou d’une autre.
    Binaires obligatoires FFMpeg : encodeur principal, permet de transcoder presque tous les types de fichiers vidéo et sonores dans les formats lisibles sur Internet. CF ce tutoriel pour son installation ; Oggz-tools : outils d’inspection de fichiers ogg ; Mediainfo : récupération d’informations depuis la plupart des formats vidéos et sonores ;
    Binaires complémentaires et facultatifs flvtool2 : (...)

Sur d’autres sites (9265)

  • ffmpeg : test if format is seekable

    20 mai 2021, par Diederick C. Niehorster

    How do i test if a format is seekable ?

    


    I have written code against the latest fmmpeg's (4.4) libavformat, libavcodec, etc. My code reads and decodes video files. Now i also want to support reading from avdevices, such as dshow (DirectShow) on Windows. That is possible through the same interface as i have already implemented, it just requires using the dshow format. Super nice ! But in my video file reader, i have some seek logic implemented, which is engaged in various instances. The problem is that the dshow format is not seekable (avformat_seek_file() returns -22, invalid argument). How do i detect that a format is not seekable ? I know that the AVFormatContext's pb member (AVIOContext) has a seekable field, but the dshow format leaves pb null (as it should be since the AVFMT_NOFILE flag is set for the format). How do i test if a format is seekable (so that if it is not, i can disable the seek logic) ? The implementation of avformat_seek_file() and the various functions it calls seems to have various callbacks, so i am not sure if simply this would do the trick : bool isSeekable = !!context->pb && context->pb->seekable!=0.

    


  • Converting video to GIF in Android Studio

    21 novembre 2019, par Wolfiebae

    I am trying to make my app to accept videos from the phone’s library to be uploaded and converted into GIF format. My code is giving out this build error though :-

    error: <anonymous> is not abstract and does not override abstract method onReschedule(String,ErrorInfo) in UploadCallback
    </anonymous>

    and also this warning on my onActivityResult method :-

    Overriding method should call super.onActivityResult

    The code is as below : -

    public class Video2gif extends AppCompatActivity {

       private Button uploadBtn;
       private ProgressBar progressBar;
       private int SELECT_VIDEO = 2;
       private ImageView img1;
       private DownloadManager downloadManager;
       private Button download_btn;
       private String gifUrl;

       @Override
       protected void onCreate(Bundle savedInstanceState) {
           super.onCreate(savedInstanceState);
           setContentView(R.layout.activity_video2gif);
           MediaManager.init(this);

           progressBar = findViewById(R.id.progress_bar);
           MediaManager.init(this);
           img1 = findViewById(R.id.img1);
           uploadBtn = findViewById(R.id.uploadBtn);

           uploadBtn.setOnClickListener(new View.OnClickListener() {
               @Override
               public void onClick(View view) {
                   pickVideoFromGallery();

               }
               private void pickVideoFromGallery() {
                   Intent GalleryIntent = new Intent();
                   GalleryIntent.setType("video/*");
                   GalleryIntent.setAction(Intent.ACTION_GET_CONTENT);
                   startActivityForResult(Intent.createChooser(GalleryIntent,
                           "select video"), SELECT_VIDEO);
               }
           });
       }
       @Override
       protected void onActivityResult(int requestCode, int resultCode, final Intent data) {

           if (requestCode == SELECT_VIDEO &amp;&amp; resultCode == RESULT_OK) {
               Uri selectedVideo = data.getData();
               MediaManager.get()
                       .upload(selectedVideo)
                       .unsigned("myid")
                       .option("resource_type", "video")
                       .callback(new UploadCallback(){
                           @Override
                           public void onStart(String requestId) {
                               progressBar.setVisibility(View.VISIBLE);
                               Toast.makeText(Video2gif.this,
                                       "Upload Started...", Toast.LENGTH_SHORT).show();
                           }

                           public void onProgress() {
                           }

                           public void onSuccess(String requestId, Map resultData) {

                               Toast.makeText(Video2gif.this, "Uploaded Succesfully",
                                       Toast.LENGTH_SHORT).show();
                               progressBar.setVisibility(View.GONE);
                               uploadBtn.setVisibility(View.INVISIBLE);

                               String publicId = resultData.get("public_id").toString();

                               gifUrl = MediaManager.get().url().resourceType("video")
                                       .transformation(new Transformation().videoSampling("25")
                                               .delay("200").height(200).effect("loop:10").crop("scale"))
                                       .resourceType("video").generate(publicId+".gif");

                               Glide.with(getApplicationContext()).asGif().load(gifUrl).into(img1);
                               download_btn.setVisibility(View.VISIBLE);

                           }
                           public void onError(String requestId, ErrorInfo error) {
                               Toast.makeText(Video2gif.this,
                                       "Upload Error", Toast.LENGTH_SHORT).show();
                               Log.v("ERROR!!", error.getDescription());
                           }


           });
       }
    }

    }

    I am also using Cloudinary to help process the video to GIF. Any help would be appreciated, many thanks !

  • Lego Mindstorms RSO Format

    14 juillet 2010, par Multimedia Mike — General

    I recently read a magazine article about Lego Mindstorms. Naturally, the item that caught my eye was the mention of a bit of Lego software that converts various audio file formats to a custom format called RSO that can be downloaded into a Mindstorms project to make the creation output audio. To read different sources, one might be left with the impression that there is something super-duper top secret proprietary about the format. Such impressions do not hold up under casual analysis of a sample file.

    A Google search for "filetype:rso" yielded a few pre-made sample that I have mirrored into the samples archive. The format appears to be an 8-byte header followed by unsigned, 8-bit PCM. More on the wiki. If FFmpeg could gain an RSO file muxer, that would presumably be a heroic feat to the Lego hacking community.