Recherche avancée

Médias (0)

Mot : - Tags -/signalement

Aucun média correspondant à vos critères n’est disponible sur le site.

Autres articles (43)

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

  • List of compatible distributions

    26 avril 2011, par

    The table below is the list of Linux distributions compatible with the automated installation script of MediaSPIP. Distribution nameVersion nameVersion number Debian Squeeze 6.x.x Debian Weezy 7.x.x Debian Jessie 8.x.x Ubuntu The Precise Pangolin 12.04 LTS Ubuntu The Trusty Tahr 14.04
    If you want to help us improve this list, you can provide us access to a machine whose distribution is not mentioned above or send the necessary fixes to add (...)

  • Emballe médias : à quoi cela sert ?

    4 février 2011, par

    Ce plugin vise à gérer des sites de mise en ligne de documents de tous types.
    Il crée des "médias", à savoir : un "média" est un article au sens SPIP créé automatiquement lors du téléversement d’un document qu’il soit audio, vidéo, image ou textuel ; un seul document ne peut être lié à un article dit "média" ;

Sur d’autres sites (7849)

  • Using the result of a concat filter in a complex filter in FFmpeg

    20 septembre 2021, par Theodore Ts'ai

    I need to use the result of a -concat filter as an inuput of another filter, for example I'd like to scale and pad the result of the concat but can't find anything. It needs to be done in a single command so I can't just take the output file as an input.

    


    an example of what I need would be so but it doesn't work

    


        ffmpeg -i irregular.mp4 -i intro.mp4 -i outro.mp4 -filter_complex "[0]scale=1080:610:force_original_aspect_ratio=increase[scaled];[scaled]crop=1080:610[cropped];[cropped]setdar=16/9[a];[2]scale=1080:610:force_original_aspect_ratio=increase[scaledIntro];[scaledIntro]crop=1080:610[b];[b]setdar=16/9[b];[3]scale=1080:610:force_original_aspect_ratio=increase[scaledOutro];[scaledOutro]crop=1080:610[c];[c]setdar=16/9[c];[b:v:0][b:a:0][a:v:0][a:a:0][c:v:0][c:a:0]concat=n=3:v=1:a=1[concatenated][concatenateda];[concatenated]pad=1080:1920:(ow-iw)/2+(0):(oh-ih)/2-(0) [padded];[padded][1]overlay=0:0[framed]" -map "[framed]" -map"[concatenateda]" output.mp4


    


  • ffmpeg command not working with white space of directory path in Android

    13 avril 2017, par Sakib Syed

    I am working with FFMPEG library in which I want to rotate video using this library which works fine if I am file path has no any white space. But in my case I have white space of video directory (you can see full path in String commandStr onPreExecute() method of asynctask) path then it is not working at all. I have also seen same question like this and some more but not get any idea how to resolved it properly. Below is my code of MainActivity.class

       public class MainActivity extends AppCompatActivity implements View.OnClickListener{

       String workFolder = null;
       String demoVideoFolder = null;
       String vkLogPath = null;
       private boolean commandValidationFailedFlag = false;

       private Button btnRun;


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

           GeneralUtils.checkForPermissionsMAndAbove(MainActivity.this, true);


           setIds();
           setListner();


           demoVideoFolder = Environment.getExternalStorageDirectory().getAbsolutePath() + "/videokit/";

           Log.i(Prefs.TAG, getString(R.string.app_name) + " version: " + GeneralUtils.getVersionName(getApplicationContext()) );
           workFolder = getApplicationContext().getFilesDir().getAbsolutePath() + "/";
           vkLogPath = workFolder + "vk.log";

           GeneralUtils.copyLicenseFromAssetsToSDIfNeeded(this, workFolder);
           GeneralUtils.copyDemoVideoFromAssetsToSDIfNeeded(this, demoVideoFolder);


           int rc = GeneralUtils.isLicenseValid(getApplicationContext(), workFolder);
           Log.i(Prefs.TAG, "License check RC: " + rc);
       }

       private void setListner() {
           btnRun.setOnClickListener(this);
       }

       private void setIds() {
           try {
               btnRun =  (Button)findViewById(R.id.btnRun);
           } catch (Exception e) {
               e.printStackTrace();
           }
       }

       @Override
       public void onClick(View view) {
           switch (view.getId()){
               case R.id.btnRun:

                   Log.i(Prefs.TAG, "run clicked.");
                   if (GeneralUtils.checkIfFileExistAndNotEmpty(workFolder)) {
                       new TranscdingBackground(MainActivity.this).execute();
                   }
                   else {
                       Toast.makeText(getApplicationContext(), workFolder + " not found", Toast.LENGTH_LONG).show();
                   }
                   break;
           }
       }

       public class TranscdingBackground extends AsyncTask
       {

           ProgressDialog progressDialog;
           Activity _act;
           String commandStr;

           public TranscdingBackground (Activity act) {
               _act = act;
           }



           @Override
           protected void onPreExecute() {

    //            commandStr = "ffmpeg -y -i /storage/emulated/0/WhatsApp/Media/in.mp4 -vf rotate=270*(PI/180) /sdcard/videokit/out.mp4";
               commandStr = "ffmpeg -y -i /storage/emulated/0/WhatsApp/Media/WhatsApp Video/in.mp4 -vf rotate=270*(PI/180) /sdcard/videokit/out.mp4";


               progressDialog = new ProgressDialog(_act);
               progressDialog.setMessage("FFmpeg4Android Transcoding in progress...");
               progressDialog.show();

           }

           protected Integer doInBackground(String... paths) {
               Log.i(Prefs.TAG, "doInBackground started...");

               // delete previous log
               boolean isDeleted = GeneralUtils.deleteFileUtil(workFolder + "/vk.log");
               Log.i(Prefs.TAG, "vk deleted: " + isDeleted);

               PowerManager powerManager = (PowerManager)_act.getSystemService(Activity.POWER_SERVICE);
               PowerManager.WakeLock wakeLock = powerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "VK_LOCK");
               Log.d(Prefs.TAG, "Acquire wake lock");
               wakeLock.acquire();



               LoadJNI vk = new LoadJNI();
               try {

                   vk.run(GeneralUtils.utilConvertToComplex(commandStr), workFolder, getApplicationContext());

                   // copying vk.log (internal native log) to the videokit folder
                   GeneralUtils.copyFileToFolder(vkLogPath, demoVideoFolder);

               } catch (CommandValidationException e) {
                   Log.e(Prefs.TAG, "vk run exeption.", e);
                   commandValidationFailedFlag = true;

               } catch (Throwable e) {
                   Log.e(Prefs.TAG, "vk run exeption.", e);
               }
               finally {
                   if (wakeLock.isHeld())
                       wakeLock.release();
                   else{
                       Log.i(Prefs.TAG, "Wake lock is already released, doing nothing");
                   }
               }
               Log.i(Prefs.TAG, "doInBackground finished");
               return Integer.valueOf(0);
           }

           protected void onProgressUpdate(Integer... progress) {
           }

           @Override
           protected void onCancelled() {
               Log.i(Prefs.TAG, "onCancelled");
               //progressDialog.dismiss();
               super.onCancelled();
           }


           @Override
           protected void onPostExecute(Integer result) {
               Log.i(Prefs.TAG, "onPostExecute");
               progressDialog.dismiss();
               super.onPostExecute(result);

               // finished Toast
               String rc = null;
               if (commandValidationFailedFlag) {
                   rc = "Command Vaidation Failed";
               }
               else {
                   rc = GeneralUtils.getReturnCodeFromLog(vkLogPath);
               }
               final String status = rc;
               MainActivity.this.runOnUiThread(new Runnable() {
                   public void run() {
                       Toast.makeText(MainActivity.this, status, Toast.LENGTH_LONG).show();
                       if (status.equals("Transcoding Status: Failed")) {
                           Toast.makeText(MainActivity.this, "Check: " + vkLogPath + " for more information.", Toast.LENGTH_LONG).show();
                       }
                   }
               });
           }
       }

    }

    Here onPreExecute() method I have given video file path.

  • ffmpeg : Streamcopy requested for output stream 0:0, which is fed from a complex filtergraph. Filtering and streamcopy cannot be used together

    7 juin 2017, par DmitrySemenov

    I’m on Fedora25 running the following command expecting live streaming to youtube and at the same time saving of the final combined stream (screencast + webcam + logo + audio) into local mp4 file.

    ffmpeg \
    -f x11grab -video_size 3840x2160 -framerate 30 -i :1.0 \
    -f v4l2 -video_size 320x240 -framerate 30 -i /dev/video1 \
    -f alsa -ac 2 -i pulse -i logo.png -filter_complex \
    "[0:v]scale=1920:-1,setpts=PTS-STARTPTS[bg]; \
    [1:v]scale=160:-1,setpts=PTS-STARTPTS[fg]; \
    [bg][fg]overlay=W-w-10:10[bg2]; \
    [bg2][3:v]overlay=W-w-10:H-h-10,format=yuv420p[out]" \
    -map "[out]" -map 2:a -c:v libx264 -preset veryfast \
    -maxrate 9000k -bufsize 12000k -c:a aac -b:a 160k -ar 44100 -b:a 128k \
    -force_key_frames "expr:gte(t,n_forced*2)" \
    -c copy -f flv rtmp://a.rtmp.youtube.com/live2/TOKEN
    -c copy -f mp4 out.mp4

    getting the following output

    ffmpeg version 3.1.7 Copyright (c) 2000-2017 the FFmpeg developers
     built with gcc 6.3.1 (GCC) 20161221 (Red Hat 6.3.1-1)
     configuration: --prefix=/usr --bindir=/usr/bin --datadir=/usr/share/ffmpeg --incdir=/usr/include/ffmpeg --libdir=/usr/lib64 --mandir=/usr/share/man --arch=x86_64 --optflags='-O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -m64 -mtune=generic' --extra-ldflags='-Wl,-z,relro -specs=/usr/lib/rpm/redhat/redhat-hardened-ld' --enable-bzlib --disable-crystalhd --enable-fontconfig --enable-frei0r --enable-gcrypt --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libcdio --enable-indev=jack --enable-libfreetype --enable-libfribidi --enable-libgsm --enable-libmp3lame --enable-nvenc --extra-cflags=-I/usr/include/nvenc --enable-openal --enable-opencl --enable-opengl --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libv4l2 --enable-libvpx --enable-libx264 --enable-libx265 --enable-libxvid --enable-x11grab --enable-avfilter --enable-avresample --enable-postproc --enable-pthreads --disable-static --enable-shared --enable-gpl --disable-debug --disable-stripping --shlibdir=/usr/lib64 --enable-libmfx --enable-runtime-cpudetect
     libavutil      55. 28.100 / 55. 28.100
     libavcodec     57. 48.101 / 57. 48.101
     libavformat    57. 41.100 / 57. 41.100
     libavdevice    57.  0.101 / 57.  0.101
     libavfilter     6. 47.100 /  6. 47.100
     libavresample   3.  0.  0 /  3.  0.  0
     libswscale      4.  1.100 /  4.  1.100
     libswresample   2.  1.100 /  2.  1.100
     libpostproc    54.  0.100 / 54.  0.100
    [x11grab @ 0x562f6e929c20] Stream #0: not enough frames to estimate rate; consider increasing probesize
    Input #0, x11grab, from ':1.0':
     Duration: N/A, start: 1496800335.695598, bitrate: N/A
       Stream #0:0: Video: rawvideo (BGR[0] / 0x524742), bgr0, 3840x2160, 30 fps, 1000k tbr, 1000k tbn, 1000k tbc
    Input #1, video4linux2,v4l2, from '/dev/video1':
     Duration: N/A, start: 17665.258327, bitrate: 36864 kb/s
       Stream #1:0: Video: rawvideo (YUY2 / 0x32595559), yuyv422, 320x240, 36864 kb/s, 30 fps, 30 tbr, 1000k tbn, 1000k tbc
    Guessed Channel Layout for Input Stream #2.0 : stereo
    Input #2, alsa, from 'pulse':
     Duration: N/A, start: 1496800336.972575, bitrate: 1536 kb/s
       Stream #2:0: Audio: pcm_s16le, 48000 Hz, 2 channels, s16, 1536 kb/s
    Input #3, png_pipe, from 'logo.png':
     Duration: N/A, bitrate: N/A
       Stream #3:0: Video: png, rgba(pc), 190x105 [SAR 2835:2835 DAR 38:21], 25 tbr, 25 tbn, 25 tbc
    Streamcopy requested for output stream 0:0, which is fed from a complex filtergraph. Filtering and streamcopy cannot be used together.
    ➜  tmp