ffmpeg读取视频文件的文件头是怎么一回事?请能具体说一下:报错-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

ffmpeg读取视频文件的文件头是怎么一回事?请能具体说一下:报错

2020-06-08 11:05:46 644 1

前几天发的这个帖子:http://www.oschina.net/question/1770418_2191340不了解可以先看这里

一个客户,说要给视频文件加上一个只能自己识别的标记,目的就是想让视频只能自家的播放器播放,像暴风啊,迅雷的不能看。像是把视频加密这样子吧,背景就这样了。

有好几同行的都说不用逐帧加密,不用修改视频的原数据,加个自定义的文件头就行,我一追问怎么加,都不吭声了。请问一下,有没有真正了解或都做过的朋友,能够指导一下,或者帮我写个Demo,有偿100。

我不需要加减乘除,加个1,减个1就行,我想知道在哪里加,用那个函数,如果就是说“加密的时候加XX”,”解密的时候减XX“,这道理我懂,但我不会操作。。谁来写个示例啊?

像这位朋友这样说了,我很感谢他,但因为我对FFMPEG不了解,说了我也不会啊


取消 提交回答
全部回答(1)
  • kun坤
    2020-06-08 15:02:54

    没做过ffmpeg,不过说的这个做法是通用的,创建视频文件的时候在首部随便加几个字节,然后解码跳过或者读取并验证,就像文件中的magic number######

    楼主 你解决这个问题了么? 我也有需求 我出200大洋 你能否给我解决下

    ######没有解决。我把整个视频的二进制数据进行位运算,然后播放的时候进行反运算,把数据释放在内存里再读的。上面的方法说起来好简单,但根本没有人能说出来怎么做,都是在说。在二进制读取的时候的确可以读出文件头,但不能对其进行修改。######

    插一句,这种位运算的方式我不是很赞成,因为会变动视频原本文件的内容,容易出问题,其实大家说的文件头增加一点东西的方式应该是比较好理解的,既然你的视频文件是属于你自己的,那么在编码之后封装成文件的时候,自定义一个文件头,例如,wav格式的文件,其文件头如下:

    标志符(RIFF)

    余下所有数据的长度

    格式类型("WAVE")

    "fmt"

    PCMWAVEFORMAT的长度

    PCMWAVEFORMAT

    "data"

    声音数据大小

    声音数据

    那么,你是不是可以自己增加一个呢?比如,在标志符后面新增一项,假设为companyname,这样,你在解码的时候,你自己的解码器自然能识别,并将这一项检出来,可是别人的解码器,则会将你的这一项,以为是“余下所有数据的长度”,这样自然就出现解码失败了;

    这样做不会改变原始文件,只是对它的封装格式做了变动,应该比较简单且安全吧!

    没做过ffmpeg,不过说的这个做法是通用的,创建视频文件的时候在首部随便加几个字节,然后解码跳过或者读取并验证,就像文件中的magic number######

    楼主 你解决这个问题了么? 我也有需求 我出200大洋 你能否给我解决下

    ######没有解决。我把整个视频的二进制数据进行位运算,然后播放的时候进行反运算,把数据释放在内存里再读的。上面的方法说起来好简单,但根本没有人能说出来怎么做,都是在说。在二进制读取的时候的确可以读出文件头,但不能对其进行修改。######

    插一句,这种位运算的方式我不是很赞成,因为会变动视频原本文件的内容,容易出问题,其实大家说的文件头增加一点东西的方式应该是比较好理解的,既然你的视频文件是属于你自己的,那么在编码之后封装成文件的时候,自定义一个文件头,例如,wav格式的文件,其文件头如下:

    标志符(RIFF)

    余下所有数据的长度

    格式类型("WAVE")

    "fmt"

    PCMWAVEFORMAT的长度

    PCMWAVEFORMAT

    "data"

    声音数据大小

    声音数据

    那么,你是不是可以自己增加一个呢?比如,在标志符后面新增一项,假设为companyname,这样,你在解码的时候,你自己的解码器自然能识别,并将这一项检出来,可是别人的解码器,则会将你的这一项,以为是“余下所有数据的长度”,这样自然就出现解码失败了;

    这样做不会改变原始文件,只是对它的封装格式做了变动,应该比较简单且安全吧!

    0 0
相关问答

5

回答

视频剪辑(云剪辑) 这个具体是怎么收费的

2022-04-09 15:56:23 10758浏览量 回答数 5

0

回答

视频点播 读写权限:公共读 使用 "format": "m3u8" 就出现4016 不能播放

2021-11-12 14:52:47 188浏览量 回答数 0

1

回答

ECharts地图扩展--svg扩展,怎么引入文件??报错

2020-06-14 21:40:19 446浏览量 回答数 1

1

回答

ffmpeg能把两个视频直播流合并成一个流并且类似画中画的方式播放吗??报错

2020-06-08 11:40:03 1046浏览量 回答数 1

1

回答

ECharts地图扩展--svg扩展,怎么引入文件?:报错

2020-06-06 11:57:20 285浏览量 回答数 1

2

回答

webview内嵌h5中,引用支付宝js的一点建议

2019-08-29 10:36:04 2244浏览量 回答数 2

2

回答

www.593fl.com 网站为什么打不开呢

2019-03-18 09:28:08 386浏览量 回答数 2

1

回答

www.xyhsy.com.cn 公司网站备案了 怎么回事打不开

2018-10-24 14:08:02 600浏览量 回答数 1

1

回答

www.color.com网站打不开了

2018-09-18 09:09:53 622浏览量 回答数 1

2

回答

求助,如何用ECS的LNMP环境安装MIBEW,.yml的文件可以在该环境中安装么

2016-04-05 21:56:51 4118浏览量 回答数 2
+关注
0
文章
13397
问答
问答排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载