Ich folge diesem Tutorial https://www.pubnub.com/blog/2015-12-08-building-video-sharing-app-server-messaging-ruby/ auf Erstellen einer Video Sharing App. Es ist ein wenig veraltet und Ive hatte bereits ein Problem zu beheben, um so weit zu kommen, aber ich bin jetzt ziemlich verloren mit dieser neuesten Ausgabe. Ich glaube, dass es etwas mit Sidekiq zu tun hat. Wenn ich versuche, ein Video hochzuladen, scheint es zu funktionieren und erscheint in der Datenbank, aber ich bekomme ein "Video wird noch verschlüsselt". Botschaft.Kodierungsfehler mit Sidekiq
Dies ist das Protokoll:
2017-03-13T22:00:14.729Z 11109 TID-ova30dq94 WebmVideoEncoder JID-540aa74110e63e334a712719 INFO: fail: 0.122 sec
2017-03-13T22:00:14.730Z 11109 TID-ova30dq94 WARN: {"context":"Job raised exception","job":{"class":"WebmVideoEncoder","args":[3],"retry":true,"queue":"default","jid":"540aa74110e63e334a712719","created_at":1489441065.533313,"enqueued_at":1489442414.60714,"error_message":"exception class/object expected","error_class":"TypeError","failed_at":1489441065.541595,"retry_count":6,"retried_at":1489442414.7293491},"jobstr":"{\"class\":\"WebmVideoEncoder\",\"args\":[3],\"retry\":true,\"queue\":\"default\",\"jid\":\"540aa74110e63e334a712719\",\"created_at\":1489441065.533313,\"enqueued_at\":1489442414.60714,\"error_message\":\"exception class/object expected\",\"error_class\":\"TypeError\",\"failed_at\":1489441065.541595,\"retry_count\":5,\"retried_at\":1489441667.7081149}"}
2017-03-13T22:00:14.730Z 11109 TID-ova30dq94 WARN: TypeError: exception class/object expected
2017-03-13T22:00:14.730Z 11109 TID-ova30dq94 WARN: /Users/David/rubyProjects/videouploader/videouploader/app/workers/webm_video_encoder.rb:14:in `raise'
/Users/David/rubyProjects/videouploader/videouploader/app/workers/webm_video_encoder.rb:14:in `perform'
/Users/David/.rvm/gems/ruby-2.3.0/gems/sidekiq-4.2.9/lib/sidekiq/processor.rb:158:in `execute_job'
/Users/David/.rvm/gems/ruby-2.3.0/gems/sidekiq-4.2.9/lib/sidekiq/processor.rb:138:in `block (4 levels) in process'
/Users/David/.rvm/gems/ruby-2.3.0/gems/sidekiq-4.2.9/lib/sidekiq.rb:36:in `block in <module:Sidekiq>'
/Users/David/.rvm/gems/ruby-2.3.0/gems/sidekiq-4.2.9/lib/sidekiq/processor.rb:133:in `block (3 levels) in process'
/Users/David/.rvm/gems/ruby-2.3.0/gems/sidekiq-4.2.9/lib/sidekiq/middleware/chain.rb:128:in `block in invoke'
/Users/David/.rvm/gems/ruby-2.3.0/bundler/gems/sidetiq-7bec4084165f/lib/sidetiq/middleware/history.rb:8:in `call'
/Users/David/.rvm/gems/ruby-2.3.0/gems/sidekiq-4.2.9/lib/sidekiq/middleware/chain.rb:130:in `block in invoke'
/Users/David/.rvm/gems/ruby-2.3.0/gems/sidekiq-4.2.9/lib/sidekiq/middleware/server/retry_jobs.rb:74:in `call'
/Users/David/.rvm/gems/ruby-2.3.0/gems/sidekiq-4.2.9/lib/sidekiq/middleware/chain.rb:130:in `block in invoke'
/Users/David/.rvm/gems/ruby-2.3.0/gems/sidekiq-4.2.9/lib/sidekiq/middleware/server/logging.rb:11:in `block in call'
/Users/David/.rvm/gems/ruby-2.3.0/gems/sidekiq-4.2.9/lib/sidekiq/logging.rb:32:in `with_context'
/Users/David/.rvm/gems/ruby-2.3.0/gems/sidekiq-4.2.9/lib/sidekiq/middleware/server/logging.rb:7:in `call'
/Users/David/.rvm/gems/ruby-2.3.0/gems/sidekiq-4.2.9/lib/sidekiq/middleware/chain.rb:130:in `block in invoke'
/Users/David/.rvm/gems/ruby-2.3.0/gems/sidekiq-4.2.9/lib/sidekiq/middleware/chain.rb:133:in `invoke'
/Users/David/.rvm/gems/ruby-2.3.0/gems/sidekiq-4.2.9/lib/sidekiq/processor.rb:132:in `block (2 levels) in process'
/Users/David/.rvm/gems/ruby-2.3.0/gems/sidekiq-4.2.9/lib/sidekiq/processor.rb:174:in `stats'
/Users/David/.rvm/gems/ruby-2.3.0/gems/sidekiq-4.2.9/lib/sidekiq/processor.rb:131:in `block in process'
/Users/David/.rvm/gems/ruby-2.3.0/gems/sidekiq-4.2.9/lib/sidekiq/rails.rb:106:in `block in call'
/Users/David/.rvm/gems/ruby-2.3.0/gems/activesupport-5.0.2/lib/active_support/execution_wrapper.rb:85:in `wrap'
/Users/David/.rvm/gems/ruby-2.3.0/gems/activesupport-5.0.2/lib/active_support/reloader.rb:68:in `block in wrap'
/Users/David/.rvm/gems/ruby-2.3.0/gems/activesupport-5.0.2/lib/active_support/execution_wrapper.rb:85:in `wrap'
/Users/David/.rvm/gems/ruby-2.3.0/gems/activesupport-5.0.2/lib/active_support/reloader.rb:67:in `wrap'
/Users/David/.rvm/gems/ruby-2.3.0/gems/sidekiq-4.2.9/lib/sidekiq/rails.rb:105:in `call'
/Users/David/.rvm/gems/ruby-2.3.0/gems/sidekiq-4.2.9/lib/sidekiq/processor.rb:126:in `process'
/Users/David/.rvm/gems/ruby-2.3.0/gems/sidekiq-4.2.9/lib/sidekiq/processor.rb:82:in `process_one'
/Users/David/.rvm/gems/ruby-2.3.0/gems/sidekiq-4.2.9/lib/sidekiq/processor.rb:70:in `run'
/Users/David/.rvm/gems/ruby-2.3.0/gems/sidekiq-4.2.9/lib/sidekiq/util.rb:17:in `watchdog'
/Users/David/.rvm/gems/ruby-2.3.0/gems/sidekiq-4.2.9/lib/sidekiq/util.rb:26:in `block in safe_thread'
2017-03-13T22:00:50.877Z 11109 TID-ova3gyd4k ThumbnailCutter JID-d0c693e39e06c2cccdec7d33 INFO: start
sh: -c: line 0: syntax error near unexpected token `('
sh: -c: line 0: `ffmpeg -i /Users/David/rubyProjects/videouploader/videouploader/public/system/videos/video_files/000/000/002/original/Heart_of_Gold_-_Neil_Young_cover_with_harmonica.1_(1).mp4 -ss 00:00:01.000 -vframes 1 /tmp/1489442450881632.png'
2017-03-13T22:00:50.902Z 11109 TID-ova3gyd4k ThumbnailCutter JID-d0c693e39e06c2cccdec7d33 INFO: fail: 0.025 sec
2017-03-13T22:00:50.903Z 11109 TID-ova3gyd4k WARN: {"context":"Job raised exception","job":{"class":"ThumbnailCutter","args":[2],"retry":true,"queue":"default","jid":"d0c693e39e06c2cccdec7d33","created_at":1489437193.246615,"enqueued_at":1489442450.8759801,"error_message":"exception class/object expected","error_class":"TypeError","failed_at":1489437193.254677,"retry_count":7,"retried_at":1489442450.901133},"jobstr":"{\"class\":\"ThumbnailCutter\",\"args\":[2],\"retry\":true,\"queue\":\"default\",\"jid\":\"d0c693e39e06c2cccdec7d33\",\"created_at\":1489437193.246615,\"enqueued_at\":1489442450.8759801,\"error_message\":\"exception class/object expected\",\"error_class\":\"TypeError\",\"failed_at\":1489437193.254677,\"retry_count\":6,\"retried_at\":1489441044.6660218}"}
2017-03-13T22:00:50.903Z 11109 TID-ova3gyd4k WARN: TypeError: exception class/object expected
2017-03-13T22:00:50.903Z 11109 TID-ova3gyd4k WARN: /Users/David/rubyProjects/videouploader/videouploader/app/workers/thumbnail_cutter.rb:13:in `raise'
/Users/David/rubyProjects/videouploader/videouploader/app/workers/thumbnail_cutter.rb:13:in `perform'
/Users/David/.rvm/gems/ruby-2.3.0/gems/sidekiq-4.2.9/lib/sidekiq/processor.rb:158:in `execute_job'
/Users/David/.rvm/gems/ruby-2.3.0/gems/sidekiq-4.2.9/lib/sidekiq/processor.rb:138:in `block (4 levels) in process'
/Users/David/.rvm/gems/ruby-2.3.0/gems/sidekiq-4.2.9/lib/sidekiq.rb:36:in `block in <module:Sidekiq>'
/Users/David/.rvm/gems/ruby-2.3.0/gems/sidekiq-4.2.9/lib/sidekiq/processor.rb:133:in `block (3 levels) in process'
/Users/David/.rvm/gems/ruby-2.3.0/gems/sidekiq-4.2.9/lib/sidekiq/middleware/chain.rb:128:in `block in invoke'
/Users/David/.rvm/gems/ruby-2.3.0/bundler/gems/sidetiq-7bec4084165f/lib/sidetiq/middleware/history.rb:8:in `call'
/Users/David/.rvm/gems/ruby-2.3.0/gems/sidekiq-4.2.9/lib/sidekiq/middleware/chain.rb:130:in `block in invoke'
/Users/David/.rvm/gems/ruby-2.3.0/gems/sidekiq-4.2.9/lib/sidekiq/middleware/server/retry_jobs.rb:74:in `call'
/Users/David/.rvm/gems/ruby-2.3.0/gems/sidekiq-4.2.9/lib/sidekiq/middleware/chain.rb:130:in `block in invoke'
/Users/David/.rvm/gems/ruby-2.3.0/gems/sidekiq-4.2.9/lib/sidekiq/middleware/server/logging.rb:11:in `block in call'
/Users/David/.rvm/gems/ruby-2.3.0/gems/sidekiq-4.2.9/lib/sidekiq/logging.rb:32:in `with_context'
/Users/David/.rvm/gems/ruby-2.3.0/gems/sidekiq-4.2.9/lib/sidekiq/middleware/server/logging.rb:7:in `call'
/Users/David/.rvm/gems/ruby-2.3.0/gems/sidekiq-4.2.9/lib/sidekiq/middleware/chain.rb:130:in `block in invoke'
/Users/David/.rvm/gems/ruby-2.3.0/gems/sidekiq-4.2.9/lib/sidekiq/middleware/chain.rb:133:in `invoke'
/Users/David/.rvm/gems/ruby-2.3.0/gems/sidekiq-4.2.9/lib/sidekiq/processor.rb:132:in `block (2 levels) in process'
/Users/David/.rvm/gems/ruby-2.3.0/gems/sidekiq-4.2.9/lib/sidekiq/processor.rb:174:in `stats'
/Users/David/.rvm/gems/ruby-2.3.0/gems/sidekiq-4.2.9/lib/sidekiq/processor.rb:131:in `block in process'
/Users/David/.rvm/gems/ruby-2.3.0/gems/sidekiq-4.2.9/lib/sidekiq/rails.rb:106:in `block in call'
/Users/David/.rvm/gems/ruby-2.3.0/gems/activesupport-5.0.2/lib/active_support/execution_wrapper.rb:85:in `wrap'
/Users/David/.rvm/gems/ruby-2.3.0/gems/activesupport-5.0.2/lib/active_support/reloader.rb:68:in `block in wrap'
/Users/David/.rvm/gems/ruby-2.3.0/gems/activesupport-5.0.2/lib/active_support/execution_wrapper.rb:85:in `wrap'
/Users/David/.rvm/gems/ruby-2.3.0/gems/activesupport-5.0.2/lib/active_support/reloader.rb:67:in `wrap'
/Users/David/.rvm/gems/ruby-2.3.0/gems/sidekiq-4.2.9/lib/sidekiq/rails.rb:105:in `call'
/Users/David/.rvm/gems/ruby-2.3.0/gems/sidekiq-4.2.9/lib/sidekiq/processor.rb:126:in `process'
/Users/David/.rvm/gems/ruby-2.3.0/gems/sidekiq-4.2.9/lib/sidekiq/processor.rb:82:in `process_one'
/Users/David/.rvm/gems/ruby-2.3.0/gems/sidekiq-4.2.9/lib/sidekiq/processor.rb:70:in `run'
/Users/David/.rvm/gems/ruby-2.3.0/gems/sidekiq-4.2.9/lib/sidekiq/util.rb:17:in `watchdog'
/Users/David/.rvm/gems/ruby-2.3.0/gems/sidekiq-4.2.9/lib/sidekiq/util.rb:26:in `block in safe_thread'
thumbnail_cutter.rb
class ThumbnailCutter
include Sidekiq::Worker
def perform(video_id)
video = Video.find(video_id)
output = "/tmp/#{Time.now.getutc.to_f.to_s.delete('.')}.png"
_command = `ffmpeg -i #{video.video_file.path} -ss 00:00:01.000 -vframes 1 #{output}`
if $?.to_i == 0
video.thumbnail = File.open(output, 'r')
video.save
FileUtils.rm(output)
else
raise $?
end
end
end
Ich kann nicht scheinen, den Syntaxfehler zu finden. Ich habe thunbnail_cutter.rb zu meinem Post hinzugefügt. Würde es dir etwas ausmachen, einen Blick darauf zu werfen? – DavidK