FFMPEG如何仅选择一个文件并将其压缩为另一种格式

时间:2018-06-25 14:18:49

标签: ruby-on-rails-4 command-line ffmpeg

在ruby中,我现在可以将文件夹的所有.mp4压缩为.webm。

    Dir.glob("*.mp4") do |my_text_file|
        puts ' --> converting: ' + my_text_file
        puts "ffmpeg -i #{my_text_file.gsub(/ /, '\ ')} -b:v 640k  #{my_text_file.gsub(/.mp4/, '')}.webm"
        `ffmpeg -i #{my_text_file.gsub(/ /, '\ ')} -b:v 640k  #{my_text_file.gsub(/.mp4/, '')}.webm`
    end

现在如何选择特定文件?我尝试过:

    aa = params[:file].to_s
    Dir.glob("#{aa}") do |my_text_file|
        puts ' --> converting: ' + my_text_file
        puts "ffmpeg -i #{my_text_file.gsub(/ /, '\ ')} -b:v 640k  #{my_text_file.gsub(/.mp4/, '')}.webm"
    `ffmpeg -i #{my_text_file.gsub(/ /, '\ ')} -b:v 640k  #{my_text_file.gsub(/.mp4/, '')}.webm`
    end

1 个答案:

答案 0 :(得分:0)

对不起,我正在使用原始文件名而不是磁盘上的物理名称,因为该文件已被程序重命名。所以你只需要放

    `Dir.glob("#{params[:file]}")`