首页 > 解决方案 > 将属性/元数据(评论、标题等)写入视频 (PHP/cURL)

问题描述

我想知道如何使用 PHP 将元数据/属性(特别是评论和其他信息)写入视频文件(主要是 .mp4)。

视频文件的属性/元数据 - Windows

这是我用来将远程文件 ($sourceURL) 下载到本地目标 ($destinationURL) 的函数。我可以使用 $destinationURL 重命名文件(只需以 /video.mp4 结尾)。我目前正在使用 cURL,但如果它只能通过 fopen()/fwrite() 之类的东西来完成,那么我愿意接受建议:)

function downloadFile( $sourceURL, $destinationURL ) {
    $options = array(
        CURLOPT_FILE => is_resource( $destinationURL ) ? $destinationURL : fopen( $destinationURL, 'w' ),
        CURLOPT_FOLLOWLOCATION => true,
        CURLOPT_URL => $sourceURL,
        CURLOPT_FAILONERROR => true,
    );

    $ch = curl_init();
    curl_setopt_array( $ch, $options );
    $return = curl_exec( $ch );

    if ( $return === false ) {
        return curl_error( $ch );
    } else {
        return true;
    }
}

我试过的:

  1. getID3(): http://getid3.sourceforge.net/也许我遗漏了一些东西,但是当我尝试写入 mp4 文件时,它给了我这个错误:

来自 getID3 的错误消息 - 1

将标签格式更改为“id3v1”也不起作用。

来自 getID3 的错误消息 - 2

如果我没记错的话,标签格式的“id3v2.3”和“id3v1”只适用于.mp3 文件。

  1. 来自的答案:在 php 中编写 exif 数据- 这些似乎只适用于图像文件

非常感谢您抽出宝贵的时间,我期待收到任何评论/答案。

亲切的问候

约书亚洛克纳

标签: phpfilevideometadata

解决方案


您可以使用从/到视频ffmpeg提取/添加元数据,即:

提取: _

ffmpeg -i video.mp4 -f video_metadata.txt 

添加: _

ffmpeg -i video.mp4 -metadata title="my title" video_metadata.mp4

ffmpeg 文件


推荐阅读