
Recherche avancée
Autres articles (69)
-
MediaSPIP v0.2
21 juin 2013, parMediaSPIP 0.2 est la première version de MediaSPIP stable.
Sa date de sortie officielle est le 21 juin 2013 et est annoncée ici.
Le fichier zip ici présent contient uniquement les sources de MediaSPIP en version standalone.
Comme pour la version précédente, il est nécessaire d’installer manuellement l’ensemble des dépendances logicielles sur le serveur.
Si vous souhaitez utiliser cette archive pour une installation en mode ferme, il vous faudra également procéder à d’autres modifications (...) -
MediaSPIP version 0.1 Beta
16 avril 2011, parMediaSPIP 0.1 beta est la première version de MediaSPIP décrétée comme "utilisable".
Le fichier zip ici présent contient uniquement les sources de MediaSPIP en version standalone.
Pour avoir une installation fonctionnelle, il est nécessaire d’installer manuellement l’ensemble des dépendances logicielles sur le serveur.
Si vous souhaitez utiliser cette archive pour une installation en mode ferme, il vous faudra également procéder à d’autres modifications (...) -
Les autorisations surchargées par les plugins
27 avril 2010, parMediaspip core
autoriser_auteur_modifier() afin que les visiteurs soient capables de modifier leurs informations sur la page d’auteurs
Sur d’autres sites (7838)
-
Capture video and audio using javascript
16 janvier 2017, par Anand SoniI am trying to capture video and audio from web browser and upload it to the server. The thing is I don’t want to use flash in this.
So I am using HTML5 feature and a library called RecorderRTC to make it possible. I am using Ruby on Rails in backend. Though I am feeling this feature is still under implementation I am facing challenges.
Following javascript code I have written : http://pastebin.com/KjwunFfD and here is my rails code :
uuid = UUID.generate
audio_file_name = "#{uuid}.wav" if params[:chrome]
audio_file_name = "#{uuid}.ogg" if params[:firefox]
video_file_name = "#{uuid}.webm"
directory = "#{Rails.root}/public/record"
directory = directory + "/chrome" if params[:chrome]
directory = directory + "/firefox" if params[:firefox]
audio_path = File.join(directory, audio_file_name)
video_path = File.join(directory, video_file_name)
#puts params[:audioBlob].tempfile.read
File.open(audio_path, "wb") { |f| f.write(params[:audioBlob].tempfile.read) } if params[:audioBlob]
File.open(video_path, "wb") { |f| f.write(params[:videoBlob].tempfile.read) } if params[:videoBlob]
output = `ffmpeg -i #{video_path} -i #{audio_path} -acodec copy -vcodec copy #{directory}/#{uuid}.mkv`
message[:video_url] = "/record/chrome/#{video_file_name}" if params[:chrome]
message[:video_url] = "/record/firefox/#{video_file_name}" if params[:firefox]
message[:audio_url] = "/record/chrome/#{audio_file_name}" if params[:chrome]
message[:audio_url] = "/record/firefox/#{audio_file_name}" if params[:firefox]
message[:audio_video_url] = "/record/chrome/#{uuid}.mkv" if params[:chrome]
message[:audio_video_url] = "/record/firefox/#{uuid}.mkv" if params[:firefox]My problem is when I try to run this code through Firefox ffmpeg is giving error of codec not found. I am not sure what I am missing. Can any one help ?
-
Evolution #4271 (Nouveau) : valider_url_distante => pouvoir déclarer des domaines distants et pas ...
21 janvier 2019, par - EquipementBonjour,
La fonction valider_url_distante permet de déclarer des hosts distants :
- <span class="CodeRay"><span class="local-variable">$known_hosts</span> = pipeline(<span class="string"><span class="delimiter">'</span><span class="content">declarer_hosts_distants</span><span class="delimiter">'</span></span>, <span class="local-variable">$known_hosts</span>);
- </span>
C’est très bien, mais avec plusieurs centaines de hosts à déclarer (dont la liste varie dans le temps), cela devient compliqué à gérer.
Serait-il possible d’avoir, en plus, la possibilité de déclarer des domaines distants ?
Une première piste serait de pouvoir déclarer .example.com dans le pipeline pour inclure tous les *.example.com au lieu des les énumérer un par un.
Une seconde piste consisterait à s’inspirer de la function need_proxy (via une constante avec la même syntaxe que pour le http_noproxy) :
// Pour mémoire code actuel à conserver ...
- <span class="CodeRay"> <span class="local-variable">$is_known_host</span> = <span class="predefined-constant">false</span>;
- <span class="keyword">foreach</span> (<span class="local-variable">$known_hosts</span> <span class="keyword">as</span> <span class="local-variable">$known_host</span>) {
- <span class="local-variable">$parse_known</span> = <span class="predefined">parse_url</span>(<span class="local-variable">$known_host</span>);
- <span class="keyword">if</span> (<span class="local-variable">$parse_known</span>
- <span class="keyword">and</span> <span class="predefined">strtolower</span>(<span class="local-variable">$parse_known</span>[<span class="string"><span class="delimiter">'</span><span class="content">host</span><span class="delimiter">'</span></span>]) === <span class="predefined">strtolower</span>(<span class="local-variable">$parsed_url</span>[<span class="string"><span class="delimiter">'</span><span class="content">host</span><span class="delimiter">'</span></span>])) {
- <span class="local-variable">$is_known_host</span> = <span class="predefined-constant">true</span>;
- <span class="keyword">break</span>;
- }
- }
- </span>
// ... que l’on pourrait faire suivre de ce code (complètement inspiré de function need_proxy) :
- <span class="CodeRay"> <span class="keyword">if</span> (!<span class="local-variable">$is_known_host</span>) {
- <span class="local-variable">$known_domaines</span> = _DECLARER_DOMAINES_DISTANTS;
- <span class="local-variable">$known_domaines</span> = <span class="predefined">str_replace</span>(<span class="string"><span class="delimiter">"</span><span class="char">\n</span><span class="delimiter">"</span></span>, <span class="string"><span class="delimiter">"</span><span class="content"> </span><span class="delimiter">"</span></span>, <span class="local-variable">$known_domaines</span>);
- <span class="local-variable">$known_domaines</span> = <span class="predefined">str_replace</span>(<span class="string"><span class="delimiter">"</span><span class="char">\r</span><span class="delimiter">"</span></span>, <span class="string"><span class="delimiter">"</span><span class="content"> </span><span class="delimiter">"</span></span>, <span class="local-variable">$known_domaines</span>);
- <span class="local-variable">$known_domaines</span> = <span class="string"><span class="delimiter">"</span><span class="content"> </span><span class="local-variable">$known_domaines</span><span class="content"> </span><span class="delimiter">"</span></span>;
- <span class="local-variable">$domain</span> = <span class="predefined">strtolower</span>(<span class="local-variable">$parsed_url</span>[<span class="string"><span class="delimiter">'</span><span class="content">host</span><span class="delimiter">'</span></span>]);
- <span class="keyword">if</span> (<span class="predefined">strpos</span>(<span class="local-variable">$known_domaines</span>, <span class="string"><span class="delimiter">"</span><span class="content"> </span><span class="local-variable">$domain</span><span class="content"> </span><span class="delimiter">"</span></span>) !== <span class="predefined-constant">false</span>){
- <span class="local-variable">$is_known_host</span> = <span class="predefined-constant">true</span>;
- }
- <span class="keyword">while</span> (<span class="predefined">strpos</span>(<span class="local-variable">$domain</span>, <span class="string"><span class="delimiter">'</span><span class="content">.</span><span class="delimiter">'</span></span>) !== <span class="predefined-constant">false</span>) {
- <span class="local-variable">$domain</span> = <span class="predefined">explode</span>(<span class="string"><span class="delimiter">'</span><span class="content">.</span><span class="delimiter">'</span></span>, <span class="local-variable">$domain</span>);
- <span class="predefined">array_shift</span>(<span class="local-variable">$domain</span>);
- <span class="local-variable">$domain</span> = <span class="predefined">implode</span>(<span class="string"><span class="delimiter">'</span><span class="content">.</span><span class="delimiter">'</span></span>, <span class="local-variable">$domain</span>);
- <span class="keyword">if</span> (<span class="predefined">strpos</span>(<span class="local-variable">$known_domaines</span>, <span class="string"><span class="delimiter">"</span><span class="content"> .</span><span class="local-variable">$domain</span><span class="content"> </span><span class="delimiter">"</span></span>) !== <span class="predefined-constant">false</span>) {
- <span class="local-variable">$is_known_host</span> = <span class="predefined-constant">true</span>;
- }
- }
- }
- </span>
Cordialement
Equipement -
Using dragonfly and ffmpeg to process a video in Rails
26 novembre 2015, par MaikellI am writing a Ruby on Rails 4 Web application, that gives the user an image-upload functionality. For this I followed this tutorial, which is using the gems
dragonfly
jquery-fileupload-rails
remotipartThis is working fine.
Now I want to extend the image-upload functionality, to upload videos as well. But unfortunately I’m stuck with it. Here is what I have tried so far :config/initializers/dragonfly.rb
require 'dragonfly'
# Configure
Dragonfly.app.configure do
plugin :imagemagick
secret 'd045734b043b4383a246c5c8daf2d3e31217dc8b030f21861e4fd16c4b72d382'
url_format '/media/:job/:name'
datastore :file,
root_path: Rails.root.join('uploads/images/'),
server_root: Rails.root.join('uploads')
end
Dragonfly.app(:videos).configure do
secret 'd045734b043b4383a246c5c8daf2d3e31217dc8b030f21861e4fd16c4b72d382'
url_format "/media/:job/:name"
datastore :file,
root_path: Rails.root.join('uploads/videos/'),
server_root: Rails.root.join('uploads')
end
# Logger
Dragonfly.logger = Rails.logger
# Mount as middleware
Rails.application.middleware.use Dragonfly::Middleware
# Add model functionality
if defined?(ActiveRecord::Base)
ActiveRecord::Base.extend Dragonfly::Model
ActiveRecord::Base.extend Dragonfly::Model::Validations
endmodels/video.rb
class Video < ActiveRecord::Base
dragonfly_accessor :video, app_name: :videos do
storage_options do |video|
{ path: "videos/#{Video.gen_uuid}-#{video.name}.webm" }
end
end
endI upload the video with ajax. It is succesfully saved in the systems /tmp-directory. Than in the video-controller I call
@video = Video.new[video_params]
@video.saveNow the video-params are correctly saved in the database, but the video is not saved in the given directory
/uploads/videos
Also my goal is, to process the video with ffmpeg, to convert it to a webm. ffmpeg is installed in the system and converting a video on the command line works fine.- But how do I get dragonfly to start the conversion process and save the video in the rails project ? Where do I have to put the ffmpeg-commands to dragonfly ?
- Why does dragonfly not save the video in the directory
uploads/videos
?
Everything works fine with images and imagemagick. Only videos are causing problems.