
Recherche avancée
Autres articles (59)
-
List of compatible distributions
26 avril 2011, parThe table below is the list of Linux distributions compatible with the automated installation script of MediaSPIP. Distribution nameVersion nameVersion number Debian Squeeze 6.x.x Debian Weezy 7.x.x Debian Jessie 8.x.x Ubuntu The Precise Pangolin 12.04 LTS Ubuntu The Trusty Tahr 14.04
If you want to help us improve this list, you can provide us access to a machine whose distribution is not mentioned above or send the necessary fixes to add (...) -
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 -
Submit enhancements and plugins
13 avril 2011If you have developed a new extension to add one or more useful features to MediaSPIP, let us know and its integration into the core MedisSPIP functionality will be considered.
You can use the development discussion list to request for help with creating a plugin. As MediaSPIP is based on SPIP - or you can use the SPIP discussion list SPIP-Zone.
Sur d’autres sites (7769)
-
FFMpeg UDP streaming - random split video effect
3 octobre 2014, par PhilmacsI’m trying to get a simple local preview of my webcam from an FFMpeg udp stream using an embedded Mplayer window. I can view the live stream using MPlayer but the image is unstable. I’m using the following FFMpeg command :
ffmpeg -f dshow -video_size 640x480 -i video="Lenovo EasyCamera" -an -f rawvideo -pix_fmt yuyv422 -r 15 udp://127.0.0.1:1234
And this is the MPlayer command :
mplayer -demuxer rawvideo -rawvideo fps=15:w=640:h=480:format=yuy2 -nofs -noquiet -identify -idle -slave -nomouseinput -framedrop -wid 1051072
Sometimes the stream image is OK, but intermittently the image tears randomly and this is how it looks (sorry, not enough rep for images in posts)
I have tried with FFPlay to see if it’s a problem with MPlayer, but I get the same result :
ffplay -s 640x480 -pix_fmt yuyv422 -f rawvideo -i udp://127.0.0.1:1234
This effect is happening at random. If I stop and restart the video might be OK, or it may look like the above. Using aything other than udp and rawvideo adds a delay to the video stream, which I want to avoid.
The FFMpeg streaming guide suggest methods when you get packet loss, but as far as I’m aware I don’t seem to be getting that.
I’m new to FFMpeg/Mplayer/video streaming and any help or thoughts greatly appreciated.
-
How do I get videos to upload using ruby on rails carrierwave-video ?
9 juillet 2016, par EricUpdated as of July 9, 2016
I tried to follow the instructions on the github website for the video uploader process using carrierwave-video gem but get an error that says the file or directory mmpeg -i doesn’t exist.
The upload path for images functions correctly, just not the video one.
I have added all of the following code necessary to help solve the error and minified as much as i possibly could.
Video uploader code using carrierwave
class VideoUploader < CarrierWave::Uploader::Base
include CarrierWave::Video
storage :file
version :mp4 do
process :encode_video => [:mp4, resolution: "100x100"]
end
def store_dir
"uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
end
endHere is the movie controller code that handles uploading of videos
class MoviesController < ApplicationController
include MoviesHelper
def index
mode "index"
end
def show
mode "show"
end
def new
mode "new"
end
def edit
mode "edit"
end
def create
mode "create"
end
def update
mode "update"
end
def destroy
mode "destroy"
end
def review
mode "review"
end
def approve
mode "approve"
end
def deny
mode "deny"
end
endHere is the model data for the movie that goes with it
class Movie < ActiveRecord::Base
attr_accessible :created_on, :description, :maintenance, :reviewed, :subplaylist_id, :title, :user_id, :video, :remote_video_url
belongs_to :user
belongs_to :subplaylist
mount_uploader :video, VideoUploader
endHere is where the movie is supposed to be displayed but it is not working
<% provide(:title, "Movie: Where movies are made!") %>
<% provide(:keywords, "movies, video") %>
<% provide(:description, "This is the place where users showcase their wonderful video talent.") %>
<p><%= notice %></p>
<h1 class="pageheader"><%= @movie.title %></h1>
<br />
<p class="pagetext"><%= video_tag(@movie.video_url.to_s, controls: true, class: "imagebox") %></p>
<p class="pagetext"><%= @movie.description %></p>
<p class="pagetext">Created on: <%= @movie.created_on.strftime("%B-%d-%Y") %></p>
<p class="pagetext">Owner: <%= getType(@movie.user) %><%= link_to @movie.user.vname, user_path(@movie.user) %></p>
<br />
<p class="pagetext"><%= link_to 'Back', mainplaylist_subplaylist_path(@subplaylist.mainplaylist, @movie.subplaylist) %></p>Here is where the movie new action is
<% provide(:title, "Movie: Create new movies here!") %>
<% provide(:description, "New movies are uploaded only to the site when the movie gets approved.") %>
<h1 class="pagetextheader">New movie</h1>
<%= render 'form' %>
<p class="pagetext"><%= link_to 'Back', mainplaylist_subplaylist_path(@subplaylist.mainplaylist, @subplaylist) %></p>Here is where the movies forum parameters are
<%= form_for([@subplaylist, @movie], :html=>{:multipart => true}) do |f| %>
<% if @movie.errors.any? %>
<div>
<h2><%= pluralize(@movie.errors.count, "error") %> prohibited this movie from being saved:</h2>
<ul>
<% @movie.errors.full_messages.each do |msg| %>
<li><%= msg %></li>
<% end %>
</ul>
</div>
<% end %>
<br />
<div class="pagetext">
<%= f.label :title %><br />
<%= f.text_field :title %>
</div>
<div class="pagetext">
<%= f.file_field :video %>
</div>
<div class="pagetext">
<%= f.label :remote_video_url, "or video URL" %><br />
<%= f.text_field :remote_video_url %>
</div>
<div class="pagetext">
<%= f.label :description %><br />
<%= f.text_area :description %>
</div>
<div class="pagetext">
<%= f.submit %>
</div>
<br />
<% end %>Here is the movies helper code
module MoviesHelper
def mode(type)
code = auto_logout
if(code == true)
sign_out
redirect_to root_path
else
#Check if Maintenance is turned_on
allmode = Maintenancemode.find_by_id(1)
moviemode = Maintenancemode.find_by_id(19)
mode_turned_on = (allmode.maintenance_on || moviemode.maintenance_on)
#Determine if any maintenance is on
if(mode_turned_on)
#Determine if we are a regular user
regularUser = (!current_user || !current_user.admin?)
if(regularUser)
#Determine which maintenance mode is on
if(allmode.maintenance_on)
redirect_to maintenance_path
else
redirect_to movies_maintenance_path
end
else
switch type
end
else
switch type
end
end
end
private
def getType(user)
if(user.admin)
value = "$"
else
typeFound = Usertype.find_by_user_id(user.id)
if(typeFound)
type = typeFound.privilege
if(type == "Reviewer")
value = "^"
elsif(type == "Banned")
value = "!"
else
value = "~"
end
else
value = "~"
end
end
return value
end
def movieApproved
movieFound = Movie.find_by_id(params[:movie_id])
if(movieFound)
movieFound.reviewed = true
pouch = Pouch.find_by_user_id(movieFound.user_id)
pointsForMovie = 10
pouch.amount += pointsForMovie
@pouch = pouch
@pouch.save
@movie = movieFound
@movie.save
# MovieMailer.movie_approved(@movie, pointsForMovie).deliver
redirect_to movies_review_path
else
render "public/404"
end
end
def movieDenied
movieFound = Movie.find_by_id(params[:movie_id])
if(movieFound)
#Retrieve the user who owns this pet first
#userEmail = petFound.user.email
#Send mail to user with link to edit the pet they sent
@movie = movieFound
MovieMailer.movie_denied(@movie).deliver
redirect_to movies_review_path
else
render "public/404"
end
end
def createMovie(subplaylistFound)
newMovie = subplaylistFound.movies.new
@subplaylist = subplaylistFound
@movie = newMovie
end
def saveMovie(subplaylistFound, logged_in)
newMovie = subplaylistFound.movies.new(params[:movie])
newMovie.user_id = logged_in.id
currentTime = Time.now
newMovie.created_on = currentTime
@movie = newMovie
if(@movie.save)
@subplaylist = subplaylistFound
# MovieMailer.review_movie(@movie).deliver
flash[:success] = "#{@movie.title} is currently being reviewed please check back later."
redirect_to subplaylist_movie_path(@subplaylist, @movie)
else
render "new"
end
end
def switch(type)
if(type == "index") #Admin only
logged_in = current_user
if(logged_in)
if(logged_in.admin)
allMovies = Movies.order("created_on desc").page(params[:page]).per(10)
@movies = allMovies
else
redirect_to root_path
end
else
redirect_to root_path
end
elsif(type == "show")
movieFound = Movie.find_by_id(params[:id])
if(movieFound)
subplaylistFound = Subplaylist.find_by_id(params[:subplaylist_id])
if(subplaylistFound)
if(movieFound.reviewed)
@subplaylist = subplaylistFound
@movie = movieFound
else
logged_in = current_user
if(logged_in)
userMatch = ((logged_in.id == movieFound.user_id) || logged_in.admin)
if(userMatch)
@subplaylist = subplaylistFound
@movie = movieFound
else
redirect_to root_path
end
else
redirect_to root_path
end
end
else
redirect_to root_path
end
else
render "public/404"
end
elsif(type == "new")
logged_in = current_user
if(logged_in)
subplaylistFound = Subplaylist.find_by_id(params[:subplaylist_id])
if(subplaylistFound)
if(subplaylistFound.collab_mode)
createMovie(subplaylistFound)
else
userMatch = (logged_in.id == subplaylistFound.user_id)
if(userMatch)
createMovie(subplaylistFound)
else
redirect_to root_path
end
end
else
render "public/404"
end
else
redirect_to root_path
end
elsif(type == "create")
logged_in = current_user
if(logged_in)
subplaylistFound = Subplaylist.find_by_id(params[:subplaylist_id])
if(subplaylistFound)
if(subplaylistFound.collab_mode)
saveMovie(subplaylistFound, logged_in)
else
userMatch = (logged_in.id == subplaylistFound.user_id)
if(userMatch)
saveMovie(subplaylistFound, logged_in)
else
redirect_to root_path
end
end
else
render "public/404"
end
else
redirect_to root_path
end
elsif(type == "edit")
logged_in = current_user
if(logged_in)
movieFound = Movie.find_by_id(params[:id])
if(movieFound)
userMatch = (logged_in.id == movieFound.user_id)
if(userMatch)
subplaylistFound = Subplaylist.find_by_id(movieFound.subplaylist_id)
if(subplaylistFound)
@subplaylist = subplaylistFound
@movie = movieFound
else
render "public/404"
end
else
redirect_to root_path
end
else
render "public/404"
end
else
redirect_to root_path
end
elsif(type == "update")
logged_in = current_user
if(logged_in)
movieFound = Movie.find_by_id(params[:id])
if(movieFound)
userMatch = (logged_in.id == movieFound.user_id)
if(userMatch)
subplaylistFound = Subplaylist.find_by_id(movieFound.subplaylist_id)
if(subplaylistFound)
@movie = movieFound
if(@movie.update_attributes(params[:movie]))
@subplaylist = subplaylistFound
flash[:success] = 'Movie was successfully updated.'
redirect_to subplaylist_movie_path(@subplaylist, @movie)
else
render "edit"
end
else
render "public/404"
end
else
redirect_to root_path
end
else
render "public/404"
end
else
redirect_to root_path
end
elsif(type == "destroy")
logged_in = current_user
if(logged_in)
movieFound = Movie.find_by_id(params[:id]) #Need to move this below the admin section to protect it
if(movieFound)
if(logged_in.admin)
subplaylistFound = Subplaylist.find_by_id(movieFound.subplaylist_id)
if(subplaylistFound)
@movie = movieFound
@subplaylist = subplaylistFound
@movie.destroy
redirect_to mainplaylist_subplaylist_path(@subplaylist.mainplaylist, @subplaylist)
else
render "public/404"
end
else
redirect_to root_path
end
else
render "public/404"
end
else
redirect_to root_path
end
elsif(type == "review") #Admin
logged_in = current_user
if(logged_in)
if(logged_in.admin)
allMovies = Movie.all
moviesToReview = allMovies.select{|movie| !movie.reviewed}
@movies = Kaminari.paginate_array(moviesToReview).page(params[:page]).per(10)
else
typeFound = Usertype.find_by_user_id(logged_in.id)
if(typeFound.privilege == "Reviewer")
allMovies = Movie.all
moviesToReview = allMovies.select{|movie| !movie.reviewed}
@movies = Kaminari.paginate_array(moviesToReview).page(params[:page]).per(10)
else
redirect_to root_path
end
end
else
redirect_to root_path
end
elsif(type == "approve") #Admin
logged_in = current_user
if(logged_in)
if(logged_in.admin)
movieApproved
else
typeFound = Usertype.find_by_user_id(logged_in.id)
if(typeFound.privilege == "Reviewer")
movieApproved
else
redirect_to root_path
end
end
else
redirect_to root_path
end
elsif(type == "deny") #Admin
logged_in = current_user
if(logged_in)
if(logged_in.admin)
movieDenied
else
typeFound = Usertype.find_by_user_id(logged_in.id)
if(typeFound.privilege == "Reviewer")
movieDenied
else
redirect_to root_path
end
end
else
redirect_to root_path
end
end
end
endHere is the subplaylists show code
<% provide(:title, "Subplaylist: The place where users videos gets uploaded to!") %>
<% provide(:keywords, "user, video, uploaded") %>
<% provide(:description, "Allows the categorization of various videos that the user submitted successfully.") %>
<p><%= notice %></p>
<h1 class="pageheader"><%= @subplaylist.title %></h1>
<br />
<p class="pagetext"><%= @subplaylist.description %></p>
<br />
<div class="pagebox"><%= paginate @movies %></div>
<br />
<div class="pagetext">
<% @movies.each_with_index do |movie, index| %>
<div class="container">
<div class="inner">
<div class="inner"><%= link_to movie.title, subplaylist_movie_path(@subplaylist, movie) %></div>
<% if current_user && (current_user.id == movie.user_id || current_user.admin? )%>
<div class="inner"><%= button_to 'Edit', edit_subplaylist_movie_path(@subplaylist, movie), method: :get %></div>
<div class="inner"><%= button_to 'Destroy', [@subplaylist, movie], method: :delete, data: { confirm: 'Are you sure?' } %></div>
<% end %>
<p><%= video_tag movie.video_url(:thumb).to_s, controls: true %></p>
</div>
<br />
<p>Created on: <%= movie.created_on.strftime("%B-%d-%Y") %></p>
<p>Owner: <%= getType(movie.user) %><%= link_to movie.user.vname, user_path(movie.user) %></p>
</div>
<% if ((index + 1) % 3) == 0 %>
<br />
<br />
<% end %>
<% end %>
</div>
<br />
<% if current_user %>
<p class="pagetext"><%= link_to "New Movie", new_subplaylist_movie_path(@subplaylist) %></p>
<br />
<% end %>
<p class="pagetext"><%= link_to 'Back', user_mainplaylist_path(@mainplaylist.user.vname, @subplaylist.mainplaylist.title) %></p>Here is the subplaylists model
class Subplaylist < ActiveRecord::Base
attr_accessible :title, :description, :collab_mode
belongs_to :user
belongs_to :mainplaylist
has_many :movies, :foreign_key => "subplaylist_id", :dependent => :destroy
VALID_NAME = /\A[A-Za-z][A-Za-z1-9][A-Za-z1-9 ]+\z/
validates :title, presence: true, format: {with: VALID_NAME}
validates :description, presence: true
endHere is the subplaylists controller code
class SubplaylistsController < ApplicationController
include SubplaylistsHelper
def index
mode "index"
end
def show
mode "show"
end
def new
mode "new"
end
def edit
mode "edit"
end
def create
mode "create"
end
def update
mode "update"
end
def destroy
mode "destroy"
end
endHere is the subplaylist helper code
module SubplaylistsHelper
def mode(type)
code = auto_logout
if(code == true)
sign_out
redirect_to root_path
else
#Check if Maintenance is turned_on
allmode = Maintenancemode.find_by_id(1)
subplaylistmode = Maintenancemode.find_by_id(18)
mode_turned_on = (allmode.maintenance_on || subplaylistmode.maintenance_on)
#Determine if any maintenance is on
if(mode_turned_on)
#Determine if we are a regular user
regularUser = (!current_user || !current_user.admin?)
if(regularUser)
#Determine which maintenance mode is on
if(allmode.maintenance_on)
redirect_to maintenance_path
else
redirect_to subplaylists_maintenance_path
end
else
switch type
end
else
switch type
end
end
end
private
def getType(user)
if(user.admin)
value = "$"
else
typeFound = Usertype.find_by_user_id(user.id)
if(typeFound)
type = typeFound.privilege
if(type == "Reviewer")
value = "^"
elsif(type == "Banned")
value = "!"
else
value = "~"
end
else
value = "~"
end
end
return value
end
def switch(type)
if(type == "show")
subplaylistFound = Subplaylist.find_by_id(params[:id])
if(subplaylistFound)
mainplaylistFound = Mainplaylist.find_by_title(params[:mainplaylist_id])
if(mainplaylistFound)
playlistMatch = (subplaylistFound.mainplaylist_id == mainplaylistFound.id)
if(playlistMatch)
@mainplaylist = mainplaylistFound
@subplaylist = subplaylistFound
subplaylistMovies = @subplaylist.movies.all
reviewedMovies = subplaylistMovies
if(subplaylistMovies.count > 0)
reviewedMovies = subplaylistMovies.select{|movie| movie.reviewed}
end
@movies = Kaminari.paginate_array(reviewedMovies).page(params[:page]).per(10)
else
redirect_to root_path
end
else
render "public/404"
end
else
redirect_to root_path
end
elsif(type == "destroy")
logged_in = current_user
if(logged_in)
subplaylistFound = Subplaylist.find_by_id(params[:id]) #Need to move this below the admin section to protect it
if(subplaylistFound)
if(logged_in.admin)
mainplaylistFound = Mainplaylist.find_by_id(subplaylistFound.mainplaylist_id)
if(mainplaylistFound)
@subplaylist = subplaylistFound
@mainplaylist = mainplaylistFound
@subplaylist.destroy
redirect_to mainplaylist_subplaylists_path(@mainplaylist)
else
render "public/404"
end
else
redirect_to root_path
end
else
render "public/404"
end
else
redirect_to root_path
end
end
end
endHere is the User model
class User < ActiveRecord::Base
attr_accessible :email, :first_name, :last_name, :login_id, :vname, :password, :password_confirmation, :avatar
has_secure_password
mount_uploader :avatar, AvatarUploader
before_save { |user| user.email = user.email.downcase }
before_save { |user| user.first_name = user.first_name.humanize }
#key
has_one :sessionkey, :foreign_key => "user_id", :dependent => :destroy
has_one :usertype, :foreign_key => "user_id", :dependent => :destroy
#Video section
has_many :mainplaylists, :foreign_key => "user_id", :dependent => :destroy
has_many :subplaylists, :foreign_key => "user_id", :dependent => :destroy
has_many :movies, :foreign_key => "user_id", :dependent => :destroy
#validates :first_name, presence: true
VALID_EMAIL_REGEX = /\A[\w+\-.]+@[a-z\d\-.]+\.[a-z]+\z/i
VALID_NAME_REGEX = /\A[a-z][a-z][a-z]+\z/i
VALID_VNAME_REGEX = /\A[A-Za-z][A-Za-z][A-Za-z][A-Za-z0-9 ]+([-][A-Za-z0-9 ]+)?\z/
VALID_PASSWORD_REGEX = /\A[A-Za-z0-9!][A-Za-z0-9!][A-Za-z0-9!][A-Za-z0-9!][A-Za-z0-9!][A-Za-z0-9!]+\z/
validates :first_name, presence: true, format: { with: VALID_NAME_REGEX}
validates :last_name, presence: true, format: { with: VALID_NAME_REGEX}
validates :email, presence: true, format: { with: VALID_EMAIL_REGEX}
validates :login_id, presence: true, format: { with: VALID_VNAME_REGEX}, uniqueness: { case_sensitive: false}
validates :vname, presence: true, format: { with: VALID_VNAME_REGEX}, uniqueness: { case_sensitive: false}
validates :password, length: {minimum: 6}#, format: { with: VALID_PASSWORD_REGEX}
validates :password_confirmation, presence: true #, format: { with: VALID_PASSWORD_REGEX}
def to_param
vname
end
endHere is the sessionkey model
class Sessionkey < ActiveRecord::Base
belongs_to :user
endHere is the usertype model
class Usertype < ActiveRecord::Base
attr_accessible :privilege, :user_id #Only priviledge will be changeable
belongs_to :user
endError message
No such file or directory - ffmpeg -i /home/eric/Projects/Local/Lduelingpets/Trial/public/uploads/tmp/1466811951-3149-2702/mp4_TrialMovies.mp4
-
FFMPEG Video Cropping slower [duplicate]
23 juin 2016, par syed imtyThis question already has an answer here :
-
Fast Video Compression on Android
2 answers
I am trying to crop rectangular video into a square one using FFMPEG. The video conversion take too much time.
For a video of 30 secs, it takes around 60-70secs to convert
FFMPEG Command
String commandStr =" -i "+videoPath+" -vcodec libx264 -b:v 880k -vf crop=" + videoSize.height + ":"+ videoSize.height + ":" + cropStart +":0 -preset ultrafast -strict -2 " +compressedVideoPath;
Progress Log
D/ViewRootImpl: ViewPostImeInputStage ACTION_DOWN
I/System.out: Video converison : /storage/emulated/0/IHH_y/147.mp4 /storage/emulated/0/IHH_y/147upload.mp4 wxh1080:1080:420
I/System.out: FFMpeg lib onStart
D/FFmpeg: Running publishing updates method
I/System.out: FFMpeg lib onProgressWARNING: linker: /data/data/com.x.y/files/ffmpeg has text relocations. This is wasting memory and prevents security hardening. Please fix.
I/System.out: FFMpeg lib onProgressffmpeg version n2.4.2 Copyright (c) 2000-2014 the FFmpeg developers
I/System.out: FFMpeg lib onProgress built on Oct 7 2014 15:08:46 with gcc 4.8 (GCC)
I/System.out: FFMpeg lib onProgress configuration: --target-os=linux --cross-prefix=/home/sb/Source-Code/ffmpeg-android/toolchain-android/bin/arm-linux-androideabi- --arch=arm --cpu=cortex-a8 --enable-runtime-cpudetect --sysroot=/home/sb/Source-Code/ffmpeg-android/toolchain-android/sysroot --enable-pic --enable-libx264 --enable-libass --enable-libfreetype --enable-libfribidi --enable-fontconfig --enable-pthreads --disable-debug --disable-ffserver --enable-version3 --enable-hardcoded-tables --disable-ffplay --disable-ffprobe --enable-gpl --enable-yasm --disable-doc --disable-shared --enable-static --pkg-config=/home/sb/Source-Code/ffmpeg-android/ffmpeg-pkg-config --prefix=/home/sb/Source-Code/ffmpeg-android/build/armeabi-v7a-neon --extra-cflags='-I/home/sb/Source-Code/ffmpeg-android/toolchain-android/include -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fno-strict-overflow -fstack-protector-all -mfpu=neon' --extra-ldflags='-L/home/sb/Source-Code/ffmpeg-android/toolchain-android/lib -Wl,-z,relro -Wl,-z,now -pie' --extra-libs='-lpng -lexpat -lm' --extra-cxxflags=
I/System.out: FFMpeg lib onProgress libavutil 54. 7.100 / 54. 7.100
I/System.out: FFMpeg lib onProgress libavcodec 56. 1.100 / 56. 1.100
I/System.out: FFMpeg lib onProgress libavformat 56. 4.101 / 56. 4.101
I/System.out: FFMpeg lib onProgress libavdevice 56. 0.100 / 56. 0.100
I/System.out: FFMpeg lib onProgress libavfilter 5. 1.100 / 5. 1.100
I/System.out: FFMpeg lib onProgress libswscale 3. 0.100 / 3. 0.100
I/System.out: FFMpeg lib onProgress libswresample 1. 1.100 / 1. 1.100
I/System.out: FFMpeg lib onProgress libpostproc 53. 0.100 / 53. 0.100
I/System.out: FFMpeg lib onProgressInput #0, mov,mp4,m4a,3gp,3g2,mj2, from '/storage/emulated/0/IHH_y/147.mp4':
I/System.out: FFMpeg lib onProgress Metadata:
I/System.out: FFMpeg lib onProgress major_brand : mp42
I/System.out: FFMpeg lib onProgress minor_version : 0
I/System.out: FFMpeg lib onProgress compatible_brands: isommp42
I/System.out: FFMpeg lib onProgress creation_time : 2016-06-23 20:00:50
I/System.out: FFMpeg lib onProgress Duration: 00:00:08.92, start: 0.000000, bitrate: 8966 kb/s
I/System.out: FFMpeg lib onProgress Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1920x1080, 8983 kb/s, 16.66 fps, 16.67 tbr, 90k tbn, 180k tbc (default)
I/System.out: FFMpeg lib onProgress Metadata:
I/System.out: FFMpeg lib onProgress rotate : 90
I/System.out: FFMpeg lib onProgress creation_time : 2016-06-23 20:00:50
I/System.out: FFMpeg lib onProgress handler_name : VideoHandle
I/System.out: FFMpeg lib onProgress Side data:
I/System.out: FFMpeg lib onProgress displaymatrix: rotation of -90.00 degrees
I/System.out: FFMpeg lib onProgress Stream #0:1(eng): Audio: aac (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 254 kb/s (default)
I/System.out: FFMpeg lib onProgress Metadata:
I/System.out: FFMpeg lib onProgress creation_time : 2016-06-23 20:00:50
I/System.out: FFMpeg lib onProgress handler_name : SoundHandle
I/System.out: FFMpeg lib onProgress[libx264 @ 0xb5e08800] using cpu capabilities: none!
I/System.out: FFMpeg lib onProgress[libx264 @ 0xb5e08800] profile Constrained Baseline, level 3.2
I/System.out: FFMpeg lib onProgress[libx264 @ 0xb5e08800] 264 - core 142 - H.264/MPEG-4 AVC codec - Copyleft 2003-2014 - http://www.videolan.org/x264.html - options: cabac=0 ref=1 deblock=0:0:0 analyse=0:0 me=dia subme=0 psy=1 psy_rd=1.00:0.00 mixed_ref=0 me_range=16 chroma_me=1 trellis=0 8x8dct=0 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=0 threads=6 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=0 weightp=0 keyint=250 keyint_min=16 scenecut=0 intra_refresh=0 rc=abr mbtree=0 bitrate=880 ratetol=1.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=0
I/System.out: FFMpeg lib onProgressOutput #0, mp4, to '/storage/emulated/0/IHH_y/147upload.mp4':
I/System.out: FFMpeg lib onProgress Metadata:
I/System.out: FFMpeg lib onProgress major_brand : mp42
I/System.out: FFMpeg lib onProgress minor_version : 0
I/System.out: FFMpeg lib onProgress compatible_brands: isommp42
I/System.out: FFMpeg lib onProgress encoder : Lavf56.4.101
I/System.out: FFMpeg lib onProgress Stream #0:0(eng): Video: h264 (libx264) ([33][0][0][0] / 0x0021), yuv420p, 1080x1080, q=-1--1, 880 kb/s, 16.67 fps, 12800 tbn, 16.67 tbc (default)
I/System.out: FFMpeg lib onProgress Metadata:
I/System.out: FFMpeg lib onProgress rotate : 90
I/System.out: FFMpeg lib onProgress creation_time : 2016-06-23 20:00:50
I/System.out: FFMpeg lib onProgress handler_name : VideoHandle
I/System.out: FFMpeg lib onProgress encoder : Lavc56.1.100 libx264
I/System.out: FFMpeg lib onProgress Stream #0:1(eng): Audio: aac ([64][0][0][0] / 0x0040), 48000 Hz, stereo, fltp, 128 kb/s (default)
I/System.out: FFMpeg lib onProgress Metadata:
I/System.out: FFMpeg lib onProgress creation_time : 2016-06-23 20:00:50
I/System.out: FFMpeg lib onProgress handler_name : SoundHandle
I/System.out: FFMpeg lib onProgress encoder : Lavc56.1.100 aac
I/System.out: FFMpeg lib onProgressStream mapping:
I/System.out: FFMpeg lib onProgress Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264))
I/System.out: FFMpeg lib onProgress Stream #0:1 -> #0:1 (aac (native) -> aac (native))
I/System.out: FFMpeg lib onProgressPress [q] to stop, [?] for help
I/System.out: FFMpeg lib onProgressframe= 0 fps=0.0 q=0.0 size= 0kB time=00:00:00.96 bitrate= 0.4kbits/s
I/System.out: FFMpeg lib onProgressframe= 7 fps=6.8 q=0.0 size= 0kB time=00:00:01.05 bitrate= 0.4kbits/s
I/System.out: FFMpeg lib onProgressframe= 15 fps=9.7 q=35.0 size= 87kB time=00:00:01.07 bitrate= 660.5kbits/s
I/System.out: FFMpeg lib onProgressframe= 15 fps=7.3 q=35.0 size= 87kB time=00:00:01.88 bitrate= 376.7kbits/s
I/System.out: FFMpeg lib onProgressframe= 25 fps=9.6 q=35.0 size= 154kB time=00:00:02.05 bitrate= 613.4kbits/s
I/System.out: FFMpeg lib onProgressframe= 32 fps= 10 q=35.0 size= 199kB time=00:00:02.07 bitrate= 784.7kbits/s
I/System.out: FFMpeg lib onProgressframe= 32 fps=8.8 q=35.0 size= 199kB time=00:00:02.93 bitrate= 556.4kbits/s
I/System.out: FFMpeg lib onProgressframe= 42 fps= 10 q=35.0 size= 263kB time=00:00:03.06 bitrate= 705.2kbits/s
I/System.out: FFMpeg lib onProgressframe= 49 fps= 10 q=36.0 size= 328kB time=00:00:03.08 bitrate= 870.9kbits/s
I/System.out: FFMpeg lib onProgressframe= 50 fps=9.5 q=36.0 size= 341kB time=00:00:04.06 bitrate= 687.2kbits/s
I/System.out: FFMpeg lib onProgressframe= 59 fps= 10 q=36.0 size= 407kB time=00:00:04.06 bitrate= 821.2kbits/s
I/System.out: FFMpeg lib onProgressframe= 66 fps= 10 q=36.0 size= 462kB time=00:00:04.10 bitrate= 922.7kbits/s
I/System.out: FFMpeg lib onProgressframe= 66 fps=9.7 q=36.0 size= 462kB time=00:00:05.00 bitrate= 757.4kbits/s
I/System.out: FFMpeg lib onProgressframe= 77 fps= 10 q=35.0 size= 534kB time=00:00:05.06 bitrate= 864.0kbits/s
I/System.out: FFMpeg lib onProgressframe= 83 fps= 11 q=34.0 size= 566kB time=00:00:05.44 bitrate= 850.2kbits/s
I/System.out: FFMpeg lib onProgressframe= 89 fps= 11 q=34.0 size= 600kB time=00:00:06.06 bitrate= 810.6kbits/s
I/System.out: FFMpeg lib onProgressframe= 95 fps= 11 q=35.0 size= 636kB time=00:00:06.06 bitrate= 859.0kbits/s
I/System.out: FFMpeg lib onProgressframe= 100 fps= 11 q=34.0 size= 676kB time=00:00:06.28 bitrate= 881.8kbits/s
I/System.out: FFMpeg lib onProgressframe= 104 fps= 11 q=33.0 size= 702kB time=00:00:07.07 bitrate= 812.8kbits/s
I/System.out: FFMpeg lib onProgressframe= 114 fps= 11 q=34.0 size= 765kB time=00:00:07.07 bitrate= 885.7kbits/s
I/System.out: FFMpeg lib onProgressframe= 117 fps= 11 q=33.0 size= 787kB time=00:00:07.26 bitrate= 887.7kbits/s
I/System.out: FFMpeg lib onProgressframe= 117 fps= 10 q=33.0 size= 787kB time=00:00:08.03 bitrate= 802.8kbits/s
I/System.out: FFMpeg lib onProgressframe= 129 fps= 11 q=33.0 size= 857kB time=00:00:08.07 bitrate= 869.1kbits/s
I/System.out: FFMpeg lib onProgressframe= 138 fps= 11 q=34.0 size= 922kB time=00:00:08.07 bitrate= 935.1kbits/s
I/System.out: FFMpeg lib onProgressframe= 140 fps= 11 q=33.0 size= 937kB time=00:00:08.58 bitrate= 894.1kbits/s
I/System.out: FFMpeg lib onProgressframe= 144 fps= 11 q=-1.0 Lsize= 1032kB time=00:00:08.96 bitrate= 943.0kbits/s
I/System.out: FFMpeg lib onProgressvideo:889kB audio:138kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.512610%
I/System.out: FFMpeg lib onProgress[libx264 @ 0xb5e08800] frame I:1 Avg QP:33.00 size: 21090
I/System.out: FFMpeg lib onProgress[libx264 @ 0xb5e08800] frame P:143 Avg QP:34.49 size: 6217
I/System.out: FFMpeg lib onProgress[libx264 @ 0xb5e08800] mb I I16..4: 100.0% 0.0% 0.0%
I/System.out: FFMpeg lib onProgress[libx264 @ 0xb5e08800] mb P I16..4: 10.3% 0.0% 0.0% P16..4: 21.2% 0.0% 0.0% 0.0% 0.0% skip:68.5%
I/System.out: FFMpeg lib onProgress[libx264 @ 0xb5e08800] final ratefactor: 34.56
I/System.out: FFMpeg lib onProgress[libx264 @ 0xb5e08800] coded y,uvDC,uvAC intra: 16.9% 5.8% 0.1% inter: 6.2% 0.9% 0.0%
I/System.out: FFMpeg lib onProgress[libx264 @ 0xb5e08800] i16 v,h,dc,p: 55% 30% 8% 7%
I/System.out: FFMpeg lib onProgress[libx264 @ 0xb5e08800] i8c dc,h,v,p: 55% 18% 24% 3%
I/System.out: FFMpeg lib onProgress[libx264 @ 0xb5e08800] kb/s:842.72
I/System.out: FFMpeg lib onSuccessWARNING: linker: /data/data/com.x.y/files/ffmpeg has text relocations. This is wasting memory and prevents security hardening. Please fix.
I/System.out: ffmpeg version n2.4.2 Copyright (c) 2000-2014 the FFmpeg developers
I/System.out: built on Oct 7 2014 15:08:46 with gcc 4.8 (GCC)
I/System.out: configuration: --target-os=linux --cross-prefix=/home/sb/Source-Code/ffmpeg-android/toolchain-android/bin/arm-linux-androideabi- --arch=arm --cpu=cortex-a8 --enable-runtime-cpudetect --sysroot=/home/sb/Source-Code/ffmpeg-android/toolchain-android/sysroot --enable-pic --enable-libx264 --enable-libass --enable-libfreetype --enable-libfribidi --enable-fontconfig --enable-pthreads --disable-debug --disable-ffserver --enable-version3 --enable-hardcoded-tables --disable-ffplay --disable-ffprobe --enable-gpl --enable-yasm --disable-doc --disable-shared --enable-static --pkg-config=/home/sb/Source-Code/ffmpeg-android/ffmpeg-pkg-config --prefix=/home/sb/Source-Code/ffmpeg-android/build/armeabi-v7a-neon --extra-cflags='-I/home/sb/Source-Code/ffmpeg-android/toolchain-android/include -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fno-strict-overflow -fstack-protector-all -mfpu=neon' --extra-ldflags='-L/home/sb/Source-Code/ffmpeg-android/toolchain-android/lib -Wl,-z,relro -Wl,-z,now -pie' --extra-libs='-lpng -lexpat -lm' --extra-cxxflags=
I/System.out: libavutil 54. 7.100 / 54. 7.100
I/System.out: libavcodec 56. 1.100 / 56. 1.100
I/System.out: libavformat 56. 4.101 / 56. 4.101
I/System.out: libavdevice 56. 0.100 / 56. 0.100
I/System.out: libavfilter 5. 1.100 / 5. 1.100
I/System.out: libswscale 3. 0.100 / 3. 0.100
I/System.out: libswresample 1. 1.100 / 1. 1.100
I/System.out: libpostproc 53. 0.100 / 53. 0.100
I/System.out: Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/storage/emulated/0/IHH_y/147.mp4':
I/System.out: Metadata:
I/System.out: major_brand : mp42
I/System.out: minor_version : 0
I/System.out: compatible_brands: isommp42
I/System.out: creation_time : 2016-06-23 20:00:50
I/System.out: Duration: 00:00:08.92, start: 0.000000, bitrate: 8966 kb/s
I/System.out: Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1920x1080, 8983 kb/s, 16.66 fps, 16.67 tbr, 90k tbn, 180k tbc (default)
I/System.out: Metadata:
I/System.out: rotate : 90
I/System.out: creation_time : 2016-06-23 20:00:50
I/System.out: handler_name : VideoHandle
I/System.out: Side data:
I/System.out: displaymatrix: rotation of -90.00 degrees
I/System.out: Stream #0:1(eng): Audio: aac (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 254 kb/s (default)
I/System.out: Metadata:
I/System.out: creation_time : 2016-06-23 20:00:50
I/System.out: handler_name : SoundHandle
I/System.out: [libx264 @ 0xb5e08800] using cpu capabilities: none!
I/System.out: [libx264 @ 0xb5e08800] profile Constrained Baseline, level 3.2
I/System.out: [libx264 @ 0xb5e08800] 264 - core 142 - H.264/MPEG-4 AVC codec - Copyleft 2003-2014 - http://www.videolan.org/x264.html - options: cabac=0 ref=1 deblock=0:0:0 analyse=0:0 me=dia subme=0 psy=1 psy_rd=1.00:0.00 mixed_ref=0 me_range=16 chroma_me=1 trellis=0 8x8dct=0 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=0 threads=6 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=0 weightp=0 keyint=250 keyint_min=16 scenecut=0 intra_refresh=0 rc=abr mbtree=0 bitrate=880 ratetol=1.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=0
I/System.out: Output #0, mp4, to '/storage/emulated/0/IHH_y/147upload.mp4':
I/System.out: Metadata:
I/System.out: major_brand : mp42
I/System.out: minor_version : 0
I/System.out: compatible_brands: isommp42
I/System.out: encoder : Lavf56.4.101
I/System.out: Stream #0:0(eng): Video: h264 (libx264) ([33][0][0][0] / 0x0021), yuv420p, 1080x1080, q=-1--1, 880 kb/s, 16.67 fps, 12800 tbn, 16.67 tbc (default)
I/System.out: Metadata:
I/System.out: rotate : 90
I/System.out: creation_time : 2016-06-23 20:00:50
I/System.out: handler_name : VideoHandle
I/System.out: encoder : Lavc56.1.100 libx264
I/System.out: Stream #0:1(eng): Audio: aac ([64][0][0][0] / 0x0040), 48000 Hz, stereo, fltp, 128 kb/s (default)
I/System.out: Metadata:
I/System.out: creation_time : 2016-06-23 20:00:50
I/System.out: handler_name : SoundHandle
I/System.out: encoder : Lavc56.1.100 aac
I/System.out: Stream mapping:
I/System.out: Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264))
I/System.out: Stream #0:1 -> #0:1 (aac (native) -> aac (native))
I/System.out: Press [q] to stop, [?] for help
I/System.out: frame= 0 fps=0.0 q=0.0 size= 0kB time=00:00:00.96 bitrate= 0.4kbits/s
I/System.out: frame= 7 fps=6.8 q=0.0 size= 0kB time=00:00:01.05 bitrate= 0.4kbits/s
I/System.out: frame= 15 fps=9.7 q=35.0 size= 87kB time=00:00:01.07 bitrate= 660.5kbits/s
I/System.out: frame= 15 fps=7.3 q=35.0 size= 87kB time=00:00:01.88 bitrate= 376.7kbits/s
I/System.out: frame= 25 fps=9.6 q=35.0 size= 154kB time=00:00:02.05 bitrate= 613.4kbits/s
I/System.out: frame= 32 fps= 10 q=35.0 size= 199kB time=00:00:02.07 bitrate= 784.7kbits/s
I/System.out: frame= 32 fps=8.8 q=35.0 size= 199kB time=00:00:02.93 bitrate= 556.4kbits/s
I/System.out: frame= 42 fps= 10 q=35.0 size= 263kB time=00:00:03.06 bitrate= 705.2kbits/s
I/System.out: frame= 49 fps= 10 q=36.0 size= 328kB time=00:00:03.08 bitrate= 870.9kbits/s
I/System.out: frame= 50 fps=9.5 q=36.0 size= 341kB time=00:00:04.06 bitrate= 687.2kbits/s
I/System.out: frame= 59 fps= 10 q=36.0 size= 407kB time=00:00:04.06 bitrate= 821.2kbits/s
I/System.out: frame= 66 fps= 10 q=36.0 size= 462kB time=00:00:04.10 bitrate= 922.7kbits/s
I/System.out: frame= 66 fps=9.7 q=36.0 size= 462kB time=00:00:05.00 bitrate= 757.4kbits/s
I/System.out: frame= 77 fps= 10 q=35.0 size= 534kB time=00:00:05.06 bitrate= 864.0kbits/s
I/System.out: frame= 83 fps= 11 q=34.0 size= 566kB time=00:00:05.44 bitrate= 850.2kbits/s
I/System.out: frame= 89 fps= 11 q=34.0 size= 600kB time=00:00:06.06 bitrate= 810.6kbits/s
I/System.out: frame= 95 fps= 11 q=35.0 size= 636kB time=00:00:06.06 bitrate= 859.0kbits/s
I/System.out: frame= 100 fps= 11 q=34.0 size= 676kB time=00:00:06.28 bitrate= 881.8kbits/s
I/System.out: frame= 104 fps= 11 q=33.0 size= 702kB time=00:00:07.07 bitrate= 812.8kbits/s
I/System.out: frame= 114 fps= 11 q=34.0 size= 765kB time=00:00:07.07 bitrate= 885.7kbits/s
I/System.out: frame= 117 fps= 11 q=33.0 size= 787kB time=00:00:07.26 bitrate= 887.7kbits/s
I/System.out: frame= 117 fps= 10 q=33.0 size= 787kB time=00:00:08.03 bitrate= 802.8kbits/s
I/System.out: frame= 129 fps= 11 q=33.0 size= 857kB time=00:00:08.07 bitrate= 869.1kbits/s
I/System.out: frame= 138 fps= 11 q=34.0 size= 922kB time=00:00:08.07 bitrate= 935.1kbits/s
I/System.out: frame= 140 fps= 11 q=33.0 size= 937kB time=00:00:08.58 bitrate= 894.1kbits/s
I/System.out: frame= 144 fps= 11 q=-1.0 Lsize= 1032kB time=00:00:08.96 bitrate= 943.0kbits/s
I/System.out: video:889kB audio:138kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.512610%
I/System.out: [libx264 @ 0xb5e08800] frame I:1 Avg QP:33.00 size: 21090
I/System.out: [libx264 @ 0xb5e08800] frame P:143 Avg QP:34.49 size: 6217
I/System.out: [libx264 @ 0xb5e08800] mb I I16..4: 100.0% 0.0% 0.0%
I/System.out: [libx264 @ 0xb5e08800] mb P I16..4: 10.3% 0.0% 0.0% P16..4: 21.2% 0.0% 0.0% 0.0% 0.0% skip:68.5%
I/System.out: [libx264 @ 0xb5e08800] final ratefactor: 34.56
I/System.out: [libx264 @ 0xb5e08800] coded y,uvDC,uvAC intra: 16.9% 5.8% 0.1% inter: 6.2% 0.9% 0.0%
I/System.out: [libx264 @ 0xb5e08800] i16 v,h,dc,p: 55% 30% 8% 7%As you can see from the log, the conversion fps is very low
Need help to make it faster.Note : The source file is MP4 and output file is MP4 as well
-
Fast Video Compression on Android