Recherche avancée

Médias (17)

Mot : - Tags -/wired

Autres articles (54)

  • Personnaliser en ajoutant son logo, sa bannière ou son image de fond

    5 septembre 2013, par

    Certains thèmes prennent en compte trois éléments de personnalisation : l’ajout d’un logo ; l’ajout d’une bannière l’ajout d’une image de fond ;

  • Ecrire une actualité

    21 juin 2013, par

    Présentez les changements dans votre MédiaSPIP ou les actualités de vos projets sur votre MédiaSPIP grâce à la rubrique actualités.
    Dans le thème par défaut spipeo de MédiaSPIP, les actualités sont affichées en bas de la page principale sous les éditoriaux.
    Vous pouvez personnaliser le formulaire de création d’une actualité.
    Formulaire de création d’une actualité Dans le cas d’un document de type actualité, les champs proposés par défaut sont : Date de publication ( personnaliser la date de publication ) (...)

  • Mise à jour de la version 0.1 vers 0.2

    24 juin 2013, par

    Explications des différents changements notables lors du passage de la version 0.1 de MediaSPIP à la version 0.3. Quelles sont les nouveautés
    Au niveau des dépendances logicielles Utilisation des dernières versions de FFMpeg (>= v1.2.1) ; Installation des dépendances pour Smush ; Installation de MediaInfo et FFprobe pour la récupération des métadonnées ; On n’utilise plus ffmpeg2theora ; On n’installe plus flvtool2 au profit de flvtool++ ; On n’installe plus ffmpeg-php qui n’est plus maintenu au (...)

Sur d’autres sites (6422)

  • FFMPEG output duration using "-t" is too long by 10 ms

    9 octobre 2018, par Ze'ev

    I’m using this command to take video from a 35 second QuickTime file and replace audio with a WAV :

    ffmpeg -i 'video.mov' -i 'audio.wav' -c:v copy -c:a copy -map 0:v:0 -map 1:a:0 -t 35.0000 'output.mov'

    But the audio is slightly longer than the video, and I’m trying to make ffmpeg trim the output to exactly 35 seconds with -t 35 but the output is 35.01 seconds.

    I also tried -t 35.000 and -to 35 and several other options, but it’s alway 10ms too long.

    ffmpeg output :

    ffmpeg version N-91789-g11cec34829 Copyright (c) 2000-2018 the FFmpeg developers
     built with Apple LLVM version 9.1.0 (clang-902.0.39.2)
     configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom --enable-appkit --enable-avfoundation --enable-coreimage --enable-audiotoolbox
     libavutil      56. 19.100 / 56. 19.100
     libavcodec     58. 27.101 / 58. 27.101
     libavformat    58. 17.106 / 58. 17.106
     libavdevice    58.  4.101 / 58.  4.101
     libavfilter     7. 26.100 /  7. 26.100
     libswscale      5.  2.100 /  5.  2.100
     libswresample   3.  2.100 /  3.  2.100
     libpostproc    55.  2.100 / 55.  2.100
    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'video.mov':
     Metadata:
       major_brand     : qt  
       minor_version   : 537199360
       compatible_brands: qt  
       creation_time   : 2018-10-09T13:41:49.000000Z
     Duration: 00:00:35.00, start: 0.000000, bitrate: 172467 kb/s
       Stream #0:0(eng): Video: prores (apch / 0x68637061), yuv422p10le(tv, bt709, progressive), 1920x1080, 170692 kb/s, SAR 1:1 DAR 16:9, 25 fps, 25 tbr, 25 tbn, 25 tbc (default)
       Metadata:
         creation_time   : 2018-10-09T13:41:49.000000Z
         handler_name    : Apple Video Media Handler
         encoder         : Apple ProRes 422 (HQ)
         timecode        : 00:01:12:22
       Stream #0:1(eng): Audio: pcm_s16le (sowt / 0x74776F73), 48000 Hz, stereo, s16, 1536 kb/s (default)
       Metadata:
         creation_time   : 2018-10-09T13:41:49.000000Z
         handler_name    : Apple Sound Media Handler
         timecode        : 00:01:12:22
       Stream #0:2(eng): Data: none (tmcd / 0x64636D74) (default)
       Metadata:
         creation_time   : 2018-10-09T13:41:49.000000Z
         handler_name    : Time Code Media Handler
         timecode        : 00:01:12:22
    Guessed Channel Layout for Input Stream #1.0 : stereo
    Input #1, wav, from 'audio.wav':
     Metadata:
       encoded_by      : Pro Tools
       originator_reference: aaygKpJ1bvMk
       date            : 2018-10-02
       creation_time   : 12:29:34
       time_reference  : 172800000
     Duration: 00:00:35.04, bitrate: 2316 kb/s
       Stream #1:0: Audio: pcm_s24le ([1][0][0][0] / 0x0001), 48000 Hz, stereo, s32 (24 bit), 2304 kb/s
    Output #0, mov, to 'output.mov':
     Metadata:
       major_brand     : qt  
       minor_version   : 537199360
       compatible_brands: qt  
       encoder         : Lavf58.17.106
       Stream #0:0(eng): Video: prores (apch / 0x68637061), yuv422p10le(tv, bt709, progressive), 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 170692 kb/s, 0.04 fps, 25 tbr, 12800 tbn, 25 tbc (default)
       Metadata:
         creation_time   : 2018-10-09T13:41:49.000000Z
         handler_name    : Apple Video Media Handler
         encoder         : Apple ProRes 422 (HQ)
         timecode        : 00:01:12:22
       Stream #0:1: Audio: pcm_s24le (in24 / 0x34326E69), 48000 Hz, stereo, s32 (24 bit), 2304 kb/s
    Stream mapping:
     Stream #0:0 -> #0:0 (copy)
     Stream #1:0 -> #0:1 (copy)
    Press [q] to stop, [?] for help
    frame=  875 fps=479 q=-1.0 Lsize=  739138kB time=00:00:34.99 bitrate=173024.6kbits/s speed=19.2x    
    video:729276kB audio:9846kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.002153%
  • FFMpeg Error initializing filter 'drawtext' on Android project

    14 janvier 2019, par user3884677

    I try to draw a text on a video using FFMpeg but I have the error :

    ffmpeg version n3.0.1 Copyright (c) 2000-2016 the FFmpeg developers
         built with gcc 4.8 (GCC)
         configuration: --target-os=linux --cross-prefix=/home/vagrant/SourceCode/ffmpeg-android/toolchain-android/bin/arm-linux-androideabi- --arch=arm --cpu=cortex-a8 --enable-runtime-cpudetect --sysroot=/home/vagrant/SourceCode/ffmpeg-android/toolchain-android/sysroot --enable-pic --enable-libx264 --enable-libass --enable-libfreetype --enable-libfribidi --enable-libmp3lame --enable-fontconfig --enable-pthreads --disable-debug --disable-ffserver --enable-version3 --enable-hardcoded-tables --disable-ffplay --disable-ffprobe --enable-gpl --enable-yasm --disable-doc --disable-shared --enable-static --pkg-config=/home/vagrant/SourceCode/ffmpeg-android/ffmpeg-pkg-config --prefix=/home/vagrant/SourceCode/ffmpeg-android/build/armeabi-v7a --extra-cflags='-I/home/vagrant/SourceCode/ffmpeg-android/toolchain-android/include -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fno-strict-overflow -fstack-protector-all' --extra-ldflags='-L/home/vagrant/SourceCode/ffmpeg-android/toolchain-android/lib -Wl,-z,relro -Wl,-z,now -pie' --extra-libs='-lpng -lexpat -lm' --extra-cxxflags=
         libavutil      55. 17.103 / 55. 17.103
         libavcodec     57. 24.102 / 57. 24.102
         libavformat    57. 25.100 / 57. 25.100
         libavdevice    57.  0.101 / 57.  0.101
         libavfilter     6. 31.100 /  6. 31.100
         libswscale      4.  0.100 /  4.  0.100
         libswresample   2.  0.101 /  2.  0.101
         libpostproc    54.  0.100 / 54.  0.100
       Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/storage/emulated/0/mediapicker/videos/eb89fc80-ebcc-4848-a95c-6983b2c5b09d.mp4':
         Metadata:
           major_brand     : 3gp4
           minor_version   : 0
           compatible_brands: isom3gp4
           creation_time   : 2018-10-03 15:46:13
           com.android.version: 6.0
         Duration: 00:00:04.78, start: 0.000000, bitrate: 6167 kb/s
           Stream #0:0(eng): Video: h264 (Baseline) (avc1 / 0x31637661), yuv420p, 1280x720, 6122 kb/s, SAR 1:1 DAR 16:9, 19.95 fps, 19.92 tbr, 90k tbn, 180k tbc (default)
           Metadata:
             rotate          : 90
             creation_time   : 2018-10-03 15:46:13
             handler_name    : VideoHandle
           Side data:
             displaymatrix: rotation of -90.00 degrees
           Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 127 kb/s (default)
           Metadata:
             creation_time   : 2018-10-03 15:46:13
             handler_name    : SoundHandle
       Fontconfig error: Cannot load default config file
       [Parsed_drawtext_0 @ 0xb561e040] impossible to init fontconfig
       [AVFilterGraph @ 0xb5609140] Error initializing filter 'drawtext' with args '"fontfile=/usr/share/fonts/TTF/Vera.ttf: text=Test Heading"'
       Error opening filters!

    This is my code :

    private GLSurfaceView mGLView;
       private Button chooseVideo;
       private Button valideButton;
       private String SelectedVideo;
       private VideoView videoView;

       @Override
       protected void onCreate(Bundle savedInstanceState) {

           super.onCreate(savedInstanceState);
           setContentView(R.layout.activity_main);

           chooseVideo= findViewById(R.id.choose_video);
           chooseVideo.setOnClickListener(new View.OnClickListener() {
               public void onClick(View v) {

                   new VideoPicker.Builder(MainActivity.this)
                           .mode(VideoPicker.Mode.GALLERY)
                           .directory(VideoPicker.Directory.DEFAULT)
                           .extension(VideoPicker.Extension.MP4)
                           .enableDebuggingMode(true)
                           .build();
               }
           });
           videoView = (VideoView) findViewById(R.id.videoView);
           final FFmpeg ffmpeg = FFmpeg.getInstance(MainActivity.this);
           try {
               ffmpeg.loadBinary(new LoadBinaryResponseHandler() {
                   @Override
                   public void onStart() {
                   }

                   @Override
                   public void onFailure() {
                   }

                   @Override
                   public void onSuccess() {
                   }

                   @Override
                   public void onFinish() {
                   }
               });
           } catch (FFmpegNotSupportedException e) {
           }
           valideButton= findViewById(R.id.valide);
           valideButton.setOnClickListener(new View.OnClickListener() {
               public void onClick(View v) {
                   try {
                       String[] cmd = {"-y" , "-i", SelectedVideo,
                               "-vf", "drawtext=\"fontfile=/usr/share/fonts/TTF/Vera.ttf: text=\'Test Heading\'\"",
                               "-acodec",
                               "copy",                       Environment.getExternalStorageDirectory()+"/"+Environment.DIRECTORY_MOVIES+"/output.mp4"};

                       ffmpeg.execute(cmd, new ExecuteBinaryResponseHandler() {

                           @Override
                           public void onStart() {
                           }

                           @Override
                           public void onProgress(String message) {
                           }

                           @Override
                           public void onFailure(String message) {
                               Log.i("ffmpegFailure",message);
                           }

                           @Override
                           public void onSuccess(String message) {
                               Log.i("ffmpegExecute",message);
                               videoView.setVideoPath(Environment.getExternalStorageDirectory()+"/"+Environment.DIRECTORY_MOVIES+"/output.mp4");
                               videoView.requestFocus();
                               videoView.start();
                           }
                           @Override
                           public void onFinish() {
                           }
                       });
                   } catch (FFmpegCommandAlreadyRunningException e) {
                       // Handle if FFmpeg is already running
                   }
               }
           });
    }

    My problem is that I can not use the option ’drawtext’. When I don’t use the option ’drawtext’ it’s work. I do not know which syntax I should use.
    I tried a lot of possibilities without success.
    I use this library : http://writingminds.github.io/ffmpeg-android-java/

    Can you help me ?

  • FFMpeg Error initializing filter 'drawtext'

    4 octobre 2018, par user3884677

    I try to draw a text on a video using FFMpeg but I have the error :

    ffmpeg version n3.0.1 Copyright (c) 2000-2016 the FFmpeg developers
         built with gcc 4.8 (GCC)
         configuration: --target-os=linux --cross-prefix=/home/vagrant/SourceCode/ffmpeg-android/toolchain-android/bin/arm-linux-androideabi- --arch=arm --cpu=cortex-a8 --enable-runtime-cpudetect --sysroot=/home/vagrant/SourceCode/ffmpeg-android/toolchain-android/sysroot --enable-pic --enable-libx264 --enable-libass --enable-libfreetype --enable-libfribidi --enable-libmp3lame --enable-fontconfig --enable-pthreads --disable-debug --disable-ffserver --enable-version3 --enable-hardcoded-tables --disable-ffplay --disable-ffprobe --enable-gpl --enable-yasm --disable-doc --disable-shared --enable-static --pkg-config=/home/vagrant/SourceCode/ffmpeg-android/ffmpeg-pkg-config --prefix=/home/vagrant/SourceCode/ffmpeg-android/build/armeabi-v7a --extra-cflags='-I/home/vagrant/SourceCode/ffmpeg-android/toolchain-android/include -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fno-strict-overflow -fstack-protector-all' --extra-ldflags='-L/home/vagrant/SourceCode/ffmpeg-android/toolchain-android/lib -Wl,-z,relro -Wl,-z,now -pie' --extra-libs='-lpng -lexpat -lm' --extra-cxxflags=
         libavutil      55. 17.103 / 55. 17.103
         libavcodec     57. 24.102 / 57. 24.102
         libavformat    57. 25.100 / 57. 25.100
         libavdevice    57.  0.101 / 57.  0.101
         libavfilter     6. 31.100 /  6. 31.100
         libswscale      4.  0.100 /  4.  0.100
         libswresample   2.  0.101 /  2.  0.101
         libpostproc    54.  0.100 / 54.  0.100
       Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/storage/emulated/0/mediapicker/videos/eb89fc80-ebcc-4848-a95c-6983b2c5b09d.mp4':
         Metadata:
           major_brand     : 3gp4
           minor_version   : 0
           compatible_brands: isom3gp4
           creation_time   : 2018-10-03 15:46:13
           com.android.version: 6.0
         Duration: 00:00:04.78, start: 0.000000, bitrate: 6167 kb/s
           Stream #0:0(eng): Video: h264 (Baseline) (avc1 / 0x31637661), yuv420p, 1280x720, 6122 kb/s, SAR 1:1 DAR 16:9, 19.95 fps, 19.92 tbr, 90k tbn, 180k tbc (default)
           Metadata:
             rotate          : 90
             creation_time   : 2018-10-03 15:46:13
             handler_name    : VideoHandle
           Side data:
             displaymatrix: rotation of -90.00 degrees
           Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 127 kb/s (default)
           Metadata:
             creation_time   : 2018-10-03 15:46:13
             handler_name    : SoundHandle
       Fontconfig error: Cannot load default config file
       [Parsed_drawtext_0 @ 0xb561e040] impossible to init fontconfig
       [AVFilterGraph @ 0xb5609140] Error initializing filter 'drawtext' with args '"fontfile=/usr/share/fonts/TTF/Vera.ttf: text=Test Heading"'
       Error opening filters!

    This is my code :

    private GLSurfaceView mGLView;
       private Button chooseVideo;
       private Button valideButton;
       private String SelectedVideo;
       private VideoView videoView;

       @Override
       protected void onCreate(Bundle savedInstanceState) {

           super.onCreate(savedInstanceState);
           setContentView(R.layout.activity_main);

           chooseVideo= findViewById(R.id.choose_video);
           chooseVideo.setOnClickListener(new View.OnClickListener() {
               public void onClick(View v) {

                   new VideoPicker.Builder(MainActivity.this)
                           .mode(VideoPicker.Mode.GALLERY)
                           .directory(VideoPicker.Directory.DEFAULT)
                           .extension(VideoPicker.Extension.MP4)
                           .enableDebuggingMode(true)
                           .build();
               }
           });
           videoView = (VideoView) findViewById(R.id.videoView);
           final FFmpeg ffmpeg = FFmpeg.getInstance(MainActivity.this);
           try {
               ffmpeg.loadBinary(new LoadBinaryResponseHandler() {
                   @Override
                   public void onStart() {
                   }

                   @Override
                   public void onFailure() {
                   }

                   @Override
                   public void onSuccess() {
                   }

                   @Override
                   public void onFinish() {
                   }
               });
           } catch (FFmpegNotSupportedException e) {
           }
           valideButton= findViewById(R.id.valide);
           valideButton.setOnClickListener(new View.OnClickListener() {
               public void onClick(View v) {
                   try {
                       String[] cmd = {"-y" , "-i", SelectedVideo,
                               "-vf", "drawtext=\"fontfile=/usr/share/fonts/TTF/Vera.ttf: text=\'Test Heading\'\"",
                               "-acodec",
                               "copy",                       Environment.getExternalStorageDirectory()+"/"+Environment.DIRECTORY_MOVIES+"/output.mp4"};

                       ffmpeg.execute(cmd, new ExecuteBinaryResponseHandler() {

                           @Override
                           public void onStart() {
                           }

                           @Override
                           public void onProgress(String message) {
                           }

                           @Override
                           public void onFailure(String message) {
                               Log.i("ffmpegFailure",message);
                           }

                           @Override
                           public void onSuccess(String message) {
                               Log.i("ffmpegExecute",message);
                               videoView.setVideoPath(Environment.getExternalStorageDirectory()+"/"+Environment.DIRECTORY_MOVIES+"/output.mp4");
                               videoView.requestFocus();
                               videoView.start();
                           }
                           @Override
                           public void onFinish() {
                           }
                       });
                   } catch (FFmpegCommandAlreadyRunningException e) {
                       // Handle if FFmpeg is already running
                   }
               }
           });
    }

    My problem is that I can not use the option ’drawtext’. When I don’t use the option ’drawtext’ it’s work. I do not know which syntax I should use.
    I tried a lot of possibilities without success.
    I use this library : http://writingminds.github.io/ffmpeg-android-java/

    Can you help me ?