Class: AppleTvConverter::MediaConverter
- Inherits:
-
Object
- Object
- AppleTvConverter::MediaConverter
- Defined in:
- lib/apple_tv_converter/media_converter.rb
Constant Summary collapse
- @@timeout =
200
Instance Method Summary collapse
-
#initialize(options) ⇒ MediaConverter
constructor
A new instance of MediaConverter.
- #process_media(media) ⇒ Object
Constructor Details
#initialize(options) ⇒ MediaConverter
Returns a new instance of MediaConverter.
5 6 7 8 9 10 11 12 |
# File 'lib/apple_tv_converter/media_converter.rb', line 5 def initialize() @options = @adapter = (AppleTvConverter.is_windows? ? AppleTvConverter::MediaConverterWindowsAdapter : AppleTvConverter::MediaConverterMacAdapter).new() AppleTvConverter.logger.level = Logger::ERROR FFMPEG.logger.level = Logger::ERROR FFMPEG::Transcoder.timeout = 300 end |
Instance Method Details
#process_media(media) ⇒ Object
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 |
# File 'lib/apple_tv_converter/media_converter.rb', line 14 def process_media(media) media if media.is_tv_show_episode? puts "* TV Show Episode information:" puts "* Name: #{media.show}" puts "* Season: #{media.season}" puts %Q[* Number: #{media.number}#{"-#{media.last_number}" if media.last_number}] else puts "* Movie information" puts "* Name: #{media.show}" puts "* Genre: #{media.genre}" end if !@options. if media.imdb_id puts "* IMDB ID: #{media.imdb_id}" elsif !@options. puts "* IMDB ID: Unknown yet" end if media.is_tv_show_episode? if media.tvdb_id puts "* TheTVDB ID: #{media.tvdb_id}" elsif !@options. puts "* TheTVDB ID: Unknown yet" end end end puts "* #{media.audio_streams.length} audio track(s)" if media.audio_streams.any? media.audio_streams.each do |audio| language_code = audio.language || 'und' language_name = AppleTvConverter.get_language_name(language_code) puts " * #{language_code} - #{language_name.nil? ? 'Unknown (ignoring)' : language_name}" end end puts "* #{media.subtitle_streams.length} embedded subtitle track(s)" if media.subtitle_streams.any? media.subtitle_streams.each do |subtitle| language_code = subtitle.language || 'und' language_name = AppleTvConverter.get_language_name(language_code) puts " * #{language_code} - #{language_name.nil? ? 'Unknown (ignoring)' : language_name}" end end puts "* #{@adapter.list_files(media.original_filename.gsub(/.{4}$/, '.*srt')).count} external subtitle track(s)" if @adapter.list_files(media.original_filename.gsub(/.{4}$/, '.*srt')).any? @adapter.list_files(media.original_filename.gsub(/.{4}$/, '.*srt')).each do |subtitle| subtitle =~ /\.(.{3})\.srt/i language_code = $1 || 'und' language_name = AppleTvConverter.get_language_name(language_code) puts " * #{language_code.blank? ? 'eng' : language_code} - #{language_name.nil? ? 'Unknown (ignoring)' : language_name}" end end if @options.skip_subtitles != true && @options.download_subtitles && media.subtitle_streams.select { |s| @options.languages.include?(s.language.to_sym) }.empty? && @adapter.list_files(media.original_filename.gsub(/.{4}$/, '.*srt')).empty? @adapter.search_subtitles(media, @options.languages) @adapter.download_subtitles(media, @options.languages) end @adapter.extract_subtitles(media, @options.languages) if !@options.skip_subtitles && media.subtitle_streams.any? && media.needs_transcoding? if @options.skip_transcoding || @adapter.transcode(media, @options.languages) @adapter.add_subtitles(media) unless @options.skip_subtitles unless @options. || @options. media.imdb_id ||= @options.imdb_id media.tvdb_id ||= @options.tvdb_id @adapter.(media) end @adapter.tag media unless @options. @adapter.clean_up media unless @options.skip_cleanup @adapter.rename_to_plex_format media if @options.plex_format @adapter.add_to_itunes media if @options.add_to_itunes end media.update_data_file! end |