Advertisement
Guest User

Untitled

a guest
Jul 20th, 2017
51
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 0.96 KB | None | 0 0
  1. task fix_tv: :environment do
  2.     episodes = Episode.all
  3.     missing_lists = episodes.find_all{|episode| !File.exists?(episode.path)}
  4.     options = {version: 3, chache: true, target: 11}
  5.     missing_lists.each{|episode|
  6.       puts episode.path
  7.         directory=File.dirname(episode.path)
  8.         filename_without_ext = File.basename(episode.path,".m3u8")
  9.         Dir.chdir(directory)
  10.         files=Dir.glob("#{filename_without_ext}-*.ts")
  11.         marker1="-"
  12.         marker2=".ts"
  13.         files = files.sort{|x,y|
  14.         x[/#{marker1}([0-9]{1,3})#{marker2}/m,1].to_i <=> y[/#{marker1}([0-9]{1,3})#{marker2}/m,1].to_i
  15.         }
  16.         puts files
  17.         playlist = M3u8::Playlist.new(options)
  18.         files.each{|file|
  19.         movie = FFMPEG::Movie.new("#{directory}/#{file}")
  20.         duration = movie.duration
  21.         item = M3u8::SegmentItem.new(duration:duration,segment:file)
  22.         playlist.items << item
  23.         }
  24.         puts playlist.to_s
  25.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement