Showing
5 changed files
with
37 additions
and
8 deletions
... | @@ -8,6 +8,7 @@ use App\Models\VideoTemp; | ... | @@ -8,6 +8,7 @@ use App\Models\VideoTemp; |
8 | use Carbon\Carbon; | 8 | use Carbon\Carbon; |
9 | use Illuminate\Console\Command; | 9 | use Illuminate\Console\Command; |
10 | use Illuminate\Support\Facades\Storage; | 10 | use Illuminate\Support\Facades\Storage; |
11 | +use Illuminate\Support\Str; | ||
11 | use voku\helper\ASCII; | 12 | use voku\helper\ASCII; |
12 | 13 | ||
13 | class DevFFmpeg extends Command | 14 | class DevFFmpeg extends Command |
... | @@ -49,10 +50,7 @@ class DevFFmpeg extends Command | ... | @@ -49,10 +50,7 @@ class DevFFmpeg extends Command |
49 | */ | 50 | */ |
50 | public function handle() | 51 | public function handle() |
51 | { | 52 | { |
52 | - $a = <<<AAA | 53 | + dd(Str::contains("/Users/lishuai/Documents/source/OnePoem-Server/storage/app/public/ffmpeg/output_16479198841364.mp4",'/storage/app/public/')); |
53 | -/usr/bin/ffmpeg -y -i '/usr/local/nginx/html/OnePoem/storage/app/public/files/65f944c1bf4458a324440ceea44c993c.mp4' -i '/usr/local/nginx/html/OnePoem/storage/app/public/temp/88/350/output_1649906074717.mp4' -i '/usr/local/nginx/html/OnePoem/storage/app/public/ffmpeg/LOGO_eng.png' -filter_complex "[0:0]drawtext="fontfile='/usr/local/nginx/html/OnePoem/storage/app/public/ffmpeg/arialuni.ttf':text='佳节清明桃李笑,野田荒冢只生愁。\\n雷惊天地龙蛇蛰,雨足郊原草木柔。\\n人乞祭余骄妾妇,士甘焚死不公侯。\\n贤愚千载知谁是,满眼蓬蒿共一丘。\\n':fontsize=26:fontcolor=white@1.0:x='(w-text_w)/2':y='(h-text_h)/2':box=1:boxcolor=0xd0cdcc@0.5",drawtext="fontfile='/usr/local/nginx/html/OnePoem/storage/app/public/ffmpeg/arialuni.ttf':text='2022年04月14日11时':fontsize=31:fontcolor=white@1.0:x='(w-text_w)/2':y='text_h':box=1:boxcolor=0xd0cdcc@0.5",drawtext="fontfile='/usr/local/nginx/html/OnePoem/storage/app/public/ffmpeg/arialuni.ttf':text='测试有感文本,这里是十五个字。':fontsize=29:fontcolor=white@1.0:x='(w-text_w)/2':y='h-text_h*2':box=1:boxcolor=0xd0cdcc@0.5" [text];[text] [2:v]overlay=20:20[water];[water][0:1][1:0][1:1] concat=n=2:v=1:a=1[v][a]" -map [v] -map [a] -c:v libx264 -bt 256k -r 25 -ar 44100 -ac 2 -qmin 30 -qmax 60 -profile:v baseline -preset fast '/usr/local/nginx/html/OnePoem/storage/app/public/video/181/141/output_16499060769238.mp4' | ||
54 | -AAA; | ||
55 | - | ||
56 | 54 | ||
57 | $path = '/Users/lishuai/Desktop/test/'; | 55 | $path = '/Users/lishuai/Desktop/test/'; |
58 | $file = $path . 'qinghuaci.mp4'; | 56 | $file = $path . 'qinghuaci.mp4'; | ... | ... |
... | @@ -19,10 +19,10 @@ class HomeController extends Controller | ... | @@ -19,10 +19,10 @@ class HomeController extends Controller |
19 | public function index() | 19 | public function index() |
20 | { | 20 | { |
21 | // admin video | 21 | // admin video |
22 | - | 22 | + $lists = Immerse::query()->get(); |
23 | 23 | ||
24 | // user video | 24 | // user video |
25 | - return Response::success(Immerse::query()->get()); | 25 | + return Response::success(); |
26 | } | 26 | } |
27 | 27 | ||
28 | 28 | ... | ... |
... | @@ -7,7 +7,9 @@ use App\Models\Immerse; | ... | @@ -7,7 +7,9 @@ use App\Models\Immerse; |
7 | use App\Models\UserMakeVideo; | 7 | use App\Models\UserMakeVideo; |
8 | use App\Jobs\UserMakeVideo as MakeVideo; | 8 | use App\Jobs\UserMakeVideo as MakeVideo; |
9 | use Illuminate\Http\Request; | 9 | use Illuminate\Http\Request; |
10 | +use Illuminate\Support\Facades\Storage; | ||
10 | use Illuminate\Support\Facades\Validator; | 11 | use Illuminate\Support\Facades\Validator; |
12 | +use Illuminate\Support\Str; | ||
11 | use Jiannei\Response\Laravel\Support\Facades\Response; | 13 | use Jiannei\Response\Laravel\Support\Facades\Response; |
12 | 14 | ||
13 | class ImmerseController extends Controller | 15 | class ImmerseController extends Controller |
... | @@ -45,13 +47,20 @@ class ImmerseController extends Controller | ... | @@ -45,13 +47,20 @@ class ImmerseController extends Controller |
45 | 47 | ||
46 | $validated = $validator->validated(); | 48 | $validated = $validator->validated(); |
47 | 49 | ||
50 | + if (Str::contains($validated['video_url'],'//')){ | ||
51 | + $video_url = '' ; | ||
52 | + }elseif (Str::contains($validated['video_url'],'/storage/app/public/')){ | ||
53 | + $video_url = $validated['video_url']; | ||
54 | + }else{ | ||
55 | + $video_url = Storage::disk('public')->path($validated['video_url']); | ||
56 | + } | ||
48 | 57 | ||
49 | $immerse = Immerse::query()->find($request->video_id); | 58 | $immerse = Immerse::query()->find($request->video_id); |
50 | 59 | ||
51 | $video = UserMakeVideo::query()->create([ | 60 | $video = UserMakeVideo::query()->create([ |
52 | 'poem_id' => $immerse->poem_id, | 61 | 'poem_id' => $immerse->poem_id, |
53 | 'type' => $immerse->type, | 62 | 'type' => $immerse->type, |
54 | - 'video_url' => $validated['video_url'], | 63 | + 'video_url' => $video_url, |
55 | 'image_url' => $immerse->image_url, | 64 | 'image_url' => $immerse->image_url, |
56 | 'bg_music' => $immerse->bg_music, | 65 | 'bg_music' => $immerse->bg_music, |
57 | 'bgm_url' => $immerse->bgm_url, | 66 | 'bgm_url' => $immerse->bgm_url, | ... | ... |
... | @@ -5,6 +5,8 @@ namespace App\Models; | ... | @@ -5,6 +5,8 @@ namespace App\Models; |
5 | use Dcat\Admin\Traits\HasDateTimeFormatter; | 5 | use Dcat\Admin\Traits\HasDateTimeFormatter; |
6 | 6 | ||
7 | use Illuminate\Database\Eloquent\Model; | 7 | use Illuminate\Database\Eloquent\Model; |
8 | +use Illuminate\Support\Facades\Storage; | ||
9 | +use Illuminate\Support\Str; | ||
8 | 10 | ||
9 | class Immerse extends Model | 11 | class Immerse extends Model |
10 | { | 12 | { |
... | @@ -17,4 +19,24 @@ class Immerse extends Model | ... | @@ -17,4 +19,24 @@ class Immerse extends Model |
17 | { | 19 | { |
18 | 20 | ||
19 | } | 21 | } |
22 | + | ||
23 | + public function getUrlAttribute($url) | ||
24 | + { | ||
25 | + if (Str::contains($url, '/storage/app/public/')) { | ||
26 | + $str = Str::of($url)->replace('/usr/local/nginx/html/OnePoem/', ''); | ||
27 | + return Storage::disk('public')->url($str); | ||
28 | + } else { | ||
29 | + return $url; | ||
30 | + } | ||
31 | + } | ||
32 | + | ||
33 | + public function getThumbnailAttribute($url) | ||
34 | + { | ||
35 | + if (Str::contains($url, '/storage/app/public/')) { | ||
36 | + $str = Str::of($url)->replace('/usr/local/nginx/html/OnePoem/', ''); | ||
37 | + return Storage::disk('public')->url($str); | ||
38 | + } else { | ||
39 | + return $url; | ||
40 | + } | ||
41 | + } | ||
20 | } | 42 | } | ... | ... |
... | @@ -45,7 +45,7 @@ class User extends Authenticatable | ... | @@ -45,7 +45,7 @@ class User extends Authenticatable |
45 | return admin_asset('@admin/images/default-avatar.jpg'); | 45 | return admin_asset('@admin/images/default-avatar.jpg'); |
46 | } | 46 | } |
47 | 47 | ||
48 | - if (Str::contains('//',$avatar)){ | 48 | + if (Str::contains($avatar,'//')){ |
49 | return $avatar; | 49 | return $avatar; |
50 | } | 50 | } |
51 | 51 | ... | ... |
-
Please register or login to post a comment