Recherche avancée

Médias (0)

Mot : - Tags -/clipboard

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

Autres articles (68)

  • Mise à jour de la version 0.1 vers 0.2

    24 juin 2013, par

    Explications des différents changements notables lors du passage de la version 0.1 de MediaSPIP à la version 0.3. Quelles sont les nouveautés
    Au niveau des dépendances logicielles Utilisation des dernières versions de FFMpeg (>= v1.2.1) ; Installation des dépendances pour Smush ; Installation de MediaInfo et FFprobe pour la récupération des métadonnées ; On n’utilise plus ffmpeg2theora ; On n’installe plus flvtool2 au profit de flvtool++ ; On n’installe plus ffmpeg-php qui n’est plus maintenu au (...)

  • Personnaliser en ajoutant son logo, sa bannière ou son image de fond

    5 septembre 2013, par

    Certains thèmes prennent en compte trois éléments de personnalisation : l’ajout d’un logo ; l’ajout d’une bannière l’ajout d’une image de fond ;

  • Ecrire une actualité

    21 juin 2013, par

    Présentez les changements dans votre MédiaSPIP ou les actualités de vos projets sur votre MédiaSPIP grâce à la rubrique actualités.
    Dans le thème par défaut spipeo de MédiaSPIP, les actualités sont affichées en bas de la page principale sous les éditoriaux.
    Vous pouvez personnaliser le formulaire de création d’une actualité.
    Formulaire de création d’une actualité Dans le cas d’un document de type actualité, les champs proposés par défaut sont : Date de publication ( personnaliser la date de publication ) (...)

Sur d’autres sites (12400)

  • FFmpeg - Extracting video and audio from transport stream file (.ts)

    25 juillet 2015, par Passepartout

    I wish to extract the audio and video of a certain program in a transport stream file (.ts) by specifying its PID without losing quality and using the same codec in the resulting file (the output file is a MPEG).

    Is that even possible with FFmpeg ? If so, how can I do it ?

    So far, I’ve come to this command :

    ffmpeg -i tsfile.ts -vcodec copy -acodec copy -q:v 1 output.mpg

    Edit : Note that the file output.mpg is created. The file contains the video but the audio isn’t attached (no sound). Also, I am unable to specify the program PID to extract.

    Edit 2 : Here’s the output of ffmpeg -i tsfile.ts

    ffmpeg version N-47062-g26c531c Copyright (c) 2000-2012 the FFmpeg developers
    built on Nov 25 2012 12:21:26 with gcc 4.7.2 (GCC)
       libavutil      52.  9.100 / 52.  9.100
       libavcodec     54. 77.100 / 54. 77.100
       libavformat    54. 37.100 / 54. 37.100
       libavdevice    54.  3.100 / 54.  3.100
       libavfilter     3. 23.102 /  3. 23.102
       libswscale      2.  1.102 /  2.  1.102
       libswresample   0. 17.101 /  0. 17.101
       libpostproc    52.  2.100 / 52.  2.100
    [mpeg2video @ 0201c7a0] mpeg_decode_postinit() failure
    Last message repeated 10 times
    [mpegts @ 0037b800] PES packet size mismatch
    Input #0, mpegts, from 'tsfile.ts':
    Duration: 00:01:30.58, start: 56297.848344, bitrate: 18045 kb/s
    Program 1
       Stream #0:0[0x31]: Video: mpeg2video (Main) ([2][0][0][0] / 0x0002), yuv420p, 1920x1080  [SAR 1:1 DAR 16:9], 29.97 fps, 29.97 tbr, 90k tbn, 59.94 tbc
       Stream #0:1[0x34]: Audio: ac3 ([129][0][0][0] / 0x0081), 48000 Hz, 5.1(side), s16, 384      kb/s

    Here’s a tsinfo.exe on the .ts file :

    Reading from C:\tsfile.ts
    Scanning 10000 TS packets

    Packet 1 is PAT
    Program list:
       Program 1 -> PID 0020 (32)

    Packet 2 is PMT with PID 0020 (32)
     Program 1, version 1, PCR PID 0031 (49)
        Program info (38 bytes): 0e 03 c0 b9 16 10 06 c0 02 71 c0 04 00 0b 02 42 3f 05 04
                                 47 41 39 34 86 0d e2 65 6e 67 7e 3f ff 65 6e 67 c1 3f ff
    maximum bitrate (3 bytes): c0 b9 16
    smoothing buffer (6 bytes): c0 02 71 c0 04 00
    system clock (2 bytes): 42 3f
    Registration GA94
    Descriptor tag 86 (134) (13 bytes): e2 65 6e 67 7e 3f ff 65 6e 67 c1 3f ff
     Program streams:
    PID 0031 (  49) -> Stream type 02 (  2) H.262/13818-2 video (MPEG-2) or 11172-2 constrained video
    PID 0034 (  52) -> Stream type 81 (129) User private
       ES info (6 bytes): 6a 04 41 43 2d 33
       DVB AC-3 (4 bytes): 41 43 2d 33

    Found 14 PAT packets and 7 PMT packets in 10000 TS packets
  • Background Video Processing with Rails

    23 octobre 2013, par Matthew Snyder

    I am trying to get uploaded videos to be converted in the background, running windows. Some of what I am using :

    gem 'paperclip'
    gem 'delayed_job_active_record'
    gem 'ffmpeg'

    I have edited the registry to allow the ffmpeg command to be ran from anywhere, I get a popup that I assume is ffmpeg because it goes away too quickly, guess the command is wrong so if anyone knows what's wrong with it please let me know. But the real problem is that it just hangs there, it says :

    [2012-12-09 22:47:03] ERROR invalid body size.
    [2012-12-09 22:47:03] ERROR Errno::ECONNABORTED: An established connection was a
    borted by the software in your host machine.
           C:/RailsInstaller/Ruby1.9.3/lib/ruby/1.9.1/webrick/httpresponse.rb:396:i
    n `write'
           C:/RailsInstaller/Ruby1.9.3/lib/ruby/1.9.1/webrick/httpresponse.rb:396:i
    n `<<'
           C:/RailsInstaller/Ruby1.9.3/lib/ruby/1.9.1/webrick/httpresponse.rb:396:i
    n `_write_data'
           C:/RailsInstaller/Ruby1.9.3/lib/ruby/1.9.1/webrick/httpresponse.rb:368:i
    n `send_body_string'
           C:/RailsInstaller/Ruby1.9.3/lib/ruby/1.9.1/webrick/httpresponse.rb:249:i
    n `send_body'
           C:/RailsInstaller/Ruby1.9.3/lib/ruby/1.9.1/webrick/httpresponse.rb:152:i
    n `send_response'
           C:/RailsInstaller/Ruby1.9.3/lib/ruby/1.9.1/webrick/httpserver.rb:110:in
    `run'
           C:/RailsInstaller/Ruby1.9.3/lib/ruby/1.9.1/webrick/server.rb:191:in `blo
    ck in start_thread'

    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

     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"

     #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

     #before_post_process do |video|
      # false if video.status == "converting"
     #end

     def perform
       command = <<-end_command
         start ffmpeg -i #{ '/public/users/:user_id/videos/:id/:basename_:style.:extension' }  -ar 22050 -ab 32 -s 1280x720 -vcodec webm -r 25 -qscale 8 -f webm -y #{ '/public/users/:user_id/videos/:id/:basename_.webm' }

       end_command
       success = system(command)
       logger.debug 'Converting File: ' + success.to_s
       if success && $?.exitstatus.to_i == 0
         #self.converted!
         self.status = "converted"
       else
         #self.failure!
         self.status = "failed"
       end
     end

     handle_asynchronously :perform

     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

       # 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

    end

    Controller :

    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.delay.perform
               flash[:success] = "Uploaded Succefully!"
               redirect_to @video.user
               Delayed::Worker.new.start
           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
  • FFmpeg error m4v to flv requested bitrate is too low

    20 décembre 2012, par Pradeep Singh

    FFMPEG OUTPUT


    COMMAND

    /usr/local/bin/ffmpeg -i '/home/machine/public_html/video_1355531272.m4v' -s '640x480' -sameq -ab '64k' -ar '44100' -f 'flv' -pass '1' -passlogfile '/home/machine/public_html/tmp/1355531273-50cbc4090d696-multipass'  -y /home/machine/public_html/tmp/1355531273-50cbc4090d2a9.flv &> /home/machine/public_html/tmp/1355531273-50cbc4090da7c.info
    /usr/local/bin/ffmpeg -i '/home/machine/public_html/video_1355531272.m4v' -s '640x480' -sameq -ab '64k' -ar '44100' -f 'flv' -pass '2' -passlogfile '/home/machine/public_html/tmp/1355531273-50cbc4090d696-multipass'  -y /home/machine/public_html/tmp/1355531273-50cbc4090d2a9.flv &> /home/machine/public_html/tmp/1355531273-50cbc4090da7c.info
    eng): Video: h264, yuv420p, 960x540, 3428 kb/s, 29.97 fps, 29.97 tbr, 2997 tbn, 5994 tbc
       Metadata:
         creation_time   : 2012-12-14 22:50:55
       Stream #0.1(eng): Audio: aac, 44100 Hz, stereo, s16, 111 kb/s
       Metadata:
         creation_time   : 2012-12-14 22:50:55
    [buffer @ 0xdd079d0] w:960 h:540 pixfmt:yuv420p
    [scale @ 0xdd07da0] w:960 h:540 fmt:yuv420p -> w:640 h:480 fmt:yuv420p flags:0xa0000004
    [flv @ 0xdd041c0] requested bitrate is too low
    Output #0, flv, to '/home/machine/public_html/tmp/1355531273-50cbc4090d2a9.flv':
       Stream #0.0(eng): Video: flv, yuv420p, 640x480, q=2-31, pass 2, 200 kb/s, 90k tbn, 29.97 tbc
       Metadata:
         creation_time   : 2012-12-14 22:50:55
       Stream #0.1(eng): Audio: adpcm_swf, 44100 Hz, stereo, s16, 64 kb/s
       Metadata:
         creation_time   : 2012-12-14 22:50:55
    Stream mapping:
     Stream #0.0 -> #0.0
     Stream #0.1 -> #0.1
    Error while opening encoder for output stream #0.0 - maybe incorrect parameters such as bit_rate, rate, width or height
    -------------------------------
    RESULT
    -------------------------------
    Execute error. Output for file "/home/machine/public_html/video_1355531272.m4v" was found, but the file contained no data. Please check the available codecs compiled with FFmpeg can support this type of conversion. You can check the encode decode availability by inspecting the output array from PHPVideoToolkit::getFFmpegInfo().