Recherche avancée

Médias (91)

Autres articles (101)

  • Personnaliser les catégories

    21 juin 2013, par

    Formulaire de création d’une catégorie
    Pour ceux qui connaissent bien SPIP, une catégorie peut être assimilée à une rubrique.
    Dans le cas d’un document de type catégorie, les champs proposés par défaut sont : Texte
    On peut modifier ce formulaire dans la partie :
    Administration > Configuration des masques de formulaire.
    Dans le cas d’un document de type média, les champs non affichés par défaut sont : Descriptif rapide
    Par ailleurs, c’est dans cette partie configuration qu’on peut indiquer le (...)

  • Publier sur MédiaSpip

    13 juin 2013

    Puis-je poster des contenus à partir d’une tablette Ipad ?
    Oui, si votre Médiaspip installé est à la version 0.2 ou supérieure. Contacter au besoin l’administrateur de votre MédiaSpip pour le savoir

  • Use, discuss, criticize

    13 avril 2011, par

    Talk to people directly involved in MediaSPIP’s development, or to people around you who could use MediaSPIP to share, enhance or develop their creative projects.
    The bigger the community, the more MediaSPIP’s potential will be explored and the faster the software will evolve.
    A discussion list is available for all exchanges between users.

Sur d’autres sites (6799)

  • java.lang.NoClassDefFoundError : Could not initialize class on Linux (Works fine on Windows)

    26 décembre 2016, par Jake Miller

    I’m using a C++ FFmpeg wrapper for Java (org.bytedeco.javacpp). This works perfectly on a Windows machine (my development machine) but throws this error when ran on Linux (Amazon Web Services Elastic Beanstalk) :

    java.lang.NoClassDefFoundError: Could not initialize class org.bytedeco.javacpp.avutil
       at java.lang.Class.forName0(Native Method) ~[na:1.8.0_111]
       at java.lang.Class.forName(Class.java:348) ~[na:1.8.0_111]
       at org.bytedeco.javacpp.Loader.load(Loader.java:472) ~[javacpp-1.2.1.jar!/:1.2.1]
       at org.bytedeco.javacpp.Loader.load(Loader.java:417) ~[javacpp-1.2.1.jar!/:1.2.1]
       at org.bytedeco.javacpp.avformat$AVFormatContext.<clinit>(avformat.java:2819) ~[ffmpeg-3.2.1-1.3.jar!/:1.2.1]
       at org.bytedeco.javacv.FFmpegFrameGrabber.startUnsafe(FFmpegFrameGrabber.java:391) ~[javacv-1.3.jar!/:1.3]
       at org.bytedeco.javacv.FFmpegFrameGrabber.start(FFmpegFrameGrabber.java:385) ~[javacv-1.3.jar!/:1.3]
    </clinit>

    I’ve been troubleshooting for the past 2 days and have tried the following to fix the issue :

    • upgrade to Linux to 2.4
    • downgrading javacpp to 1.2.1
    • running mvn clean
    • running mvn -U
    • deleting contents of /.m2/ and redownloading dependencies
    • various combinations of dependency versions
    • git clone on a Linux VM & running mvn install there

    When looking further into the issue, I stumbled upon documentation for avformat$AVFormatContext as it’s in the stack trace posted above (6th line). The documentation for a C++ class named AVFormatContext. Whenever I attempt to view the class in Eclipse, it says Source Not Found.

    My question : could this problem possibly be caused by the C++ libraries on my Linux VM ? None of the above solutions fixed it so this is my only hypothesis as of now.

    Here’s my other Stack Overflow question regarding this subject : Java.lang.NoClassDefFoundError caused by FFmpeg when deployed on Linux as a packaged .war (Works on development machine)

  • How can I use my exe in a new Process() call ?

    24 février 2017, par looksgoodhoss

    I am working on a project where I create a 10 second sample from a video. To do this, I am using FFMPEG. I would like for the user to upload their own video where the sampling will then take place. The processing will be done in an Azure worker-role and that is where my problem lies.

    If I execute the following command (excuse the absolute paths, they’re my next problem) in Command Prompt then the sampling is completed successfully.

    ffmpeg -t 10 -i C:\Users\looksgoodhoss\Documents\Videos\video.mp4 -map_metadata 0 -acodec copy C:\Users\looksgoodhoss\Documents\Videos\vid.mp4 -y

    I am trying to bring this command into my Visual Studio project via a new Process() call. The video.mp4 and vid.mp4 are trivial names to test and work out my bug.

    bool success = false;
               string EXEArguements = @"ffmpeg -t 10 -i C:\Users\looksgoodhoss\Documents\Videos\video.mp4 -map_metadata 0 -acodec copy C:\Users\looksgoodhoss\Documents\Videos\vid.mp4 -y";
               string EXEPath = Path.Combine(Environment.GetEnvironmentVariable("RoleRoot") + @"\", @"approot\ffmpeg.exe");

               try
               {
                   Process proc = new Process();
                   //proc.StartInfo.FileName = @"C:\FFMPEG\bin\ffmpeg";
                   proc.StartInfo.FileName = EXEPath;
                   proc.StartInfo.Arguments = EXEArguements;
                   proc.StartInfo.CreateNoWindow = true;
                   proc.StartInfo.UseShellExecute = false;
                   proc.StartInfo.ErrorDialog = false;

                   Trace.TraceInformation("FFMPEG completed."); // is shown in log

                   proc.Start();
                   proc.WaitForExit();
                   success = true;
               }
               catch (Exception e)
               {
                   throw;
               }
               return success;

    The message "FFMPEG completed" is shown in the Compute Emulator UI and so I know that this block of code is executing, however, they’re is no sample video created despite the command being the same.

    Am I executing FFMPEG incorrectly in my Visual Studio project ? I think this is my problem because the same command can successfully be performed through Command Prompt.

    Any help or advice would be greatly appreciated,

    Thanks.

  • Thumbs depending on the video duration

    28 février 2017, par MaelLacour

    as said in the title, i would like to add thumbs, depending on the video duration.

    It it possible to define time using percentage ? Or to use a variable duration ? I know that the duration can be found in the _meta, but is it possible to retrieve it before saving the video ?
    (I can certainly do it by using ffmpeg command, but it should be available using paperclip command ?)

    Here is my code :

    validates :title,
           length: { in: 2..60 }
    validates :description,
           length: { minimum: 2 }


    has_attached_file :content, styles: {
       :medium => {
           :format => 'mp4',
           #convert_options: {
               #output: {
                 #name: 'value' # Results in `-name value` in the command line
               #}
           #}
       },
     :thumb0 => { :geometry => '320x180#', :format => 'jpeg', :time => 1.0 * duration / 6.0},
     :thumb1 => { :geometry => '320x180#', :format => 'jpeg', :time => 2.0 * duration / 6.0},
     :thumb2 => { :geometry => '320x180#', :format => 'jpeg', :time => 3.0 * duration / 6.0},
     :thumb3 => { :geometry => '320x180#', :format => 'jpeg', :time => 4.0 * duration / 6.0},
     :thumb4 => { :geometry => '320x180#', :format => 'jpeg', :time => 5.0 * duration / 6.0},
     }, :processors => [:transcoder]

     validates_attachment :content, presence: true,
                          content_type: { content_type: /\Avideo\/.*\Z/ },
                          size: { :less_than => 2.gigabytes }

    Thx in advance for your reply ! If it’s not clear or if you need extra-data let me know :)

    (I posted my question here, after wrongly posted it in GitHub, don’t be surprise if you found it on the issue repo)

    EDIT

    I made it to work with the following code,even if it’s not elegant at all :

     has_attached_file :content, styles: {
         :medium => {
             :format => 'mp4',
         },
         :thumb0 => { :geometry => '320x180#', :format => 'jpeg', :time => ->(attachment) { attachment.instance.method(:style_time_for0) } },
         :thumb1 => { :geometry => '320x180#', :format => 'jpeg', :time => ->(attachment) { attachment.instance.method(:style_time_for1) } },
         :thumb2 => { :geometry => '320x180#', :format => 'jpeg', :time => ->(attachment) { attachment.instance.method(:style_time_for2) } },
         :thumb3 => { :geometry => '320x180#', :format => 'jpeg', :time => ->(attachment) { attachment.instance.method(:style_time_for3) } },
         :thumb4 => { :geometry => '320x180#', :format => 'jpeg', :time => ->(attachment) { attachment.instance.method(:style_time_for4) } },
         }, :processors => [:transcoder]

     def style_time_for0(meta, _options)
       1*meta[:duration].to_f / 6
     end
     def style_time_for1(meta, _options)
       2*meta[:duration].to_f / 6
     end
     def style_time_for2(meta, _options)
       3*meta[:duration].to_f / 6
     end
     def style_time_for3(meta, _options)
       4*meta[:duration].to_f / 6
     end
     def style_time_for4(meta, _options)
       5*meta[:duration].to_f / 6
     end

    I should add a loop and a parameter to the style_time_for, but i can’t get it to work. Does someone have an idea ?