laravel - 将 ffmpeg 命令输出存储到 aws s3

标签 laravel amazon-web-services amazon-s3 ffmpeg

我在下面运行的命令在本地文件系统中运行良好。

命令:

exec('ffmpeg -i '.config('medialibrary.s3.domain').'/listing_video/intro.mp4'.' -vf "drawtext=fontfile=' . storage_path('assets/video/FutuMd.ttf') . ': text=' . $request->get('intro_text') . ': x=300: y=450: fontsize=65: fontcolor=white: enable=\'between(t,2,5)\'" introfinal.mp4');

但我必须将文件直接存储到s3,所以我将存储文件的命令更改为s3,但文件大小为0B。
exec('ffmpeg -i '.config('medialibrary.s3.domain').'/listing_video/intro.mp4'.' -vf "drawtext=fontfile=' . storage_path('assets/video/FutuMd.ttf') . ': text=' . $request->get('intro_text') . ': x=300: y=450: fontsize=65: fontcolor=white: enable=\'between(t,2,5)\'" '.Storage::put('introfinal.mp4', '').'');

提前致谢!

最佳答案

这个例子并不完美,但会为您指明正确的方向:

exec('ffmpeg -i '.config('medialibrary.s3.domain').'/listing_video/intro.mp4'.' -vf "drawtext=fontfile=' . storage_path('assets/video/FutuMd.ttf') . ': text=' . $request->get('intro_text') . ': x=300: y=450: fontsize=65: fontcolor=white: enable=\'between(t,2,5)\'" introfinal.mp4');

$contents = file_get_contents('introfinal.mp4');

$success = Storage::put('introfinal.mp4', $contents);

关于laravel - 将 ffmpeg 命令输出存储到 aws s3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50406491/

相关文章:

javascript - str_replace 来自 Ajax 调用数据的 js 内部

string - laravel str_random url 安全吗?

ios - 使用 AWS iOS SDK 2.0 上传文件的权限

amazon-web-services - RDS 吃掉所有交换空间

aws-cloudformation - 如何避免 s3 存储桶 ObjectOwnership 上的 AWS 堆栈漂移误报?

php - 如何使用 laravel framework 5.1 连接到 3308 端口的 MySQL 数据库?

php - 我如何使用点语法遍历 laravel 中的模型关系

python - Amazon AWS Cognito 和 Python Boto3 建立 AWS 连接并将文件上传到 Bucket

amazon-web-services - 使用动态文件在 EC2 上挂载 S3 (s3fs) - 持久公共(public)权限

amazon-s3 - 如何访问转储在 S3 中的 AWS SES 电子邮件的内容?