Showing
1 changed file
with
42 additions
and
0 deletions
... | @@ -46,6 +46,48 @@ class DevFFmpeg extends Command | ... | @@ -46,6 +46,48 @@ class DevFFmpeg extends Command |
46 | */ | 46 | */ |
47 | public function handle() | 47 | public function handle() |
48 | { | 48 | { |
49 | + $content = '题破山寺后禅院' . "\t" . ' -- 常建' . PHP_EOL . | ||
50 | + '清晨入古寺,初日照高林。' . PHP_EOL . | ||
51 | + '曲径通幽处,禅房花木深。' . PHP_EOL . | ||
52 | + '山光悦鸟性,潭影空人心。' . PHP_EOL . | ||
53 | + '万籁此都寂,但余钟磬音。' . PHP_EOL ; | ||
54 | + $path = '/Users/lishuai/Desktop/test/'; | ||
55 | + | ||
56 | + $cmd = $this->ffmpeg . ' -y '. | ||
57 | + ' -i ' . escapeshellarg($path . 'qinghuaci.mp4'). | ||
58 | + ' -i ' . escapeshellarg($path . 'suffiix.mp4'). | ||
59 | + ' -i ' . escapeshellarg($path . 'logo.png'). | ||
60 | + | ||
61 | + ' -filter_complex "[0:0] ' . | ||
62 | + 'drawtext="'. | ||
63 | + 'fontfile=' . escapeshellarg($path . 'arialuni.ttf') . ':' . | ||
64 | + 'text=' . escapeshellarg($content) . ':'. | ||
65 | + 'fontsize=43:'. | ||
66 | + 'fontcolor=white@1.0:'. | ||
67 | + 'x=main_w/2' . '-260' . ':'. | ||
68 | + 'y=main_h/2' . '-20' . ':'. | ||
69 | + 'box=1:boxcolor=0xd0cdcc@0.5'. | ||
70 | + '" [text];'. | ||
71 | + '[text] [2:v]overlay=20:20[water];[water][0:1][1:0][1:1] concat=n=2:v=1:a=1[v][a]" '. | ||
72 | + ' -map [v] -map [a]'. | ||
73 | + ' -c:v libx264 -bt 256k -r 25' . | ||
74 | +// ' -c:v:thumb png -disposition:v:thumb attached_pic' . | ||
75 | + ' -ar 44100 -ac 2 -qmin 30 -qmax 60 -profile:v baseline -preset fast ' . | ||
76 | + escapeshellarg($path . 'out.mp4'); | ||
77 | + | ||
78 | + $this->execmd($cmd); | ||
79 | + | ||
80 | + | ||
81 | + $cmd = $this->ffmpeg. ' -y'. | ||
82 | + ' -i ' . escapeshellarg($path . 'out.mp4'). | ||
83 | + ' -i ' . escapeshellarg($path . 'thumbnail.png'). | ||
84 | + ' -map 1 -map 0 -c copy -disposition:0 attached_pic '. | ||
85 | + escapeshellarg($path . 'out2.mp4'); | ||
86 | + | ||
87 | + $this->execmd($cmd); | ||
88 | + | ||
89 | + return 0; | ||
90 | + | ||
49 | $adminMakeVideo = AdminMakeVideo::query()->first(); | 91 | $adminMakeVideo = AdminMakeVideo::query()->first(); |
50 | $adminMakeVideo->video_url = Storage::disk('public')->path($adminMakeVideo->video_url); | 92 | $adminMakeVideo->video_url = Storage::disk('public')->path($adminMakeVideo->video_url); |
51 | // $adminMakeVideo->thumbnail_url = Storage::disk('public')->path($adminMakeVideo->thumbnail_url); | 93 | // $adminMakeVideo->thumbnail_url = Storage::disk('public')->path($adminMakeVideo->thumbnail_url); | ... | ... |
-
Please register or login to post a comment