いつもお世話になっております。
Railsで動画のアップロードしそれをユーザーが見れるSNSのようなサイトを作成しています。
アップロードした動画をffmpegで画質を落とす処理をし、実際にブラウザ上で再生する動画としています。
今までは特に問題なかったのですが、iPhone12で撮影した動画をアップロードした動画が再生できないと報告を受けました。
調べてみると、アップロードされた動画(画質を落とす処理がされた動画)はPC上(Windows Chromeで確認)では再生できるが、iPhone(8、12で確認)のSaferi、Chromeでは再生できないという状況でした。
iPhone上では以下の画像のように表示されています。
ruby
1<%= video_tag "/uploads/#{params[:xxxx]}/#{vid}" %>
画質を落とす処理に使用しているコマンドは以下の通りで、ffmpegで変換中にはエラーのようなものが出ていました。ログの以降は
Skipping NAL unit 62kB
が続いている状態です。
sudo /root/bin/ffmpeg -i iphone12動画.MOV -vf "scale=trunc(iw/8)*2:trunc(ih/8)*2" henkan.mov -vframes 30 変換ログ Stream mapping: Stream #0:0 -> #0:0 (hevc (native) -> h264 (libx264)) Stream #0:1 -> #0:1 (aac (native) -> aac (native)) Press [q] to stop, [?] for help [hevc @ 0x4920c40] Skipping NAL unit 62 Last message repeated 2 times [libx264 @ 0x49383c0] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2 [libx264 @ 0x49383c0] profile Progressive High 10, level 2.1, 4:2:0, 10-bit [libx264 @ 0x49383c0] 264 - core 157 - H.264/MPEG-4 AVC codec - Copyleft 2003-2019 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=1 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=81 qpstep=4 ip_ratio=1.40 aq=1:1.00 Output #0, mov, to 'henkan.mov': Metadata: major_brand : qt minor_version : 0 compatible_brands: qt com.apple.quicktime.creationdate: 2021-03-01T15:57:55+0900 com.apple.quicktime.make: Apple com.apple.quicktime.model: iPhone 12 com.apple.quicktime.software: 14.4 encoder : Lavf58.26.101 Stream #0:0(und): Video: h264 (libx264) (avc1 / 0x31637661), yuv420p10le, 480x270, q=-1--1, 29.97 fps, 30k tbn, 29.97 tbc (default) Metadata: creation_time : 2021-03-01T06:57:56.000000Z handler_name : Core Media Video encoder : Lavc58.47.103 libx264 Side data: cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: -1 Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 128 kb/s (default) Metadata: creation_time : 2021-03-01T06:57:56.000000Z handler_name : Core Media Audio encoder : Lavc58.47.103 aac [hevc @ 0x4920c40] Skipping NAL unit 62 Last message repeated 11 times [hevc @ 0x4920c40] Skipping NAL unit 62kB time=00:00:01.39 bitrate= 0.2kbits/s speed=2.68x Last message repeated 16 times [hevc @ 0x4920c40] Skipping NAL unit 62kB time=00:00:01.95 bitrate= 0.1kbits/s speed=1.88x Last message repeated 13 times [hevc @ 0x4920c40] Skipping NAL unit 620kB time=00:00:02.41 bitrate= 0.1kbits/s speed=1.55x ・ ・ ・
iPhone12に使用されているHEVCが怪しそうな感じがするのですが、調べてみても解決方法がわからずこちらに質問させていただきました。
適切な方法をご教示いただけますと幸いです。
よろしくお願いいたします。
環境
Amazon Linux release 2 (Karoo)
Rails 5.2.3
Ruby version: 2.6.1
あなたの回答
tips
プレビュー