php - 在 php 脚本中使用上传的文件名作为 ffmpeg 输入

标签 php shell upload ffmpeg

我正在寻找一种解决方案来将最近上传的文件名提取到这个 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/

相关文章:

javascript - 为什么我的脚本只将最后一张图像上传到我的 ftp 和数据库?

php上传图片失败

PHP 显示/下载网络服务器根目录之外的目录文件

php - 无法在 WordPress 页面中使用 $.get

php - 无法将变量写入 SQL 数据库

linux - 如何使用 'sed' 通过 bash 脚本中另一个文件的输出来修改一个文件?

python - 在 shell 中创建多对多关系

shell - 比较两个文件(文件 1 和文件 2),如果两个文件的第一列匹配,则从文件 2 到文件 1 添加一列

php - 在 Laravel 5 中显示本地磁盘中的 pdf 文件?

php - 在 Laravel 4 中上传多个文件