我正在寻找一种解决方案来将最近上传的文件名提取到这个 ffmpeg 语法中
shell_exec("ffmpeg -re -i ( Uploaded filename) -vcodec copy -acodec copy -f mpegts udp://239.1.1.1:5000");
如果我将“(上传的文件名)”替换为 .ts 视频文件,则上述语法可以正常工作。
我环顾四周,但没有什么符合这个描述。
我的 upload.php 脚本
if(isset($_FILES['uploadedfile']) && !empty($_FILES['uploadedfile'])){
$target_path = "upload/";
$target = $target_path . basename($_FILES['uploadedfile']['name']);
}
if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'] , $target))
{
$_SESSION['upload_success'] = "File successfully uploaded.";
shell_exec("ffmpeg -re -i /var/www/html/upload/x265manual.ts -vcodec copy -acodec copy -f mpegts udp://239.1.1.1:5000");
这适用于在文件上传后播放 x265manual.ts,但我希望系统从上传的文件名中获取文件名。
这可能吗 ?
我会更容易为 ffmpeg 语法创建一个新的 php 文件吗?
谢谢
标记
最佳答案
添加 basename($_FILES['uploadedfile']['name'])
特定文件名的位置。如果 $_FILE
变量在同一个 .php
文件,它将始终与文件名匹配,因为它刚刚上传到服务器。
shell_exec("ffmpeg -re -i /var/www/html/upload/" . basename($_FILES['uploadedfile']['name']) . " -vcodec copy -acodec copy -f mpegts udp://239.1.1.1:5000");
关于php - 在 php 脚本中使用上传的文件名作为 ffmpeg 输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29000156/