抖音开放平台-视频切片-视频分片上传-不合法的参数ID-不合法的对象ID

article/2025/9/21 15:29:15

问题描述

1、最近遇到个问题,做业务需要管理几个抖音账号,用抖音开放平台做分片上传视频,多次返回不合法参数id,提交工单之后给的回复没有任何参考价值。
2、例如视频文件按15M进行切片,调用分片上传初始化接口,获取一个upload-id,执行上传;我只上传第一个视频观察返回信息。第一次第一个切片执行上传,返回不合法参数id,继续执行第二个切片的上传,还是不合法参数id,之后的切片就不用考虑了;第二次执行切片上传,重新获取upload-id,上传第一切片,发现居然上传成功了,紧接着尝试上传其他切片,都能成功;第三次执行上传,重新获取upload-id,上传第一个切片,发现又成了不合法参数id,后续的其他切片都上传失败。

工单信息

工单状态

已解决
工单说明
同样的上传参数,39M的视频分片上传,15M+24M切分,第一次上传失败,20210810XXXXXXXXXXXXXXX4927233640,不合法的对象id,但是我再操作一次就能上传成功了,2021081XXXXXXXXXXXXXXX452192B2343BD;紧接着进行第三次上传,又出现了问题202108XXXXXXXXXXXX12059196332065FA;请问相同的文件,为什么能有成功的情况?不合法的对象id到底指的是什么?

2021年08月10日 21:32

工单回复:

您好,单片建议大小在20M以内,太大会导致传输不稳定
在这里插入图片描述

这工单的回复完全没有什么参考意义,等这个工单的处理就3天时间,期间一直不断尝试,一直也没有解决,失败的频率很高

问题解决

1

1、尝试用10M大小的文件切片,偶然间右击查看文件属性,大小10M,占用空间12M,怀疑切片有问题。1024X1024X10,按这个大小进行文件切片,切出来的文件占用空间12M,采用其他的方法进行切片,1000X1000X10,这个大小进行分片。

2

2、nio的文件分片操作

			fin = new FileInputStream(localFilePath + filename);fcin = fin.getChannel();long size = fcin.size();//nio的文件大小最好不要使用file.length()//size是文件的大小,计算得到要切分为几片,为保证最后一片要大于5M的要求,将剩余的大小加到最后一片上去long partNum = size / partFileSize;long remain = size % partFileSize;long splitSize = partFileSize;long finallySize = partFileSize + remain;

使用 buffer.flip();记性切片。最后一片带着remain

            //ByteBuffer buffer = ByteBuffer.allocate((int) partFileSize); //15M一片//int count = 1;//while (count <= partNum) {//    buffer.clear();//    if (count == partNum) {//        buffer = ByteBuffer.allocate((int) finallySize);//    }//    int flag = fcin.read(buffer);//    if (flag == -1) {//        break;//    }//    buffer.flip();//    fout = new FileOutputStream(localFilePath + count + filename);//    fcout = fout.getChannel();//    fcout.write(buffer);//    log.info("文件分片生成 共{}个 第{}个 文件名{}", partNum, count, localFilePath + count + filename);//    count++;//}

后来我觉得 buffer.filp可能有问题,导致我分片的上传成功率非常低,换用transferTo
从开始位置开始切片,每次切splitSize的大小,最后一片切splitSize+remain

			long startPoint = 0;for (int i = 1; i <= partNum; i++) {fout = new FileOutputStream(localFilePath + i + filename);fcout = fout.getChannel();if (i == partNum) {splitSize = finallySize;}fcin.transferTo(startPoint, splitSize, fcout);startPoint += splitSize;fcout.close();fout.close();}

3

3、还有一个注意的点,就是文件的上传,开放平台写的是直接上传一个video的数组,其实不是数组,就是一个完整的文件outputStream.toByteArray。
先读到inputStream中,再到outputStream.toByteArray,输入输出使用不同的流,不然io就会觉得不安全,可能会给报错

                log.info("开始上传第{}个文件 路径{}", i, localFilePath + i + filename);inputStream = new FileInputStream(new File(localFilePath + i + filename));//与根据File类对象的所代表的实际文件建立链接创建fileInputStream对象outStream = new ByteArrayOutputStream();byte[] buffer = new byte[1024];int len = 0;while ((len = inputStream.read(buffer)) != -1) {outStream.write(buffer, 0, len);}String uploadRst = douYinHttpService.douYinFilePost(uploadUrl + i, i + filename, outStream.toByteArray());

请求头

HttpHeaders headers = new HttpHeaders();headers.setContentType(MediaType.valueOf(MediaType.MULTIPART_FORM_DATA_VALUE));ContentDisposition co = ContentDisposition.builder("form-data").name(VIDEO).filename(filename).build();headers.setContentDisposition(co);HttpHeaders videoHeader = new HttpHeaders();videoHeader.setContentDispositionFormData(VIDEO, filename);ByteArrayResource bar = new ByteArrayResource(bytes);HttpEntity<ByteArrayResource> videoPart = new HttpEntity<>(bar, videoHeader);MultiValueMap<String, Object> body = new LinkedMultiValueMap<>();body.add(VIDEO, videoPart);HttpEntity<MultiValueMap<String, String>> requestEntity = new HttpEntity(body, headers);log.info("douYinFilePost 抖音File POST请求 url {}  参数 {}", url, videoPart);String content = null;try {content = restTemplate.postForObject(new URI(url), requestEntity, String.class);

根据postman发送请求就能追到请求头是什么。

其他问题

文件的分片上传其实是上传的一个视频文件,比如用手机录制两个视频,5M以上(分片的要求文件要在5M以上),第一次 part-num是1,将视频上传了,第二次part-num是2上传第二个视频文件,最后complete完成上传,这种情况他其实只识别到第一个视频文件,账号发布视频以后发现视频的长度还是第一个的长度。

为什么会造成这种情况呢,因为第一片的上传完成后有视频的长度信息和结束标记位,后面的不管你上传再多的分片,他还是只能识别到第一个,以后的就不管了。

使用文件切割后,观察生成的分片之后的文件就会发现,其实第一个分片,windows在预览的时候能看出来是个视频文件,打开播放的时候能播放,到一个时间点以后就不能播放了,视频的长度也是总视频长度;而其他分片的视频文件,发现根本不能预览,双击打开之后也提示文件损坏。
如图:第一个是切片之前,紧挨着的是切之后第一个能预览能播放。其他啥也不行。
在这里插入图片描述

最终效果

换用1000100010这种切片方案,加nio的channel的transferTo方法,使用几个视频做切片测试,测试6个文件,其中5个能一次性就分片上传成功。最后一个分片之后多次上传都不成功。换1000100015这样进行切片,每片15M,一次上传成功。

遗留问题

后续引入重试机制,将发布不成功的视频按其他的分片大小进行切分,再次上传,写个次数限制,重试5次,多了实在还不行,上传失败的就给用户提示吧,我也没招了。

联系

尝试了4天,最终按这种方案解决了上传失败率太高的问题,基本能达到上传一个成功一个,不过也不能避免上传失败的情况,大神有什么指教可以公众号联系我。
后续想把网站完善下,弄上回复框,算是定一个小目标

个人网站
http://www.51pro.top
网站
公众号 含联系方式
公众号

20210929后续来了

问题: 交付给业务使用后频繁出现分片上传不合法的对象id

1、0927考虑业务给发的视频都是高清的视频,一秒10M,码率高,思路一寻找视频是不是不标准的?
2、0928出现自己的视频也传不上去了,和高清没什么关系,非高清的视频只要切片都是不合法的对象id
3、0928出现一次上传成功,0929出现一次上传成功。其他出现不合法的对象ID,怀疑抖音接口有问题,毕竟自己的代码能上传成功。
4、0928、0929提交工单给提示uploadid需要自己encode一次。毕竟有上传成功的,怀疑抖音平台问题。

尝试解决

1、

0927追视频问题,vlc播放器加mediaInfo软件看视频区别,达到了29M每秒。普通的视频几十KB每秒
在这里插入图片描述
0927追一天没发现视频有什么问题。晚上发非高清的视频,发现切片也会失败

2、

0928所有视频只要出现分片上传都会失败,一整天上传尝试一百次其中一次出现成功,妈的这失败高达99%,
但是其中还有一次成功的啊,不怀疑自己的代码有问题。0929上午出现一次成功,更不怀疑自己代码有问题了。

3、

0929工单信息
在这里插入图片描述

2021年09月27日 11:24
不合法的对象id 到底是什么id ???按10M大小进行切片 分片上传返回不合法的对象id uploadID 到底要不要自己encode? 能不能电话联系一下 XXXXXXXXXXXXXXXXXX
已关闭
查看
2021年09月27日 19:55
「工单回复」:
您好,uploadID encode一次即可
2021年09月28日 17:13
回复给「工单」:
logid 20210928170850010212070082390889A4 已经encode一次了 ,还是不行 为什么有的视频可以,高清的视频不可以呢 视频地址还是原来那个
图片链接:XXXXXXXXXX
2021年09月28日 17:22
回复给「工单」:
自己encode以后 能成功上传的视频都不能上传了 不加还能有成功的
2021年09月28日 17:23
回复给「工单」:
高清的视频 分片都不成功 不清晰的那种 分片都可以上传成功; 只要加上encode 全失败
2021年09月28日 17:23
回复给「工单」:
能不能技术人给打个电话
2021年09月28日 17:53
「工单回复」:
对于日志20210928170850010212070082390889A4,我们检查后发现,传入的upload_id被encode了两次,实际上只需encode一次即可
2021年09月28日 17:54
「工单回复」:
不主动encode 可以成功,就不要encode了,你使用的工具内部可能会自动帮你encode
2021年09月28日 17:54
「工单回复」:
高清视频上传不成功,请提供相应的logid
2021年09月28日 18:11
回复给「工单」:
20210928170850010212070082390889A4
2021年09月28日 18:14
「工单回复」:
你好20210928170850010212070082390889A4 这个是之前itemid encode两次导致出错的日志
2021年09月28日 18:27
回复给「工单」:
202109281824330101980671340F00654D
2021年09月28日 18:28
回复给「工单」:
这个logid呢 其实是直接拿的uploadid的返回值 看看这个是怎么回事
2021年09月28日 18:31
回复给「工单」:
logid:202109281824330101980671340F00654D logid:20210928182358010198066232370058B1 20210928182324010212026091290049B2 看看这三个的分片上传都失败了 是为什么
图片链接:XXXXXXXXXXXXXXXXXXXXX
2021年09月28日 18:35
回复给「工单」:
高清视频上传不成功logid : 2021092818323801020204808429013C35 202109281833200102040482303D0105B7 2021092818340301021216203212013FDE 202109281834460102121860185201BE88
2021年09月28日 18:51
「工单回复」:
你好,辛苦再提供下上传视频部分的代码,以及upload_id
2021年09月28日 19:07
回复给「工单」:
视频地址 https://test-pinpaiyunyingbop-lingxi.oss-cn-beijing.aliyuncs.com//spreaduatfile/images/20210928/15757420c3e9e6ae8350ce2a863796a6/56ed5d87-c606-eb10-6a0e-38ebe04a6789.mp4
2021年09月28日 19:07
回复给「工单」:
upload_id=@9VwC1+GVDss1K23yZdEvTM6v0zC8Nf2FPMAn/A3yKFQROPf10iLiLFIhgQby5DoKZq6NSUBH1aHz+2F7oSfViQ==
2021年09月28日 19:07
回复给「工单」:
“logid”:“202109281903490102120381024503F418”
2021年09月28日 19:08
回复给「工单」:
代码截图,代码是可以上传视频的 只是能偶然一次上传成功,99的概率上传失败
图片链接:XXXXXXXXXXX
2021年09月28日 19:09
回复给「工单」:
高清视频地址 https://test-pinpaiyunyingbop-lingxi.oss-cn-beijing.aliyuncs.com//spreaduatfile/images/20210928/9c364275ba85fa114633fdac022a7a07/f7ae3ce9-e446-57f3-2252-30a93c9be292.mp4
2021年09月28日 19:11
回复给「工单」:
高清视频的upload_id=@9VwC1+GVDss1K23yZdEvTM6o0TPsPfnQO5NxoAvwJ1QROPn91Hi3LAwhgQby5DoKH3Rt+cf0jIRPLoxgvuchKA==&part_number=1 “logid”:“2021092819101101021205920833049DCC”
2021年09月28日 19:14
回复给「工单」:
代码并不是说全部都不能上传成功 ,中间出现少次可以成功的,不过是99概率的失败
图片链接:XXXXXXXXXXXXXX
2021年09月28日 21:05
「工单回复」:
可以再提供下upload_id 部分的代码吗?包括给upload_id 做encode的操作的代码
2021年09月29日 08:01
回复给「工单」:
/video/part/init/ 直接用的这个接口的返回值data里面的upload_id
2021年09月29日 08:22
回复给「工单」:
这个uploadid是可以用的 如果encode之后就会变成两次encode,之前一直用的没问题,自从9.26以后,每次上传都失败,都是不合法的对象id,26-29号之间只有一次分片上传成功,9点半左右贴uppload_id的代码
2021年09月29日 09:39
回复给「工单」:
这个代码用了一个月了,一直是没有问题的,27号左右出现分片上传都失败,昨天就成功一次
图片链接:XXXXXXXXXXXX
2021年09月29日 09:40
回复给「工单」:
接口返回的uoloadid,直接使用,可以上传
2021年09月29日 09:53
回复给「工单」:
前天 昨天的所有分片上传 成功过一次 其他全部失败 都是这个不合法的对象id
2021年09月29日 10:25
回复给「工单」:
追问一句 开放平台在一周以内有更新吗 8月份到9月中旬都是能正常使用的,也申请了生产环境的应用,最近这三天突然发现分片上传出问题
2021年09月29日 15:44
「工单回复」:
最近几次的请求的upload_id中存在 出现问题,建议使用原生的方法,自己主动encode upload_id,再次尝试请求
2021年09月29日 17:13
回复给「工单」:
获取upload_id的返回值 就是分片上传使用的id,在一周之前是没有出现这个不合法对象id的问题,最近3天出现的这个问题。在没有encode的情况下,今天还成功过一次; urlencoder.encode(upload_id)之后,从来没有成功过。而且工单中回复的说encode了两遍;为什么不encode能成功过1次,而encode之后却完全没有成功过,工单还回复加了两次?
2021年09月29日 22:18
回复给「工单」:
解决了 restTemplete的post方法源码中有对url进行转码的操作,操作了最后两位的等号 关闭工单吧

0929问题解决

1、工单一直提示是uploadid有问题,需要encode一次,尝试使用postman发送,一个月之前使用postman分片上传的时候,uploadid不需要encode就能上传成功,这次尝试高概率返回不合法的对象id,使用工具encode之后发现 居然上传成功了。
这个现象是完全超过认知,为什么以前不需要做的,都能上传成功,现在的都不行了?反而加密后竟然可以了。

2、继续代码中encode,尝试多次后,postman发动的encode uploadid之后的上传都能成功,可是代码中出现的encode之后的全部失败。
为什么
3、怀疑代码发送后出现其他操作给我转码了。查询发送请求的代码。跟请求,打断点。
发请求使用的是restTemplete,追进去看看
这里调用的是post直接传的url,而正好,抖音开放平台中的uploadid是url中的参数,往里追
在这里插入图片描述
最后发现这里对url进行了转码操作
在这里插入图片描述
url中含有uploadid 最后的两个等号转换了%3D,其他的东西没有转换,这导致我的参数就发生了变化。
4、我怎么去掉转码这一步操作呢?

        //UriComponentsBuilder builder = UriComponentsBuilder.fromHttpUrl(url);//String content = restTemplate.postForObject(builder.build(false).toUri(), requestEntity, String.class);

第一种思路,这样尝试几次还是不行。
5、妈的 不用restTemplate了,自己写httpClient

bytes是read的子节流的数组//public String originPost(String url, String filePath, String filename, byte[] bytes) throws Exception {//    String result = "";//    CloseableHttpClient httpClient = HttpClients.createDefault();//    CloseableHttpResponse response = null;//    try {//        HttpPost post = new HttpPost(url);//        //设置请求体//        //List<NameValuePair> content = new ArrayList<NameValuePair>();//        //content.add(new BasicNameValuePair("video", bytes.toString()));//        //UrlEncodedFormEntity e = new UrlEncodedFormEntity(content, "UTF-8");//        //post.setEntity(e);//       我这里尝试了好几种设置请求头的方案,用了好几个entry,追了几个Entity的实现类,尝试好几次后均失败---------------------------------//        MultipartEntityBuilder entityBuilder = MultipartEntityBuilder.create();//        entityBuilder.addPart("video", new FileBody(new File("XXXXXXXXXXXXXXXXXXXXXXXXXXXX")));//        entityBuilder.setCharset(Charset.forName("UTF-8")).addBinaryBody("video", new FileInputStream(filePath), ContentType.MULTIPART_FORM_DATA, filename);////        post.setEntity(entityBuilder.build());//        //设置请求头//        post.addHeader("Content-Type", MediaType.MULTIPART_FORM_DATA_VALUE);//        post.addHeader("Content-Disposition", "name=\"video\"; filename=" + filename);////        //发送请求//        response = httpClient.execute(post);//        if (response != null && response.getStatusLine().getStatusCode() == 200) {//            org.apache.http.HttpEntity entity = response.getEntity();//            result = EntityUtils.toString(entity);//        }//    } catch (Exception e) {//        log.info("originPost", e.getMessage());//    }

这几个写法一直返回的是系统正忙,请稍后再试,总觉得是自己的请求不对,请求头的参数没设置好。

心情实在是糟糕透了,很长时间没有弄好这个请求头,废了很长时间,都没整好,tcp http没学好,回去再自学去吧,不会写了。放弃。
如果有谁能把这个方法补充上也能发送成功。
后续哪位高手看见补上给留言,感激不尽
在这里插入图片描述

最终方案

还是使用restTemplate,尝试一下这个方案,找post的重载的方法,看看有没有不转码的方法。看到一个这个,传URI,不会转码

            content = restTemplate.postForObject(new URI(url), requestEntity, String.class);

皆大欢喜!!! 成功
后续创建视频也是使用这个encode之后的uploadid,还是用URI,不让他转码,自己手动转。

优化

增加失败重试机制,多试几次,单次切片保持一个大小,多次切片的大小不同,第一次每片10M,第二次每片12M,依次涨点,最后还要保证最后一片的大小大于5M。
最后再来一次托底的操作,最后一次尝试如果小于100M,使用一次单片上传。大于100M最后一次尝试切片。

    private static final Map<Integer, Long> redoCountPartSizeMap = new HashMap<>();static {redoCountPartSizeMap.put(1, 1000 * 1000 * 10L);redoCountPartSizeMap.put(2, 1000 * 1000 * 12L);redoCountPartSizeMap.put(3, 1000 * 1000 * 13L);redoCountPartSizeMap.put(4, 1000 * 1000 * 14L);redoCountPartSizeMap.put(5, 1000 * 1000 * 15L);redoCountPartSizeMap.put(6, 1000 * 1000 * 18L);}

总结

网络的文件下载到本地
本地文件切片
获取uploadid
encode操作
分片上传,注意不能让http给转码
完成上传
创建视频。

2021-11-20
后续又来了
几天前发现有几个视频一直在请求审核状态,发现抖音平台视频状态细化了,从11.15以后状态码和之前的对不起来了,导致一直在请求审核状态。
看开放平台video_status i32 表示视频状态。1:细化为5、6、7三种状态;2:不适宜公开;4:审核中;5:公开视频;6:好友可见;7:私密视频

怎么看都怀疑是之前提交的一个工单 审核结束但返回状态是审核中的问题
再改改代码走起

内存溢出了!!!!

2022-02-10
java.lang.OutOfMemoryError: Java heap space
问题代码和报错不贴了,涉密。。。。。

问题现象

过完年刚回来,公司业务推广,不知道哪个楼盘活动推广加城市宣传片,点击发送以后,后台收到短信报异常,紧接着SLB异常报警,APM监控报警!!!!!!!!!
事态紧急,手机上收到各种报警,4台服务器有2台AMP监控超时,网关下掉服务器通知,幸亏是晚上10点多没多少人用,抓紧devops流水线重启,网关重新上线。

故障复盘

业务上传视频文件发送到多个抖音账号,抖音开放平台限制单个文件大小4G,业务人员不知道从哪里弄了一个3.5G大小的视频文件,正好他手底下有10个账号权限,点了全选,一下发到了10个账号上去,后面4台服务器收到队列消息,直接就开始下载文件处理,其中两台正好文件下载了3遍,在做文件切割的时候出现内存溢出。

业务没有强制需求做账号多选,产品出了多选发布的功能,我后台开发没对账号上锁做单步,三方都有问题,一起把问题背了下来。

代码修改

1、首先考虑到是OOM异常,日志里的异常信息打到了lamdba表达式里面,没有具体的行数。既然是内存小,先考虑heap溢出用Xmx扩大一下,发现原来设置过这个参数,不让我们自己调整,换G1垃圾回收器,-XX:+UseG1GC。
大对象直接在堆里面了,那我不区分新生代和老年代不行吗,G1里面新生代和老年代他自己转,用G1总比用PS+PO强一点吧。
2、正好业务选了10个账号,要是再来两个,后台4个服务器都得被干死。这么大的文件,多来几个谁也受不了,加分布式锁。
消息来之后先加锁。获取不到锁的去延时队列,延迟个1min再消费;redis先锁视频文件id,再锁账号id,虽然大视频发的慢点,保证服务器死不了就行。
3、拆开lamdba,防止自己生成那么多的class不好追踪。增加各种日志打印。第二天紧急发版。

后记

幸亏是年后出现的问题,要是年前,不堪设想啊。。。
产品、业务、开发、测试 这些人关系够铁,有问题大家一起扛,欣慰。
以后要特别注意这种大文件的处理,还同时处理多个,想想都后怕,万一所有服务器都干趴了,就不是这个结果了。


http://chatgpt.dhexx.cn/article/fcW5DdI4.shtml

相关文章

抖音上css照片动态旋转怎么做,抖音里单张图片平移视频怎么制作?影音制作实现一张图片从左到右滑动视频效果...

今天的影音制作&#xff0c;是实现视频画面中有一张图片从左往右慢慢滑动的视频效果。一张横屏图片要制作成竖视频的时候&#xff0c;要么就会出现图片显示不全的情况&#xff0c;要么显示全了就会出现上下有黑边的情况&#xff0c;基本很难解决这个问题~但是小编今天通过这款常…

仿抖音上下滑动分页视频

如果要是不想看这么代码的话&#xff0c;我整理了一下项目&#xff0c;下载到本地直接进行运行也可以&#xff1b; 代码下载地址 目录介绍 01.先来看一下需求02.有几种实现方式 2.1 使用ViewPager2.2 使用RecyclerView03.用ViewPager实现 3.1 自定义ViewPager3.2 ViewPager和…

java抖音字符视频_抖音流行的字符视频如何实现

前几天&#xff0c;有个朋友给我分享了一个抖音短视频链接&#xff0c;是以代古拉k跳舞视频为原型的字符视频&#xff0c;朋友问我&#xff1a;“这个你知道怎么做吗&#xff1f;”。 我们都知道视频是由一帧一帧的静态图片组合而成的&#xff0c;所以当我们把原视频的每一帧变…

抖音上传视频显示转成mp4怎么设置_详细的mp4转换成mp3格式的方法,不看后悔系列!...

详细的mp4转换成mp3格式的方法&#xff0c;不看后悔系列&#xff01; 安利安利安利安利 话说&#xff0c;视频格式转换你们会&#xff0c;音频格式转换你们也会&#xff0c;你们就没有不会的吗&#xff1f; 对了&#xff0c;视频转音频你们会吗&#xff1f;知道怎么将MP4转成MP…

抖音短视频 产品需求文档

抖音短视频 产品需求文档 一、 文档综述1.1 文档属性1.2 产品简介1.3 产品用户1.4 需求总结 二、 产品结构2.1 产品功能结构图2.2 产品信息架构图 三、 全局说明3.1 登录页面3.2 网络环境3.3 键盘输入3.4 评论框3.5 分享框 四、 产品流程图4.1 前端流程4.1.1 登录注册流程4.1.2…

html视频怎么转换成图片,WPS演示如何将图片转换成视频?

将图片转换成视频你是这么做的呢&#xff1f;WPS演示如何将图片转换成视频&#xff1f;现在的人们对于会动的事物都充满着好奇&#xff0c;就连好看的图片也需要转换成视频了。利用WPS演示&#xff0c;将图片转化成视频。本质上就是制作一个PPT文档&#xff0c;然后将文档保存在…

用Python全自动下载抖音视频!

为什么写这篇文章&#xff0c;主要也是因为看了网易云课堂的一篇软广。 「用Python在抖音扒了这些高颜值女神后&#xff0c;突然成了人生赢家」&#xff0c;文中简述了一名工程师利用PythonADB鹅厂的AI&#xff0c;一晚上关注了一千多个漂亮小姐姐。 充分体现了厂子里的大学生和…

Javacv 音视频小工具 - 下载抖音视频

一、前言 大家好&#xff0c;俗话说的好&#xff0c;学习新的知识后要学以致用&#xff0c;在学习音视频的过程中&#xff0c;你有没有疑问&#xff0c;不知道音视频可以用来做什么。下面举几个例子&#xff0c;比较耳熟能详&#xff0c;被吹到风口的一些场景有&#xff1a;AI…

java抖音字符视频_代码生成抖音文字视频

天天刷抖音,发现一些 好玩的 快闪文字视频, 自己尝试着做了几个,用了很多 的 工具做了一下,发下需要收费, 于是,用Python整了个 工具来合成 文字视频,效果如下:PFinal社区,快闪文字视频https://www.zhihu.com/video/1127196631308853248 目录结构如下: 工作流程如下: data.txt …

抖音上传视频显示转成mp4怎么设置_如何剪辑抖音短视频?视频剪辑软件推荐及操作流程(一)...

随着抖音的爆火,大家都想在这个风口分一杯羹,但是呢,很多人都跟小编一样,既不喜欢露脸也没有能秀的才艺,所以才一直迟迟没有行动。 不过我在刷抖音的时候,也发现同样没有露脸没有才艺的人能上热门爆红,因为他们在视频拍摄和剪辑上很出色。 私下也有很多同学发来一段视频…

【Python 字符视频】Python 实现将抖音视频转换成字符视频

以前就在抖音上看到过字符视频&#xff0c;直到昨天才突然想自己动手做一个&#xff0c;然后就利用各种博客&#xff0c;自己总结 兼 借鉴&#xff0c;终于完成了字符视频的制作 一、思路&#xff1a; 众所周知&#xff0c;视频是一帧一帧的图片组成的&#xff0c;所以我想的就…

抖音个人主页背景放视频?详解来了

大家都知道抖音个人主页可以设置图片的&#xff0c;那么如何设置成视频形式的呢&#xff1f;一起来看下吧 抖音背景视频设置门槛 抖音品牌号才能设置&#xff0c;普通抖音账户无法设置。 品牌号 品牌号必须是抖音年框客户或是一年品牌消耗100万以上&#xff0c;抖音才会赠送…

html怎么做成锁屏壁纸,抖音怎么把视频做成壁纸 抖音短视频怎么弄成锁屏壁纸-站长资讯中心...

抖音怎么把视频做成壁纸&#xff1f;最近&#xff0c;很多小伙伴都喜欢将抖音的短视频设置成动态壁纸&#xff0c;不过还有些小伙伴们不知道要怎么设置&#xff0c;那么快随小编一起来看看下面的教程吧1 抖音怎么把视频做成壁纸&#xff1f; 1、打开软件后随便刷视频&#xff0…

怎么把抖音的视频转成gif格式?视频转gif的具体方法

当我们遇到有趣的视频想做成表情包时&#xff0c;都会在想这些图片是怎么制作的呢?相信有很多小伙伴都有同样的疑问&#xff0c;有哪些视频转gif工具可以把视频改成gif图片呢?GIF中文网的在线视频转gif功能用起来既简单又方便&#xff0c;支持手机、电脑两种操作模式&#xf…

怎么让抖音视频当做铃声android,把抖音短视频做成手机铃声,原来这么简单!...

原标题&#xff1a;把抖音短视频做成手机铃声&#xff0c;原来这么简单&#xff01; “一日不抖&#xff0c;如隔三秋” 相信十个人里面 有九个都中了抖音的毒 刷起来完全控制不住自己 最近大火的抖音短视频炒火了不少民谣音乐人及一些翻唱歌曲的素人&#xff0c;不知道大家有没…

如何把照片做成视频?抖音爆款的图片视频切换教程,快速上手!

现在都流行用照片随手记录生活。而把照片做成视频&#xff0c;又是现在刷爆抖音、朋友圈的形式。不仅有酷炫的图片切换效果&#xff0c;还带有动听的背景音乐&#xff0c;这样精美又吸睛的照片视频&#xff0c;肯定能让你获得超多赞。今天就教大家用数码大师快速把照片做成视频…

抖音怎么把照片做成视频?超火的照片切换教程,3分钟就能搞定

抖音怎么把照片做成视频?怎么上传照片视频到抖音?抖音上很吸赞的照片切换效果怎么做? 今天教大家3分钟做出一个抖音上比较热门的照片视频,用到的工具是数码大师。 第一步:把照片一次性添加进来 打开数码大师后,选择“视频相册”,点击“添加相片”导入照片。点击“修改…

Adobe Flash cs4 下载安装

Adobe Flash cs4 下载安装 Adobe Flash cs4 下载Adobe Flash cs4 安装Flash Cs4安装之后打不开&#xff08;启动界面一闪而过&#xff09; Adobe Flash cs4 下载 Adobe Flash cs4 下载地址(百度网盘): https://pan.baidu.com/s/1KXTvIlQoa4cDGG16FdP-Vg Adobe Flash cs4 下载…

pdf数据查找网站

PDF Drive - Search and download PDF files for free.https://www.pdfdrive.com/ Library Genesis Proxy Mirror Links: Libgen Io, Libgen rs, Libgen nl, Libgen ishttps://libgen.onl/library-genesis/ Zlibrary、sci-hub、文献、书籍 | 药研导航 (drugx.cn)https://drug…

网站收录查询,常用的2种网站收录查询方法

在网站优化过程中&#xff0c;SEO人员通常都会非常关心网站的收录、索引情况&#xff0c;因为网站建立索引之后&#xff0c;才具有排名的条件。如何查询网站收录情况&#xff1f;今天我们聊聊常用的2种网站收录查询方法。第一种方法&#xff1a;通过site指令在搜索框查询 众多S…