Recherche avancée

Médias (0)

Mot : - Tags -/upload

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

Autres articles (73)

  • Configurer la prise en compte des langues

    15 novembre 2010, par

    Accéder à la configuration et ajouter des langues prises en compte
    Afin de configurer la prise en compte de nouvelles langues, il est nécessaire de se rendre dans la partie "Administrer" du site.
    De là, dans le menu de navigation, vous pouvez accéder à une partie "Gestion des langues" permettant d’activer la prise en compte de nouvelles langues.
    Chaque nouvelle langue ajoutée reste désactivable tant qu’aucun objet n’est créé dans cette langue. Dans ce cas, elle devient grisée dans la configuration et (...)

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

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

  • avutils/hwcontext : When deriving a hwdevice, search for existing device in both direc...

    25 novembre 2021, par Soft Works
    avutils/hwcontext : When deriving a hwdevice, search for existing device in both directions
    

    The test /libavutil/tests/hwdevice checks that when deriving a device
    from a source device and then deriving back to the type of the source
    device, the result is matching the original source device, i.e. the
    derivation mechanism doesn't create a new device in this case.

    Previously, this test was usually passed, but only due to two different
    kind of flaws :

    1. The test covers only a single level of derivation (and back)

    It derives device Y from device X and then Y back to the type of X and
    checks whether the result matches X.

    What it doesn't check for, are longer chains of derivation like :

    CUDA1 > OpenCL2 > CUDA3 and then back to OpenCL4

    In that case, the second derivation returns the first device (CUDA3 ==
    CUDA1), but when deriving OpenCL4, hwcontext.c was creating a new
    OpenCL4 context instead of returning OpenCL2, because there was no link
    from CUDA1 to OpenCL2 (only backwards from OpenCL2 to CUDA1)

    If the test would check for two levels of derivation, it would have
    failed.

    This patch fixes those (yet untested) cases by introducing forward
    references (derived_device) in addition to the existing back references
    (source_device).

    2. hwcontext_qsv didn't properly set the source_device

    In case of QSV, hwcontext_qsv creates a source context internally
    (vaapi, dxva2 or d3d11va) without calling av_hwdevice_ctx_create_derived
    and without setting source_device.

    This way, the hwcontext test ran successful, but what practically
    happened, was that - for example - deriving vaapi from qsv didn't return
    the original underlying vaapi device and a new one was created instead :
    Exactly what the test is intended to detect and prevent. It just
    couldn't do so, because the original device was hidden (= not set as the
    source_device of the QSV device).

    This patch properly makes these setting and fixes all derivation
    scenarios.

    (at a later stage, /libavutil/tests/hwdevice should be extended to check
    longer derivation chains as well)

    Reviewed-by : Lynne <dev@lynne.ee>
    Reviewed-by : Anton Khirnov <anton@khirnov.net>
    Tested-by : Wenbin Chen <wenbin.chen@intel.com>
    Signed-off-by : softworkz <softworkz@hotmail.com>
    Signed-off-by : Haihao Xiang <haihao.xiang@intel.com>

    • [DH] libavutil/hwcontext.c
    • [DH] libavutil/hwcontext.h
    • [DH] libavutil/hwcontext_internal.h
    • [DH] libavutil/hwcontext_qsv.c
  • Revision 6723e34224 : Merge "fix permissions on cpplint.py (0644->0755)" into experimental

    4 mai 2013, par James Zern

    Merge "fix permissions on cpplint.py (0644->0755)" into experimental

  • "File doesn't exist" - streamio FFMPEG on screenshot after create method

    3 mai 2013, par dodgerogers747

    I have videos being directly uploaded to S3 using Amazon's CORS configuration. Videos are uploaded via a dedicated S3 form, once they have been uploaded successfully the URL of the video is appended to the @video.file hidden_field via javascript and then the video saves.

    I can't get this after_save method to work which takes a screenshot of the video and saves it to S3 via carrierwave after the video has been saved as a rails object. ( It was previously working using a carrierwave video upload instance )

    It errors out withErrno::ENOENT - No such file or directory - the file &#39;http://bucket-name.s3.amazonaws.com/uploads/video/file/secure-random-hex/video_name.m4v&#39; does not exist: I have tried running this method as a class method to call it from the console but it always comes back with the same error, even though the video exists.

    My bucket is set to public, read and write. How come it doesn't think the file exists ?

    If anyone needs more code just shout, thanks in advance.

    application trace

    Started POST "/videos" for 127.0.0.1 at 2013-05-03 10:48:07 -0700
    Processing by VideosController#create as JS
     Parameters: {"utf8"=>"✓", "authenticity_token"=>"MAHxrVcmPDtVIMfDWZBwL0YnzaAaAe1PTGip5M4OVoY=", "video"=>{"user_id"=>"5", "file"=>"http://bucket-name.s3.amazonaws.com/uploads/video/file/secure-random-hex/video.m4v"}}
     User Load (0.3ms)  SELECT `users`.* FROM `users` WHERE `users`.`id` = 5 LIMIT 1
      (0.1ms)  BEGIN
     SQL (20.5ms)  INSERT INTO `videos` (`created_at`, `file`, `question_id`, `screenshot`, `updated_at`, `user_id`) VALUES (&#39;2013-05-03 17:48:07&#39;, &#39;http://teebox-network.s3.amazonaws.com/uploads/video/file/secure-random-hex/video.m4v&#39;, NULL, NULL, &#39;2013-05-03 17:48:07&#39;, 5)
      (44.0ms)  ROLLBACK
    Completed 500 Internal Server Error in 71ms

    Errno::ENOENT - No such file or directory - the file &#39;http://teebox-network.s3.amazonaws.com/uploads/video/file/secure-random-hex/video.m4v&#39; does not exist:
     (gem) streamio-ffmpeg-0.9.0/lib/ffmpeg/movie.rb:10:in `initialize&#39;
     app/models/video.rb:25:in `new&#39;
     app/models/video.rb:25:in `take_screenshot&#39;

    video.rb

     attr_accessible :user_id, :question_id, :file, :screenshot
     belongs_to :question
     belongs_to :user

     default_scope order(&#39;created_at DESC&#39;)

     after_create :take_screenshot

     mount_uploader :screenshot, ImageUploader

     validates_presence_of :user_id, :file

     def take_screenshot
       FFMPEG.ffmpeg_binary = &#39;/opt/local/bin/ffmpeg&#39;
       movie = FFMPEG::Movie.new("#{self.file}")
       self.screenshot = movie.screenshot("#{Rails.root}/public/uploads/tmp/screenshots/#{File.basename(self.file)}.jpg", seek_time: 2 )
       self.save!
     end

    videos/_form.html.erb

    <form action="http://bucket-name.s3.amazonaws.com" data-remote="true" class="direct-upload" enctype="multipart/form-data" method="post">
     <input type="hidden" />
     <input type="hidden" value="ACCESS_KEY" />
     <input type="hidden" value="public-read" />
     <input type="hidden" />
     <input type="hidden" />
     <input type="hidden" value="201" />
     <input type="file" />
    </form>

    &lt;%= form_for @video, html: { multipart: true, id: "new_video" }, remote: true do |f| %>
           &lt;% if @video.errors.any? %>
       <div>
       <h2>&lt;%= pluralize(@video.errors.count, "error") %> prohibited this post from being saved:</h2>

     <ul>
       &lt;% @video.errors.full_messages.each do |msg| %>
           <li>&lt;%= msg %></li>
           &lt;% end %>
       </ul>
       </div>
    &lt;% end %>

       &lt;%= f.hidden_field :user_id, value: current_user.id %>
       &lt;%= f.hidden_field :file %><br />

       &lt;% end %>

    ImageUploader

    class ImageUploader &lt; CarrierWave::Uploader::Base

     include CarrierWave::RMagick

      include Sprockets::Helpers::RailsHelper
      include Sprockets::Helpers::IsolatedHelper

     storage :fog

     before :store, :remember_cache_id
     after :store, :delete_tmp_dir

       def cache_dir
         Rails.root.join(&#39;public/uploads/tmp/&#39;)
       end

       def remember_cache_id(new_file)
         @cache_id_was = cache_id
       end

       def delete_tmp_dir(new_file)
         if @cache_id_was.present? &amp;&amp; @cache_id_was =~ /\A[\d]{8}\-[\d]{4}\-[\d]+\-[\d]{4}\z/
           FileUtils.rm_rf(File.join(root, cache_dir, @cache_id_was))
         end
       end

     process resize_and_pad: [306, 150, &#39;#000&#39;]

     def store_dir
       "uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
     end

     def extension_white_list
       %w(jpg)
       # %w(ogg ogv 3gp mp4 m4v webm mov)
     end