跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • 是否可以把二进制数据编码到可播放的视频文件?
未分類
26 5 月 2020

是否可以把二进制数据编码到可播放的视频文件?

是否可以把二进制数据编码到可播放的视频文件?

資深大佬 : neteroster 0

这是一个突发奇想(没有滥用视频网站的意思,别误会了)。

从技术上讲应该是可行的,注意这里的要求是“可播放”(单纯改后缀这种不算)。

我的想法大概是可以每帧都播放一个类似二维码的东西,然后解码的时候分别提取所有帧并合并。

或者有其他方案吗?是否有已经实现这种功能的软件 / 工具呢?

大佬有話說 (17)

  • 資深大佬 : msg7086

    你是说嵌在容器里还是嵌在流里还是嵌在编码的帧里还是嵌在画面里?

  • 資深大佬 : tangkaichuan

    目前不是已经可以把文件加到图片里了吗?将图片连接起来不就是视频

  • 資深大佬 : churchmice

    早就有了,老弟,去研究下数字水印防盗版

  • 資深大佬 : gzlock

    视频网站二次压缩视频会破坏你的数据吧?

  • 資深大佬 : reus

    其实视频画面,就等于你说的“二维码”,只不过视频画面可以直接被人脑解码,而二维码需要机器转码
    如果需要对抗二次压缩,那需要比较多的冗余数据,就是显示的二维码码点要比较大,不然一压就变了,解码开销也更大

  • 資深大佬 : xml123

    二维码的信息冗余也太大了,一个像素 RGB 可以和 3 个 bit 的数据一一对应,你约定一个视频的尺寸,然后依次转换成像素就行了,一帧写满了就写下一帧。如果要抗压缩的话,颜色的种类减少一些,色块取大一些就行了。类似的成品我记得有过,不过是把二进制数据打印成图片再用扫描仪还原;动态二维码的好像也有。

  • 資深大佬 : systemcall

    @xml123 视频编码一般是 yuv,在线视频网站应该是 yuv420 。二维码每个像素只用到了 2 个状态,而实际上如果是位图的话有 16.7M 的状态,单纯的二维码编码效率很低
    我觉得应该可以考虑直接想办法映射到 yuv420,直接拿现成的二维码改应该可行,反正二维码本身可以有一定的冗余,用自带的冗余功能来避免编码对信息的干扰应该是足够的

  • 資深大佬 : Telegram

    @msg7086 #1 我的想法大概是可以每帧都播放一个类似二维码的东西,然后解码的时候分别提取所有帧并合并。

    他的意思就是嵌入画面里,就是每帧一个二维码,连续解码,然后拼接。。
    理论上完全可以啊

  • 資深大佬 : Telegram

    在 github 随便搜了一下,发现好像有现成的轮子:
    https://github.com/Neohapsis/QRCode-Video-Data-Exfiltration
    未验证

  • 資深大佬 : Telegram

    在 Issues 中看到另外 1 个叫 txqr 的项目,貌似更成熟一些:
    Please take a look at TxQR, which is pretty promising

    https://github.com/divan/txqr
    https://github.com/divan/txqr-reader
    https://github.com/ThePlasmaRailgun/TXQR-Android

    ![111]( https://github.com/divan/txqr/raw/master/docs/demo.gif)

  • 資深大佬 : qieqie

    如果你要的不是那种可以防再次编码的数字水印,h264/hevc 标准中规定的 SEI (Supplemental Enhancement Information)就是给你写入自定义信息的。

  • 資深大佬 : Telegram

  • 資深大佬 : msg7086

    @Telegram 我不确定主是想要这个效果还是只知道这个效果。毕竟各个层面上都有办法植入数据,像素上植入是植入效率最低的,只有在要求鲁棒性的环境下才适用。如果只是要插入普通的自定义信息的话,流层面上像上说的 SEI 就是用来干这个的。容器上也可以写,像是 MKV 和 MP4 都可以加入自定义元素。

  • 資深大佬 : zingl

    LZ 的意思是把二进制文件嵌入到媒体文件进行隐匿分发

    虽然 LZ 的标题写得不咋地,内容还是讲得比较清楚的啊

  • 資深大佬 : msg7086

    @zingl 帖子内容只是想法,不是目的。
    我现在解读问题的时候,常常不得不考虑 X-Y 问题的可能性。
    我现在看到的目的是 1) 二进制数据编码进视频文件; 2) 视频文件可播放; 3) 编码的数据可从文件中读取。
    只考虑这 3 点的话主内容里写的想法不是最合适的做法。
    所以我第一条的回复就是希望主明确自己的目的,否则下面一群人就只能漫无目的地回复。

  • 資深大佬 : jifengg

    如果不考虑被平台重新转码的话,直接 base64 存到字幕流哈。
    如果考虑被转码的话,应该只能从视频画面本身着手了吧。

  • 主 資深大佬 : neteroster

    @Telegram @msg7086 @qieqie 谢谢你们提供的信息。本身这个贴就是突发奇想的一个念头。确实在描述中没有说清楚到底是要在视频文件的其他部分嵌入数据还是在可视的帧中嵌入。我的想法更接近 @Telegram 提供的项目,类似于一个动态的二维码,仅靠人眼能识别的信息就能还原出数据。虽然这样确实不是效率最高的办法,但是对我来说的确显得更“有趣”一些。总之还是谢谢大家提供的信息!

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具