###前提・実現したいこと
webアプリ(railsで作成)で、動画を投稿し、再生する機能を実装したいです。
###発生している問題・エラーメッセージ
MP4をアップロードし、再生しようとすると、再生できるファイル、できないファイル、再生が途中で止まるファイルがあります。原因究明を試みておりますが、行き詰まっています。
再生できるファイルがあるので、コード自体は問題なく、動画ファイルに何らかの原因があるかと推測しています。
しかし、動画ファイルを見比べても差が見出せず困っています。
ご助力いただければ幸いです。
宜しくお願い致します。
エラーメッセージ:特になし。(ストリーミング画面で再生が止まる)
###該当のソースコード
アップロード時のコード(ファイル名:video_uploader.rb) def extension_white_list %w(jpg jpeg gif png MOV wmv mp4 flv pdf) end version :screenshot do process :screenshot def full_filename (for_file = model.logo.file) "screenshot.jpg" end end def screenshot tmpfile = File.join(File.dirname(current_path), "tmpfile") File.rename(current_path, tmpfile) movie = FFMPEG::Movie.new(tmpfile) movie.screenshot(current_path + ".jpg", {resolution: '512x312' }, preserve_aspect_ratio: :width) File.rename(current_path + ".jpg", current_path) File.delete(tmpfile) end end
動画再生時のビュー(ファイル名:show.html.erb) <p id="notice"><%= notice %></p> <div class = "movei-content clearfix"> <div class = "movie-detail"> <p> <strong>Title:</strong> <%= @article.title %><br> <strong> 科目:</strong> <%= @subject.subject %><br> <%= link_to "お気に入り登録", add_article_path, method: :post%> </p> </div> <div class = "video", Align="left"> <%= link_to @article.video_url.to_s do %> <%= image_tag(@article.video_url(:screenshot).to_s, id: "video", :alt => "screenshot") %> <% end %> </div> </div> <%= link_to 'Edit', edit_article_path(@article) %> | <%= link_to 'Back', articles_path %>
###試したこと
・再生に問題がないファイルと問題があるファイルを比較しました(再生時間、容量、コーデック、ダウンロード元のHP)。しかし、原因と思われるような差は見受けられませんでした。
・同一ファイルのアップロードを複数回実施し、アップロード毎に結果が変わるか否かを確認しました。しかし、現段階ではアップロードによって結果が変わるファイルは見受けられませんでした。
###補足情報(言語/FW/ツール等のバージョンなど)
使用言語:Ruby HTML Rails
当該機能実装のために参考にしたURL:
http://dev.classmethod.jp/server-side/ruby-on-rails/ruby-on-rails-carrierwave-ffmpeg/
アップロードを試したMP4ファイルのサンプル
再生できる:http://www.vidsplay.com/jackolantern2.html
再生が途中で止まる:https://static.videezy.com/system/protected/files/000/002/481/golden_gate_bridge_timelapse_hd_stock_video.mp4?st=-
再生できない:http://www.vidsplay.com/earth_moon.html
あなたの回答
tips
プレビュー