まあ今はPaperclipさんの動きを観察したいのでストリーミングは止めとこ←
ぽこ.mp3をポストできなーい。そこからかー
や、二度目はうまくいったな?
Puma:
Started POST "/api/v2/media" for 127.0.0.1 at 2023-04-30 18:55:22 -1000
Processing by Api::V2::MediaController#create as HTML
Parameters: {"file"=>#<ActionDispatch::Http::UploadedFile:0x00007ff1df819510 @tempfile=#<Tempfile:/tmp/RackMultipart20230430-15309-dgdzbf.mp3>, @original_filename="boop.mp3", @content_type="audio/mpeg", @headers="Content-Disposition: form-data; name=\"file\"; filename=\"boop.mp3\"\r\nContent-Type: audio/mpeg\r\n">}
[paperclip] Trying to link /tmp/RackMultipart20230430-15309-dgdzbf.mp3 to /tmp/65eab40bf1bcd5c82c6d9e02abea5ed320230430-15309-zwevid.mp3
[paperclip] Trying to link /tmp/65eab40bf1bcd5c82c6d9e02abea5ed320230430-15309-zwevid.mp3 to /tmp/5907bf4f5ad9a44585aa67ffb44b1eb420230430-15309-xsgwai.mp3
Command :: file -b --mime '/tmp/5907bf4f5ad9a44585aa67ffb44b1eb420230430-15309-xsgwai.mp3'
Completed 202 Accepted in 100ms (Views: 0.7ms | ActiveRecord: 8.1ms | Allocations: 16288)
Sidekiq:
[paperclip] Trying to link /tmp/5907bf4f5ad9a44585aa67ffb44b1eb420230430-15237-g1o5y7.mp3 to /tmp/5907bf4f5ad9a44585aa67ffb44b1eb420230430-15237-ccomwo.mp3
Command :: file -b --mime '/tmp/5907bf4f5ad9a44585aa67ffb44b1eb420230430-15237-ccomwo.mp3'
Command :: ffmpeg -i '/tmp/5907bf4f5ad9a44585aa67ffb44b1eb420230430-15237-g1o5y7.mp3' -loglevel 'fatal' -y '/tmp/5907bf4f5ad9a44585aa67ffb44b1eb420230430-15237-g1o5y720230430-15237-7ojlap.png'
[paperclip] Trying to link /tmp/5907bf4f5ad9a44585aa67ffb44b1eb420230430-15237-g1o5y720230430-15237-7ojlap.png to /tmp/0381aeda1556e16d4f79982adb48109620230430-15237-bwkm48.png
[paperclip] Trying to link /tmp/0381aeda1556e16d4f79982adb48109620230430-15237-bwkm48.png to /tmp/c64aa59e027fc0f5a1f71e4bdc20df3320230430-15237-1vy51v.png
Command :: file -b --mime '/tmp/c64aa59e027fc0f5a1f71e4bdc20df3320230430-15237-1vy51v.png'
Command :: identify -format %m '/tmp/0381aeda1556e16d4f79982adb48109620230430-15237-bwkm48.png[0]'
Command :: convert '/tmp/0381aeda1556e16d4f79982adb48109620230430-15237-bwkm48.png[0]' -auto-orient -resize "480x480>" -quality 90 +profile "!icc,*" +set modify-date +set create-date '/tmp/c77eb2da6e7d767ed9b4e393aeaa7d7e20230430-15237-n5t6nq'
Command :: convert '/tmp/c77eb2da6e7d767ed9b4e393aeaa7d7e20230430-15237-n5t6nq' -depth 8 RGB:-
Command :: convert '/tmp/c77eb2da6e7d767ed9b4e393aeaa7d7e20230430-15237-n5t6nq' -alpha set -gravity Center -region 75%x75% -fill None -colorize 100% -alpha transparent +region -format %c -colors '10' -depth '8' histogram:info:
Command :: convert '/tmp/c77eb2da6e7d767ed9b4e393aeaa7d7e20230430-15237-n5t6nq' -format %c -colors '10' -depth '8' histogram:info:
[paperclip] Trying to link /tmp/c77eb2da6e7d767ed9b4e393aeaa7d7e20230430-15237-n5t6nq to /tmp/097517312c6e01d80f80865ffdad7b7d20230430-15237-5hl107
Command :: ffmpeg -nostdin -i '/tmp/5907bf4f5ad9a44585aa67ffb44b1eb420230430-15237-g1o5y7.mp3' -loglevel 'fatal' -q:a '2' -y '/tmp/5907bf4f5ad9a44585aa67ffb44b1eb420230430-15237-g1o5y720230430-15237-dwsb6g.mp3'
[paperclip] Trying to link /tmp/5907bf4f5ad9a44585aa67ffb44b1eb420230430-15237-g1o5y720230430-15237-dwsb6g.mp3 to /tmp/b855ec0c6c2a1f4e46a715262c9d155220230430-15237-k7eh9e.mp3
[paperclip] deleting /home/zunda/c/src/github.com/zunda/mastodon/public/system/media_attachments/files/110/291/643/415/144/381/original/09e9b4705b23c969.mp3
mp3の生成はPumaから、プレビュー画像の作成はSidekiqからやってるのかな?
プロダクションだとfileコマンドでこけてるのかな?そんなのこまんど…
[paperclip] Trying to link /tmp/RackMultipart20230501-51-9ex6w9.mp3 to /tmp/65eab40bf1bcd5c82c6d9e02abea5ed320230501-51-8ri7xv.mp3
[paperclip] Trying to link /tmp/65eab40bf1bcd5c82c6d9e02abea5ed320230501-51-8ri7xv.mp3 to /tmp/b6f15bf50c9c2a52335dc1c0727a0a8220230501-51-bydcn0.mp3
Command :: file -b --mime '/tmp/b6f15bf50c9c2a52335dc1c0727a0a8220230501-51-bydcn0.mp3'
method=POST path=/api/v2/media format=html controller=Api::V2::MediaController action=create status=500 duration=1430.33 view=7.89 db=8.40
$ find . -name boop.mp3 | xargs file -b --mime
audio/mpeg; charset=binary
になるのはプロダクションでもローカルでも一緒だからプロダクションの場合はここまでの段階で変換に失敗してるってことだね。
app/lib/video_metadata_extractor.rb:15 にちゃんと書いてあった:
raise Paperclip::Errors::CommandNotFoundError, 'Could not run the `ffprobe` command. Please install ffmpeg.'
いつ落としたんだっけ…
$ cat Aptfile
ffmpeg
libpq-dev
libxdamage1
libxfixes3
あるなあ。
$ heroku run bash
~ $ ffprobe
ffprobe: error while loading shared libraries: libblas.so.3: cannot open shared object file: No such file or directory
依存漏れのごようす
$ cat Aptfile
ffmpeg
libopenblas0-pthread
libpq-dev
libxdamage1
libxfixes3
して
$ heroku run bash
~ $ LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/app/.apt/usr/lib/x86_64-linux-gnu/blas ffprobe
ffprobe: error while loading shared libraries: liblapack.so.3: cannot open shared object file: No such file or directory
ふむん
$ heroku run bash
~ $ LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/app/.apt/usr/lib/x86_64-linux-gnu/openblas-pthread ffprobe
ffprobe version 4.4.2-0ubuntu0.22.04.1 Copyright (c) 2007-2021 the FFmpeg developers
:
でいいのか
LD_LIBRARY_PATHは.profileで追加してるっぽいね