在电子(或nodejs)中使用ffplay播放加密视频并添加水印

play encrypted video and add watermark using ffplay in electron (or nodejs)

我正在使用 electron(您可以将其视为 nodejs)来制作播放加密视频的播放器。 使用下面的代码我可以加密视频

执行( ffmpeg -i "${file}" -encryption_scheme cenc-aes-ctr -encryption_key ${encryptionKey} -encryption_kid ${encryptionKey} "${pathWithoutExtension}".CONVERTED.${extension} )

并使用此命令我可以解密并同时播放视频

exec(
    `ffplay "${fileFullPath}"  -decryption_key ${encryptionKey} `,
    (error) => {
      console.log(error)
    }
  )

我的问题是:如何在播放期间向该视频添加文本水印,以及如何结合解密作业来添加文本水印。 我试过这个命令,但它没有work.it添加水印但解密不起作用

执行( ffplay "${fileFullPath}" -vf "drawtext=text='Place text here':x=10:y=H-th-10: fontfile=/path/to/font.ttf:fontsize=12:fontcolor=white: shadowcolor=black:shadowx=5:shadowy=5", -decryption_key ${encryptionKey} , (错误)=> { console.log(错误) } )

终于找到解决办法了: 此命令将文本水印添加到加密文件并在播放时显示

 exec( `ffplay "${fileFullPath}" -decryption_key ${encryptionKey} -vf 
 drawtext=fontfile='c\:/Windows/Fonts/Arial.ttf':text='Place text here'
:fontsize=48:x=100:y=100"`,
        (error) => {
          console.log(error) 
        }
      )