2017-03-18 10 views
1

私はFfmpegを使ってビデオをレールアプリに記録しています。ユーザーに最小限の時間制限を与えたい。この拘束を設定するのに最適な旗は何ですか?Ffmpegによる時間制限

答えて

1

ffmpegには、-t(または-to)オプションを使用して期間を設定します。 120秒間例:

-t 120 

または

-t 00:02:00 

FFmpeg Documentationを参照してください。

1

これは、Paperclipの基本的な検証の範囲をはるかに超えています。 Paperclipはあなたのユースケースの95%をカバーするための十分な検証をしようとしますが、典型的なものに比べて少し小さいものについては、独自のロジックを記述する必要があります。私はビデオの長さをチェックするためのカスタム検証が組み込まれているとは思わない。 (ただし、資産のファイルサイズを検証するために使用することができますvalidates_attachment_size検証方法がある。ピンチでは、これで十分かもしれません。)

あなたがクリップ添付ファイルにいくつかのより深い検証を行いたい場合は、あなたが見なければなりませんいくつかの異なるツールにあなた自身の検証方法を書くことができます。あなたがビデオを扱っているなら、私はstreamio-ffmpegを見ます。

class YourModel < ActiveRecord::Base 
    has_attached_file :your_media 
    validate :duration_in_range 

    private 

    def duration_in_range 
    # See https://github.com/streamio/streamio-ffmpeg#usage 
    unless FFMPEG::Movie.new(your_media.path).duration.in?(MIN_TIME..MAX_TIME) 
     errors.add(:your_media, "Video duration must be within #{MIN_TIME} and #{MAX_TIME} seconds") 
    end 
    end 
end 
:あなたはこのようなカスタム検証何かを書くことができ、その宝石を使用して

関連する問題