在电子(或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)
}
)
我正在使用 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)
}
)