Recherche avancée

Médias (1)

Mot : - Tags -/Rennes

Autres articles (74)

  • Creating farms of unique websites

    13 avril 2011, par

    MediaSPIP platforms can be installed as a farm, with a single "core" hosted on a dedicated server and used by multiple websites.
    This allows (among other things) : implementation costs to be shared between several different projects / individuals rapid deployment of multiple unique sites creation of groups of like-minded sites, making it possible to browse media in a more controlled and selective environment than the major "open" (...)

  • MediaSPIP : Modification des droits de création d’objets et de publication définitive

    11 novembre 2010, par

    Par défaut, MediaSPIP permet de créer 5 types d’objets.
    Toujours par défaut les droits de création et de publication définitive de ces objets sont réservés aux administrateurs, mais ils sont bien entendu configurables par les webmestres.
    Ces droits sont ainsi bloqués pour plusieurs raisons : parce que le fait d’autoriser à publier doit être la volonté du webmestre pas de l’ensemble de la plateforme et donc ne pas être un choix par défaut ; parce qu’avoir un compte peut servir à autre choses également, (...)

  • Les autorisations surchargées par les plugins

    27 avril 2010, par

    Mediaspip core
    autoriser_auteur_modifier() afin que les visiteurs soient capables de modifier leurs informations sur la page d’auteurs

Sur d’autres sites (7271)

  • Carrierwave and FFMPEG saving to 2 destinations - Rails, Fog, S3

    20 avril 2013, par dodgerogers747

    I have a video model, which uses Carrierwave, Fog, FFMPEG and S3 to handle video files. I have a method in my video model that takes a screenshot before the video is saved to S3. Both Video and screenshot are saved to S3 using 2 Carrierwave Uploader classes, Image_uploader and video_uploader with the video being saved to the Video.file column and screenshot saved at the Video.screenshot.

    This all works as intended, however, FFMPEG also saves a copy of the screenshot to the rails filesystem, "Rails.root/file_is_saved_here". For now I have FFMPEG saving this file into the Rails.root/public/uploads folder along with the tmp files created by Carrierwave.

    How can I get one screenshot saved to S3 without the second being saved on the filesystem ?

    Commit & trace data and

    Running transcoding...
    /opt/local/bin/ffmpeg -y -i /Users/me/rails_projects/teebox_network/public/uploads/tmp/200/14_jan_2013_hk.mov -ss 3 -vframes 1 -f image2 /Users/garyrogers/rails_projects/teebox_network/public/uploads/14_jan_2013_hk.mov_screenshot.png

    Transcoding of /Users/me/rails_projects/teebox_network/public/uploads/tmp/200/14_jan_2013_hk.mov to /Users/garyrogers/rails_projects/teebox_network/public/uploads/14_jan_2013_hk.mov_screenshot.png succeeded

    Started POST "/videos" for 127.0.0.1 at 2013-04-19 17:03:07 -0700
    Processing by VideosController#create as */*
     Parameters: {"utf8"=>"✓", "authenticity_token"=>"DjFIu3971GxKYJzjDFu7LaBx85iOHPa5HzO6PLdSW+8=", "video"=>{"user_id"=>"5", "file"=>#quicktime\r\n", @tempfile=#var/folders/1g/d9qbm7_s0_5fcljtvzysp1gc0000gn/T/RackMultipart20130419-751-19kisab>>}}
     User Load (0.5ms)  SELECT `users`.* FROM `users` WHERE `users`.`id` = 5 LIMIT 1
      (0.2ms)  BEGIN
     SQL (14.9ms)  INSERT INTO `videos` (`created_at`, `file`, `question_id`, `screenshot`, `updated_at`, `user_id`) VALUES ('2013-04-20 00:03:20', '14_jan_2013_hk.mov', NULL, '14_jan_2013_hk.mov_screenshot.png', '2013-04-20 00:03:20', 5)

    video.rb

    class Video < ActiveRecord::Base

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

     default_scope order('created_at DESC')

     before_save :take_screenshot

     mount_uploader :file, VideoUploader
     mount_uploader :screenshot, ImageUploader

     def to_param
       "#{id} - #{File.basename(self.file.path)}".parameterize
     end

     private

     def take_screenshot
       FFMPEG.ffmpeg_binary = '/opt/local/bin/ffmpeg'
       movie = FFMPEG::Movie.new(self.file.current_path)
       self.screenshot = movie.screenshot("#{Rails.root}/public/uploads/#{File.basename(self.file.path)}_screenshot.png", seek_time: 3 )
     end
    end

    image_uploader class

    class ImageUploader < CarrierWave::Uploader::Base

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

     storage :fog

     process resize_and_pad: [270, 135, '#000']

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

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

    Video uploader class

    class VideoUploader < CarrierWave::Uploader::Base

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

     storage :fog

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

     def extension_white_list
       %w(ogg ogv 3gp mp4 m4v webm mov m2v 3g2)
       # %w(ogg ogv 3gp mp4 m4v webm mov)
     end
  • Initial ARIA-Required implementation

    7 octobre 2013, par nschonni
    Initial ARIA-Required implementation
    

    Add aria-required tags to any of the data, static or class required elements.
    Dynamic validation for rules added through the form.validate rules object do not get picked up till first run.

  • Set timeout on ffmpeg process

    30 octobre 2013, par Thomas Vervik

    Sometims ffmpeg never completes, and thereby preventing conversions of other videos in the queue. Is it possible to set some sort of timeout in ffmpeg such that it terminates if it isnt finished within some given time, example 5 min

    My command looks like this today :

    ffmpeg -i /home/tomcat/bsafevideo/1efef9daa7f5000ed83d67f6fbd0e7d9/aad5adc307c4dd7e457509423a7f3734/69451c31cd592e86138423f6849d8141 -y -r 24 -ar 22050 -f mov -vf [in]transpose=1[rt0],[rt0]scale=iw*480/ih:480[sc0],[sc0]pad=640:480:140[pd0],movie=/srv/bsafe/tomcat7/webapps/ROOT/resources/images/logo_watermark.png [wm],[pd0][wm] overlay=W-w-140:0[out] /home/tomcat/bsafevideo/1efef9daa7f5000ed83d67f6fbd0e7d9/aad5adc307c4dd7e457509423a7f3734/69451c31cd592e86138423f6849d8141.mov -ar 22050 -b 1500k -vcodec libtheora -acodec libvorbis -f ogg -vf [in]transpose=1[rt0],[rt0]scale=iw*480/ih:480[sc0],[sc0]pad=640:480:140[pd0],movie=/srv/bsafe/tomcat7/webapps/ROOT/resources/images/logo_watermark.png [wm],[pd0][wm] overlay=W-w-140:0[out] /home/tomcat/bsafevideo/1efef9daa7f5000ed83d67f6fbd0e7d9/aad5adc307c4dd7e457509423a7f3734/69451c31cd592e86138423f6849d8141.ogg -ar 22050 -vcodec libx264 -profile baseline -vf [in]transpose=1[rt0],[rt0]scale=iw*480/ih:480[sc0],[sc0]pad=640:480:140[pd0],movie=/srv/bsafe/tomcat7/webapps/ROOT/resources/images/logo_watermark.png [wm],[pd0][wm] overlay=W-w-140:0[out] /home/tomcat/bsafevideo/1efef9daa7f5000ed83d67f6fbd0e7d9/aad5adc307c4dd7e457509423a7f3734/69451c31cd592e86138423f6849d8141_mp4.mp4

    UPDATE. Thanks LordNeckBerd, you pointed me in right direction !

    So I see now its kind of not ffmpeg really hanging, the issue is that my java code which reads the inputstream from the linux process will block since ffmpeg never returns a end of line, which I see now when Im running the command. This is the blocking line, it waits for more input from me.

    Press [q] to stop, [?] for help

    So its two issues here now. First is why this particular conversion is failing, and second, how to make sure ffmpeg is not making this (for my Java process) blocking command asking for more input.

    C:\Program Files (x86)\Console2>ffmpeg -i C:/projectsGit/bsafe-server/classes/test/bs-   base/video/ac7601e2bc3bc1545cd30ad3160f5232 -y -r 24 -ar 22050 -f mov C:/projectsGit/bsafe-server/classes/test/bs-base/video/ac7601e2bc3bc1545cd30ad3160f5232.mov -ar 22050 -b:v 1500k -vcodec libtheora -acodec libvorbis -f ogg C:/projectsGit/bsafe-server/classes/test/bs-base/video/ac7601e2bc3bc1545cd30ad3160f5232.ogg -ar 22050 -vcodec libx264 -profile:v baseline C:/projectsGit/bsafe-server/classes/test/bs-base/video/ac7601e2bc3bc1545cd30ad3160f5232_mp4.mp4
    ffmpeg version N-54762-g38b701a Copyright (c) 2000-2013 the FFmpeg developers
    built on Jul 15 2013 18:47:20 with gcc 4.7.3 (GCC)
    configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-avisynth --  enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-  libass --enable-libbluray --enable-libcaca --enable-libfreetype --enable-libgsm --enable- libilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable- libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable- libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame - -enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable- libx264 --enable-libxavs --enable-libxvid --enable-zlib
    libavutil      52. 39.100 / 52. 39.100
    libavcodec     55. 18.102 / 55. 18.102
    libavformat    55. 12.102 / 55. 12.102
    libavdevice    55.  3.100 / 55.  3.100
    libavfilter     3. 81.101 /  3. 81.101
    libswscale      2.  3.100 /  2.  3.100
    libswresample   0. 17.102 /  0. 17.102
    libpostproc    52.  3.100 / 52.  3.100
    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'C:/projectsGit/bsafe-server/classes/test/bs-  base/video/ac7601e2bc3bc1545cd30ad3160f5232':
    Metadata:
    major_brand     : isom
    minor_version   : 0
    compatible_brands: isom3gp4
    creation_time   : 2013-01-15 05:46:02
    Duration: 00:00:10.03, start: 0.000000, bitrate: 394 kb/s
    Stream #0:0(eng): Video: h264 (Baseline) (avc1 / 0x31637661), yuv420p, 640x480, 264 kb/s, SAR 65536:65536 DAR 4:3, 10.95 fps, 90k tbr, 90k tbn, 180k tbc
    Metadata:
     creation_time   : 2013-01-15 05:46:02
     handler_name    : VideoHandle
    Stream #0:1(eng): Audio: aac (mp4a / 0x6134706D), 48000 Hz, mono, fltp, 127 kb/s
    Metadata:
     creation_time   : 2013-01-15 05:46:02
     handler_name    : SoundHandle
    [ogg @ 00000000027d7860] Frame rate very high for a muxer not efficiently supporting it.
    Please consider specifying a lower framerate, a different muxer or -vsync 2
    [mp4 @ 00000000027dacc0] Frame rate very high for a muxer not efficiently supporting it.
    Please consider specifying a lower framerate, a different muxer or -vsync 2
    [libx264 @ 0000000003e6b9c0] using SAR=1/1
    [libx264 @ 0000000003e6b9c0] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX
    [libx264 @ 0000000003e6b9c0] profile High, level 3.0
    [libx264 @ 0000000003e6b9c0] 264 - core 133 r2334 a3ac64b - H.264/MPEG-4 AVC codec -   Copyleft 2003-2013 - http://www.videolan.org/x264.html - options: cabac=1 ref=3  deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1  me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1  chroma_qp_offset=-2 threads=12 lookahead_threads=2 sliced_threads=0 nr=0 decimate=1  interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0  direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=24 scenecut=40  intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69  qpstep=4 ip_ratio=1.40 aq=1:1.00
    [libx264 @ 00000000027db4a0] using SAR=1/1
    [libx264 @ 00000000027db4a0] MB rate (108000000) > level limit (2073600)
    [libx264 @ 00000000027db4a0] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX
    [libx264 @ 00000000027db4a0] profile Constrained Baseline, level 5.2
    [libx264 @ 00000000027db4a0] 264 - core 133 r2334 a3ac64b - H.264/MPEG-4 AVC codec -  Copyleft 2003-2013 - http://www.videolan.org/x264.html - options: cabac=0 ref=3  deblock=1:0:0 analyse=0x1:0x111 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1  me_range=16 chroma_me=1 trellis=1 8x8dct=0 cqm=0 deadzone=21,11 fast_pskip=1  chroma_qp_offset=-2 threads=12 lookahead_threads=2 sliced_threads=0 nr=0 decimate=1  interlaced=0 bluray_compat=0 constrained_intra=0 bframes=0 weightp=0 keyint=250  keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0  qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
    Output #0, mov, to 'C:/projectsGit/bsafe-server/classes/test/bs-  base/video/ac7601e2bc3bc1545cd30ad3160f5232.mov':
    Metadata:
    major_brand     : isom
    minor_version   : 0
    compatible_brands: isom3gp4
    encoder         : Lavf55.12.102
    Stream #0:0(eng): Video: h264 (libx264) (avc1 / 0x31637661), yuv420p, 640x480 [SAR 1:1  DAR 4:3], q=-1--1, 12288 tbn, 24 tbc
    Metadata:
     creation_time   : 2013-01-15 05:46:02
     handler_name    : VideoHandle
    Stream #0:1(eng): Audio: aac (libvo_aacenc) (mp4a / 0x6134706D), 22050 Hz, mono, s16, 128 kb/s
    Metadata:
     creation_time   : 2013-01-15 05:46:02
     handler_name    : SoundHandle
    Output #1, ogg, to 'C:/projectsGit/bsafe-server/classes/test/bs-base/video/ac7601e2bc3bc1545cd30ad3160f5232.ogg':
    Metadata:
    major_brand     : isom
    minor_version   : 0
    compatible_brands: isom3gp4
    encoder         : Lavf55.12.102
    Stream #1:0(eng): Video: theora (libtheora), yuv420p, 640x480 [SAR 1:1 DAR 4:3], q=2-31, 1500 kb/s, 90k tbn, 90k tbc
    Metadata:
     creation_time   : 2013-01-15 05:46:02
     handler_name    : VideoHandle
    Stream #1:1(eng): Audio: vorbis (libvorbis), 22050 Hz, mono, fltp
    Metadata:
     creation_time   : 2013-01-15 05:46:02
     handler_name    : SoundHandle
    Output #2, mp4, to 'C:/projectsGit/bsafe-server/classes/test/bs-base/video/ac7601e2bc3bc1545cd30ad3160f5232_mp4.mp4':
    Metadata:
    major_brand     : isom
    minor_version   : 0
    compatible_brands: isom3gp4
    encoder         : Lavf55.12.102
    Stream #2:0(eng): Video: h264 (libx264) ([33][0][0][0] / 0x0021), yuv420p, 640x480 [SAR 1:1 DAR 4:3], q=-1--1, 90k tbn, 90k tbc
    Metadata:
     creation_time   : 2013-01-15 05:46:02
     handler_name    : VideoHandle
    Stream #2:1(eng): Audio: aac (libvo_aacenc) ([64][0][0][0] / 0x0040), 22050 Hz, mono, s16, 128 kb/s
    Metadata:
     creation_time   : 2013-01-15 05:46:02
     handler_name    : SoundHandle
    Stream mapping:
    Stream #0:0 -> #0:0 (h264 -> libx264)
    Stream #0:1 -> #0:1 (aac -> libvo_aacenc)
    Stream #0:0 -> #1:0 (h264 -> libtheora)
    Stream #0:1 -> #1:1 (aac -> libvorbis)
    Stream #0:0 -> #2:0 (h264 -> libx264)
    Stream #0:1 -> #2:1 (aac -> libvo_aacenc)
    Press [q] to stop, [?] for help