Recherche avancée

Médias (1)

Mot : - Tags -/artwork

Autres articles (52)

  • Participer à sa traduction

    10 avril 2011

    Vous pouvez nous aider à améliorer les locutions utilisées dans le logiciel ou à traduire celui-ci dans n’importe qu’elle nouvelle langue permettant sa diffusion à de nouvelles communautés linguistiques.
    Pour ce faire, on utilise l’interface de traduction de SPIP où l’ensemble des modules de langue de MediaSPIP sont à disposition. ll vous suffit de vous inscrire sur la liste de discussion des traducteurs pour demander plus d’informations.
    Actuellement MediaSPIP n’est disponible qu’en français et (...)

  • Supporting all media types

    13 avril 2011, par

    Unlike most software and media-sharing platforms, MediaSPIP aims to manage as many different media types as possible. The following are just a few examples from an ever-expanding list of supported formats : images : png, gif, jpg, bmp and more audio : MP3, Ogg, Wav and more video : AVI, MP4, OGV, mpg, mov, wmv and more text, code and other data : OpenOffice, Microsoft Office (Word, PowerPoint, Excel), web (html, CSS), LaTeX, Google Earth and (...)

  • Les formats acceptés

    28 janvier 2010, par

    Les commandes suivantes permettent d’avoir des informations sur les formats et codecs gérés par l’installation local de ffmpeg :
    ffmpeg -codecs ffmpeg -formats
    Les format videos acceptés en entrée
    Cette liste est non exhaustive, elle met en exergue les principaux formats utilisés : h264 : H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 m4v : raw MPEG-4 video format flv : Flash Video (FLV) / Sorenson Spark / Sorenson H.263 Theora wmv :
    Les formats vidéos de sortie possibles
    Dans un premier temps on (...)

Sur d’autres sites (6862)

  • Hide ffmpeg's console window when running YoutubeDL in GUI application

    23 juin 2016, par Slayther

    I’m developing a basic application which can download YouTube videos. Throughout the development, I had several quirks, including issues with formats.

    I decided to use a hopefully foolproof format syntax that youtube-dl will happily download for me in almost any case.

    Part of my YoutubeDL options look like this :

    self.ydl_opts = {
       'format': 'bestvideo[ext=mp4]+bestaudio[ext=m4a]/best[ext=mp4]/best',
       'quiet': True,
       'progress_hooks': [self.ydl_progress],
       'outtmpl': None
    }

    The outtmpl is inserted later on when output folder is chosen by the user.

    Since I’m using this format string, youtube-dl uses ffmpeg to merge(?) the audio and video if they are downloaded separately.

    When it does that, it opens very annoying console windows that capture the focus and interrupt other things I might be doing while the videos are downloading.

    My question is, how can I prevent ffmpeg or youtube-dl from creating those console windows from appearing, aka. how can I hide them ?

    EDIT :

    I’ll provide bare bones script that reproduces the problem :

    from __future__ import unicode_literals
    from PyQt4 import QtGui, QtCore
    import youtube_dl, sys

    def on_progress(info):
       print info.get("_percent_str", "Finished")

    ydl_opts = {
       'format': 'bestvideo[ext=mp4]+bestaudio[ext=m4a]/best[ext=mp4]/best',
       'progress_hooks': [on_progress],
       'quiet': True,
       'outtmpl': "C:/Users/Raketa/Desktop/%(title)s.%(ext)s"
    }

    ydl = youtube_dl.YoutubeDL(ydl_opts)

    class DownloadThread(QtCore.QThread):
       def __init__(self):
           super(DownloadThread, self).__init__()
           self.start()

       def __del__(self):
           self.wait()

       def run(self):
           print "Download start"
           ydl.download(["https://www.youtube.com/watch?v=uy7BiiOI_No"])
           print "Download end"

    class Application(QtGui.QMainWindow):
       def __init__(self):
           super(Application, self).__init__()
           self.dl_thread = DownloadThread()

       def run(self):
           self.show()

    def main():
       master = QtGui.QApplication(sys.argv)

       app = Application()
       app.run()

       sys.exit(master.exec_())

    if __name__ == '__main__':
       main()

    2(?) consoles appear at start of each download and 1 longer lasting console appears when both video and audio are downloaded. When downloading longer videos, the last console becomes unbearable.

    Is it possible to get rid of those ?

  • A/libc : Fatal signal 11 (SIGSEGV), code 1, fault addr 0x0

    16 mai 2016, par Pedro

    I’m working with javacv and when I try run my app with Android 6, it crashes.
    The app only crash with android 6. I tested with android N, android 5 and android 4.4
    the app crash when do a instance of FFmpegFrameRecorder class.
    This is the code of my class :

    public class MainActivity extends Activity{

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

       new FFmpegFrameRecorder("", 320, 240, 1);
     }
    }

    this is my log error :

                                             --------- beginning of crash
    05-16 14:46:15.845 6144-6144/com.example.pedro.ffmpeg30 A/libc: Fatal signal 11 (SIGSEGV), code 1, fault addr 0x0 in tid 6144 (.pedro.ffmpeg30)
    05-16 14:46:15.902 371-371/? A/DEBUG: *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
    05-16 14:46:15.905 371-371/? A/DEBUG: Build fingerprint: 'google/shamu/shamu:6.0.1/MMB29K/2419427:user/release-keys'
    05-16 14:46:15.910 371-371/? A/DEBUG: Revision: '0'
    05-16 14:46:15.910 371-371/? A/DEBUG: ABI: 'arm'
    05-16 14:46:15.915 371-371/? A/DEBUG: pid: 6144, tid: 6144, name: .pedro.ffmpeg30  >>> com.example.pedro.ffmpeg30 <<<
    05-16 14:46:15.915 371-371/? A/DEBUG: signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x0
    05-16 14:46:15.912 371-371/? W/debuggerd: type=1400 audit(0.0:525): avc: denied { search } for name="com.example.pedro.ffmpeg30" dev="dm-1" ino=742565 scontext=u:r:debuggerd:s0 tcontext=u:object_r:app_data_file:s0:c512,c768 tclass=dir permissive=0
    05-16 14:46:15.912 371-371/? W/debuggerd: type=1400 audit(0.0:526): avc: denied { search } for name="com.example.pedro.ffmpeg30" dev="dm-1" ino=742565 scontext=u:r:debuggerd:s0 tcontext=u:object_r:app_data_file:s0:c512,c768 tclass=dir permissive=0
    05-16 14:46:15.912 371-371/? W/debuggerd: type=1400 audit(0.0:527): avc: denied { search } for name="com.example.pedro.ffmpeg30" dev="dm-1" ino=742565 scontext=u:r:debuggerd:s0 tcontext=u:object_r:app_data_file:s0:c512,c768 tclass=dir permissive=0
    05-16 14:46:15.912 371-371/? W/debuggerd: type=1400 audit(0.0:528): avc: denied { search } for name="com.example.pedro.ffmpeg30" dev="dm-1" ino=742565 scontext=u:r:debuggerd:s0 tcontext=u:object_r:app_data_file:s0:c512,c768 tclass=dir permissive=0
    05-16 14:46:15.922 371-371/? W/debuggerd: type=1400 audit(0.0:529): avc: denied { search } for name="com.example.pedro.ffmpeg30" dev="dm-1" ino=742565 scontext=u:r:debuggerd:s0 tcontext=u:object_r:app_data_file:s0:c512,c768 tclass=dir permissive=0
    05-16 14:46:15.922 371-371/? W/debuggerd: type=1400 audit(0.0:530): avc: denied { search } for name="com.example.pedro.ffmpeg30" dev="dm-1" ino=742565 scontext=u:r:debuggerd:s0 tcontext=u:object_r:app_data_file:s0:c512,c768 tclass=dir permissive=0
    05-16 14:46:15.922 371-371/? W/debuggerd: type=1400 audit(0.0:531): avc: denied { search } for name="com.example.pedro.ffmpeg30" dev="dm-1" ino=742565 scontext=u:r:debuggerd:s0 tcontext=u:object_r:app_data_file:s0:c512,c768 tclass=dir permissive=0
    05-16 14:46:15.922 371-371/? W/debuggerd: type=1400 audit(0.0:532): avc: denied { search } for name="com.example.pedro.ffmpeg30" dev="dm-1" ino=742565 scontext=u:r:debuggerd:s0 tcontext=u:object_r:app_data_file:s0:c512,c768 tclass=dir permissive=0
    05-16 14:46:15.922 371-371/? W/debuggerd: type=1400 audit(0.0:533): avc: denied { search } for name="com.example.pedro.ffmpeg30" dev="dm-1" ino=742565 scontext=u:r:debuggerd:s0 tcontext=u:object_r:app_data_file:s0:c512,c768 tclass=dir permissive=0
    05-16 14:46:15.922 371-371/? W/debuggerd: type=1400 audit(0.0:534): avc: denied { search } for name="com.example.pedro.ffmpeg30" dev="dm-1" ino=742565 scontext=u:r:debuggerd:s0 tcontext=u:object_r:app_data_file:s0:c512,c768 tclass=dir permissive=0
    05-16 14:46:15.922 371-371/? W/debuggerd: type=1400 audit(0.0:535): avc: denied { search } for name="com.example.pedro.ffmpeg30" dev="dm-1" ino=742565 scontext=u:r:debuggerd:s0 tcontext=u:object_r:app_data_file:s0:c512,c768 tclass=dir permissive=0
    05-16 14:46:15.922 371-371/? W/debuggerd: type=1400 audit(0.0:536): avc: denied { search } for name="com.example.pedro.ffmpeg30" dev="dm-1" ino=742565 scontext=u:r:debuggerd:s0 tcontext=u:object_r:app_data_file:s0:c512,c768 tclass=dir permissive=0
    05-16 14:46:15.940 371-371/? A/DEBUG:     r0 00000000  r1 00000002  r2 b6811031  r3 a0f5de7c
    05-16 14:46:15.940 371-371/? A/DEBUG:     r4 a0f59594  r5 b67c1a61  r6 b362f1a4  r7 00000001
    05-16 14:46:15.940 371-371/? A/DEBUG:     r8 b6f4c6ec  r9 0000000b  sl b362f1a4  fp b6f452fc
    05-16 14:46:15.941 371-371/? A/DEBUG:     ip fffffe8c  sp bea86820  lr a0efcec1  pc a0efe58a  cpsr 000d0030
    05-16 14:46:15.932 371-371/? W/debuggerd: type=1400 audit(0.0:537): avc: denied { search } for name="com.example.pedro.ffmpeg30" dev="dm-1" ino=742565 scontext=u:r:debuggerd:s0 tcontext=u:object_r:app_data_file:s0:c512,c768 tclass=dir permissive=0
    05-16 14:46:15.964 371-371/? A/DEBUG: backtrace:
    05-16 14:46:15.965 371-371/? A/DEBUG:     #00 pc 0001a58a  /data/data/com.example.pedro.ffmpeg30/cache/javacpp23106072121027/libc.so
    05-16 14:46:15.965 371-371/? A/DEBUG:     #01 pc 00016695  /data/data/com.example.pedro.ffmpeg30/cache/javacpp23106072121027/libc.so
    05-16 14:46:15.965 371-371/? A/DEBUG:     #02 pc 00002465  /system/bin/linker (__dl__ZN6soinfo13call_functionEPKcPFvvE+48)
    05-16 14:46:15.965 371-371/? A/DEBUG:     #03 pc 0000252f  /system/bin/linker (__dl__ZN6soinfo10call_arrayEPKcPPFvvEjb+134)
    05-16 14:46:15.965 371-371/? A/DEBUG:     #04 pc 000026f5  /system/bin/linker (__dl__ZN6soinfo17call_constructorsEv+160)
    05-16 14:46:15.965 371-371/? A/DEBUG:     #05 pc 00006115  /system/bin/linker (__dl__Z9do_dlopenPKciPK17android_dlextinfo+224)
    05-16 14:46:15.966 371-371/? A/DEBUG:     #06 pc 00001c95  /system/bin/linker (__dl_dlopen+20)
    05-16 14:46:15.966 371-371/? A/DEBUG:     #07 pc 0025b13b  /system/lib/libart.so (art::JavaVMExt::LoadNativeLibrary(_JNIEnv*, std::__1::basic_string, std::__1::allocator<char> > const&amp;, _jobject*, std::__1::basic_string, std::__1::allocator<char> >*)+650)
    05-16 14:46:15.966 371-371/? A/DEBUG:     #08 pc 002d13d7  /system/lib/libart.so (art::Runtime_nativeLoad(_JNIEnv*, _jclass*, _jstring*, _jobject*, _jstring*)+194)
    05-16 14:46:15.962 371-371/? W/debuggerd: type=1400 audit(0.0:538): avc: denied { search } for name="com.example.pedro.ffmpeg30" dev="dm-1" ino=742565 scontext=u:r:debuggerd:s0 tcontext=u:object_r:app_data_file:s0:c512,c768 tclass=dir permissive=0
    05-16 14:46:15.966 371-371/? A/DEBUG:     #09 pc 738b0105  /data/dalvik-cache/arm/system@framework@boot.oat (offset 0x1ec9000)
    05-16 14:46:16.339 863-6279/? W/ActivityManager:   Force finishing activity com.example.pedro.ffmpeg30/.MainActivity
    05-16 14:46:16.339 371-371/? A/DEBUG: Tombstone written to: /data/tombstones/tombstone_07
    05-16 14:46:16.339 371-371/? E/DEBUG: AM write failed: Broken pipe
    </char></char>

    I’m using the last version downloaded here :
    http://search.maven.org/#search|ga|1|bytedeco

    my gradle dependencies :

    dependencies {
     compile fileTree(dir: 'libs', include: ['*.jar'])
     testCompile 'junit:junit:4.12'
     compile 'com.android.support:appcompat-v7:23.3.0'

     compile files('libs/javacv-1.2.jar')
     compile files('libs/javacpp-1.2.jar')
     compile files('libs/ffmpeg-3.0.2-1.2.jar')
     compile files('libs/ffmpeg-3.0.2-1.2-android-arm.jar')
    }
  • Trying to fix VPlayer's seeking ability, need some guidance [Android FFmpeg]

    1er juin 2016, par vxh.viet

    I’m trying to fix the currently broken seeking ability of VPlayer which is a FFmpeg player for Android. Being a Java developer, C code looks like alien language to me so can only fix it using common logic (which could make any C veteran have a good laugh).

    The relevant file is player.c and I’ll try my best to point out the relevant modification.

    So the basic idea is because FFmpeg’s av_seek_frame is very inaccurate even with AVSEEK_FLAG_ANY so I’m trying to follow this suggestion to seek backward to the nearest keyframe and then decode to the frame I want. One addition note is since I want to seek based on millisecond while the said solution show the way to seek by frame which is potentially a source of problem.

    In the Player I add the following fields :

    struct Player{
    ....
    AVFrame *frame;
    int64_t current_time_stamp;
    };

    In the player_read_from_stream I modify the seeking part as :

    void * player_read_from_stream(void *data) {
       ...
       struct DecoderData *decoder_data = data;
       int stream_no = decoder_data->stream_no;
       AVCodecContext * ctx = player->input_codec_ctxs[stream_no];
       ...
       // seeking, start my stuff
       if(av_seek_frame(player->input_format_ctx, seek_input_stream_number, seek_target, AVSEEK_FLAG_BACKWARD) >= 0){
           //seek to key frame success, now need to read every frame from the key frame to our target time stamp


           while(player->current_time_stamp &lt; seek_target){

               int frame_done;

               while (av_read_frame(player->input_format_ctx, &amp;packet) >= 0) {
                   if (packet.stream_index == seek_input_stream_number) {

                       avcodec_decode_video2(ctx, player->frame, &amp;frame_done, &amp;packet);
                       LOGI(1,"testing_stuff ctx %d", *ctx);
                       if (frame_done) {

                           player->current_time_stamp = packet.dts;
                           LOGI(1,"testing_stuff current_time_stamp: %"PRId64, player->current_time_stamp);
                           av_free_packet(&amp;packet);
                           return;
                       }
                   }
                   av_free_packet(&amp;packet);
               }
           }


       }
       //end my stuff

       LOGI(3, "player_read_from_stream seeking success");

       int64_t current_time = av_gettime();
       player->start_time = current_time - player->seek_position;
       player->pause_time = current_time;        
    }

    And in player_alloc_frames I allocate the memory for my frame as :

    int player_alloc_frames(struct Player *player) {
       int capture_streams_no = player->caputre_streams_no;
       int stream_no;
       for (stream_no = 0; stream_no &lt; capture_streams_no; ++stream_no) {
           player->input_frames[stream_no] = av_frame_alloc();

           //todo: test my stuff
           player->frame = av_frame_alloc();
           //end test

           if (player->input_frames[stream_no] == NULL) {
               return -ERROR_COULD_NOT_ALLOC_FRAME;
           }
       }
       return 0;
    }

    Currently it just keep crashing and being a typical Android NDK’s "feature", it just provide a super helpful stack trace :

    libc: Fatal signal 11 (SIGSEGV), code 1, fault addr 0x40 in tid 2717 (FFmpegReadFromS)

    I very much appreciate if anyone could help me solve this problem. Thank you for your time.