
Recherche avancée
Médias (1)
-
Revolution of Open-source and film making towards open film making
6 octobre 2011, par
Mis à jour : Juillet 2013
Langue : English
Type : Texte
Autres articles (58)
-
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 -
Publier sur MédiaSpip
13 juin 2013Puis-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 -
Support audio et vidéo HTML5
10 avril 2011MediaSPIP utilise les balises HTML5 video et audio pour la lecture de documents multimedia en profitant des dernières innovations du W3C supportées par les navigateurs modernes.
Pour les navigateurs plus anciens, le lecteur flash Flowplayer est utilisé.
Le lecteur HTML5 utilisé a été spécifiquement créé pour MediaSPIP : il est complètement modifiable graphiquement pour correspondre à un thème choisi.
Ces technologies permettent de distribuer vidéo et son à la fois sur des ordinateurs conventionnels (...)
Sur d’autres sites (11194)
-
ffmpeg : wmv files generated on Mac can't be played in Windows
16 juin 2015, par TTZOn Mac OS X 10.6.8, I converted a animated gif to a video file in wmv (a requested file format) by using
ffmpeg -i File.gif -s 400x400 NewFile.wmv
The video file played fine using VLC on Mac.
The file can’t be played on a Windows 7 machine using the Windows Media Player. Is there a way that I can save the animated gif as a WMV file that can be played using the Windows Media Player on a Windows 7 machine ?Many thanks for your time !
-
FFMPEG streaming all Images instead of last
8 juin 2015, par Sid411I am taking a snapshot of the screen and saving the image to hard disk.
After saving the image I stream the image using FFMPEG to another machine. I replace the same image in the disk as I want to stream the latest image.
However when I stream the image, the other machine plays all the previous images too.
Can someone please tell me why this happens even though I delete my previous image.The FFMPEG command that I am using is
ffmpeg -re -loop 1 -r 15 -vcodec mjpeg -i /home/image.jpg http://localhost:8072/feed1.ffm
Also, the streaming stops after a certain time.
Can some one guide me on these two issues ?
Thank you.
-
Exit Status with ffmpeg Command in Rails
25 novembre 2012, par DragonFire353I am trying to get uploaded videos to be converted in the background, running windows. I am using :
gem 'paperclip'
gem 'aasm'
gem 'delayed_job_active_record'
gem 'ffmpeg'I was using purely paperclip before and making the user wait and it worked great, now I am having problems with the return of the error status for the command, I have tried editing to possible fix the command wondering if it was failing in the first place but I keep getting :
undefined method `exitstatus' for nil:NilClass
no matter what. I've tried looking this up and it's supposedly valid syntax that should work... Also I've commented out the actual spawn do part because I get another error if I leave that in :
wrong number of arguments
Does anyone know how to properly get this working ? I've went through a few tutorials that have bits and pieces of what I need but I can't get them working together. Here's what I have so far, lemme know if you need more :
Model :
class Video < ActiveRecord::Base
include AASM
belongs_to :user
has_many :comments, dependent: :destroy
attr_accessible :video, :user_id, :video_file_name, :title, :public, :description, :views
has_attached_file :video, url: "/users/:user_id/videos/:id/:basename_:style.:extension"
#, :styles => {
# :video => { geometry: "800x480>", format: 'webm' },
# :thumb => { geometry: "200x200>", format: 'png', time: 3 },
# }, processors: [:ffmpeg], url: "/users/:user_id/videos/:id/:basename_:style.:extension"
#process_in_background :video #causes death
validates :video, presence: true
validates :description, presence: true, length: { minimum: 5, maximum: 100}
validates :title, presence: true, length: { minimum: 1, maximum: 15 }
validates_attachment_size :video, less_than: 1.gigabytes
validates_attachment :video, presence: true
default_scope order: 'created_at DESC'
Paperclip.interpolates :user_id do |attachment, style|attachment.instance.user_id
end
#acts as state machine plugin
aasm state: :pending do
state :pending, initial: true
state :converting
state :converted
#, enter: :set_new_filename
state :error
event :convert do
transitions from: :pending, to: :converting
end
event :converted do
transitions from: :converting, to: :converted
end
event :failure do
transitions from: :converting, to: :error
end
end
# This method is called from the controller and takes care of the converting
def convert
self.convert!
#spawn a new thread to handle conversion
#spawn do
success = delay.system(convert_command)
logger.debug 'Converting File: ' + success.to_s
if success && $?.exitstatus.to_i == 0
self.converted!
else
self.failure!
end
#end
end
def self.search(search)
if search
find(:all, conditions: ["public = 't' AND title LIKE ?", "%#{search}%"], order: "created_at DESC")
else
find(:all, conditions: ["public = 't'"], order: "created_at DESC")
end
end
def self.admin_search(search)
if search
find(:all, conditions: ['title LIKE ?', "%#{search}%"], order: "created_at DESC")
else
find(:all, order: "created_at DESC")
end
end
private
def convert_command
#construct new file extension
webm = "." + id.to_s + ".webm"
#build the command to execute ffmpeg
command = <<-end_command
ffmpeg -i #{ RAILS_ROOT + '/public/users/:user_id/videos/:id/:basename_:style.:extension' } -ar 22050 -ab 32 -s 1280x720 -vcodec webm -r 25 -qscale 8 -f webm -y #{ RAILS_ROOT + '/public/users/:user_id/videos/:id/:basename_.webm' }
end_command
logger.debug "Converting video...command: " + command
command
end
handle_asynchronously :convert_command
# This updates the stored filename with the new flash video file
def set_new_filename
#update_attribute(:filename, "#{filename}.#{id}.webm")
update_attribute(:content_type, "video/x-webm")
end
endController :
class VideosController < ApplicationController
before_filter :signed_in_user, only: [:upload, :update, :destroy]
before_filter :admin_user, only: :admin_index
def upload
@video = Video.new
# generate a unique id for the upload
@uuid = (0..29).to_a.map {|x| rand(10)}
end
def create
@video = Video.new(params[:video])
@video.user_id = current_user.id
if @video.save
@video.convert
flash[:success] = "Uploaded Succefully!"
redirect_to @video.user
else
render 'upload'
end
end
def show
@video = Video.find(params[:id])
@comments = @video.comments.paginate(page: params[:page], per_page: 6)
if !@video.public
if !signed_in? || current_user.id != @video.user_id && !current_user.admin && !current_user.approved?(@video.user)
flash[:notice] = "Video is private"
redirect_to root_path
end
end
end
def update
@video = Video.find(params[:id])
if @video.update_attributes(params[:video])
flash[:success] = "Video preferences saved"
else
flash[:fail] = "Failed to update video preferences"
end
redirect_to :back
end
def destroy
@video = Video.find(params[:id])
@video.destroy
flash[:deleted] = "Deleted Succefully!"
redirect_to :back
end
def index
@videos = Video.paginate(page: params[:page], per_page: 6).search(params[:search])
end
def admin_index
@videos = Video.paginate(page: params[:page], per_page: 6).admin_search(params[:search])
end
def ajax_video_comments
@video = Video.find(params[:id])
@comments = @video.comments.paginate(page: params[:page], per_page: 6)
respond_to do |format|
format.js { render partial: 'shared/comments', content_type: 'text/html' }
end
end
def ajax_video_watched
@video = Video.find(params[:id])
@video.views += 1
@video.save
end
private
def signed_in_user
redirect_to root_path, notice: "Please Login." unless signed_in?
end
def admin_user
redirect_to(root_path) unless current_user.admin?
end
end