大家好,今天小编来为大家解答tiktok镜像版这个问题,TikTok为什么会0播放怎么解决很多人还不知道,现在让我们一起来看看吧!

TikTok为什么会0播放怎么解决

这是每一位新人任一道必过的坎

很多刚入门的小伙伴都会遇到一个普遍的问题,就是零播放,就像下面这张图一样,唯一一个播放还是自己用另一个号进去点的,很难受。

那么我来帮大家分析一下视频零播放的原因,并给出一定的解决方法。

导致0播放的原因主要有以下五个方面:

1、硬件环境问题

2、软件环境问题

3、视频内容问题

4、视频查重问题

5、审核延迟问题

下面按照顺序给大家一一讲解

01

硬件环境问题

硬件简单来讲,就是手机问题。

我们首先检查手机有没有拔出SIM卡,然后检查手机有没有残留运营商信息,因为TikTok就是读取运营商信息来限制国内用户的,如果不知道怎么看直接刷机最稳妥。没有什么事是刷机解决不了的,譬如foryou 黑屏 刷机就能解决。

同时随着TikTok软件的更新,有些手机的型号也会受到影响,例如iPhone6这一型号手机的有很多人被限流,有40%都遇到了无法破0的问题,这时便应该及时更换手机。

02

软件环境问题

软件环境问题主要涉及到的参数有以下几个:

IP地址

DNS

系统语言

系统时间

iPhone手机的广告追踪

IP地址定位在海外是使用TikTok的基础条件,否则将无法正常使用TikTok,那么具体怎么查看IP定位到了那个国家或者地区,主要看自己的V买的目标在哪,例如你是想做洛杉矶,那么就要把IP定位在洛杉矶。

特别需要注意的是,定位好一个IP后不要随机更换位置,否则被系统检测到账户一直跳来跳去就会被打上标签,账号一旦被打上标签,就算后期环境运营的再好,也是无法破0的。

这里就要强调下公共IP和动态IP了。

有的小伙伴为了方便买了现成的公共IP有很多线路那种。

那种就是很多人在用,也不包括里面有人在TikTok,如果有一个违规这个IP里所有人都会受牵连。

还有动态IP就是你每次登录的IP都不同,一般偶尔一下没事经常换官方就会检测到。

什么是动态IP这里的朋友可以打开 whoer.net 查看

你可以先查看我的IP:这里的这一串IP记录起来,然后关掉小火箭,然后半小时后在打开小火箭,在打开whoer看下IP有没有变化来判断是不是动态IP

与此同时DNS和系统语言也要与IP地址国家地区保持一致,例如做洛杉矶地区的账号,那么系统语言就应该改成英语,如果是做日本区的,语言大家懂得改成什么。

还有就是系统时间的要求上做到与国家一致,根据IP定位的城市来选,最好手动设置,因为有些国家不同城市的时区都有所不同,例如:美国就是横跨了,西五区至西十区。

上述条件是否满足可以用whoer.net这个网站来进行检测。

下面这一条是针对IOS用户无法用网站检测的,很多小伙伴会漏掉,如果是苹果手机的用户,那么一定要在 通用→隐私→广告中,IOS14以下的版本需要把 限制广告追踪打开 ,IOS14以上的版本,则需要把 个性化广告 关闭。

当然,除了这几个指标外,还存在节点污染问题,有些IP节点被人使用太多,仍然会被检测异常导致0播放,那么此时就应该重启一个IP来进行起号。

03

视频内容问题

视频在发布的时候,TikTok首先会对它进行机器审核,如果视频质量太差,模糊不清,满屏幕的像素点,则会导致机器审核无法通过这个视频,必然的就会出现0播放。

有些视频模糊不清,很大原因就是你在解析视频的时候视频被压缩了,或者在传输视频的时候被压缩,从而导致画质降低,这个时候我们就需要掌握无损解析技术和无损传输视频的方法。无损解析这个就可以看看一些解析视频的工具,是不是有无压缩解析的,无损互传视频的办法就很多了,例如苹果手机可以隔空投送或者用爱思助手,或者电脑和手机数据线连接导入,安卓和安卓可以QQ面对面快传。

这里我像大家推荐一个Windows、Mac、安卓、iOS之间的无缝互传的网站。

snapdrop.net这个工具可以实现Windows、Mac、安卓、iOS之间的无缝互传,前提只有一个:设备连接的是同一个网络,并在各自的浏览器输入以上网址即可界面简单易用手机锁屏也不影响传输我还尝试过手机B连手机A的热点,也可以实现传送像我们几十兆的这种短视频,都是妙传使用几天来一直比较稳定,特此推荐给大家。

在视频内容上,有时会因为视频类目的问题导致0播放,例如视频类目过于枯燥,视频内容毫无波动,不符合TikTok短视频的逻辑,这样便会有很大概率导致TikTok完全不给视频进行推送。

04

视频查重问题

视频查重的问题也是0播放中非常常见的问题,也是大概率出现的问题。造成视频查重的主要原因有两个,一个是剪辑的手法不够深度,另一个是视频被搬运的次数过多。

这里提到的视频剪辑深度需要简单的说明一下,不是简单的加滤镜加蒙版 就好了,因为视频滤镜蒙版过多就会遇到第三点视频的质量变差,我们一般运用的剪辑手法:镜像翻转、抽帧插针、掐头去尾、加蒙版、加滤镜、变速、放大缩小、加文案、改变音乐 等等很多种。但是我们一般用3/4种的处理手法就行了。太多会导致视频观感严重下降。

同时另一个核心就是看视频是不是被搬运次数太多,如果一条视频被人搬运太多了,我们可能在剪辑上就要花更多的时间和更多的精力对其去重,而且效率会非常低,其实是得不偿失,不如重新寻找更好的素材,所以搬运,我们尽量找冷门或者新的素材视频,来进行制作。

05

审核延迟问题

在某些时间段,会因为某些原因事物对某一类的视频素材审核进行严格监控,例如前段时间美国白人Policeman和黑人小伙的事件,不断发酵之后,便导致相关视频审核时间变长,所以这个时候就需要耐心等待。

这里可以给大家一个标准,一般正常有权重的号在发布视频的5小时内都会有播放量,如果遇到审核延迟的问题,最多可以等到12小时,如果12小时依旧0播放,那么建议直接重新起号,节约宝贵的时间。

06

合拍破0法

综合上面的几点,可以看出导致0播放的原因非常的多,但是并不会有人告诉你问题出在那里,所以我们需要用到一些方法对问题进行一个一个的排除。

具体方法如下:

打开TikTok的搜索界面,找一个热门视频,这个热门视频需要具备以下几个条件:

1、蓝V认证

2、5M粉丝以上

3、真人IP

4、12小时以内发布的新视频

找到一个这样的视频之后,点分享→合拍,随便拍一些内容,发布即可。

操作完后,观察6-12小时,看是否突破0播放,如果突破,则环境没有问题,如果仍然无法破0,则需要仔细检查自己的环境。

抖音怎么直播王者荣耀

打开抖音APP,然后击页面下方的+号,之后选择直播模式,再点击开始游戏直播,会得到一个地址,点击复制地址,打开小熊录屏软件,然后点击页面下方的去开启,把刚在抖音复制的地址,粘贴到搜索栏上,就可以开始直播了。

短视频运营实时更新

链接:https://pan.baidu.com/s/1ceM1UDY9P8K13t68BdIyYA?pwd=2D72

提取码:2D72

资源包含:短视频带货好物分享实操、剪映教程完整版5980大蓝线下课陈厂长最新全套课短视频拍摄稳定器课程抖音解封话术抖音小店低成本引流500单总结快手短视频爆粉变现零基础学航拍2022开课吧透透糖:短视频带货爆单实战营修龙抖音房产零基础短视频运营策划教程张sir豆荚运营.莽哥·餐饮实体店引流课程孙晓迪职业导演核心课群响IP06期短视频编导先导课(文案公式+三个表格推导)朋友圈收费138元的抖音最新搬运技术抖音变现+抖音新项目+信息换金术,三套合集【无水印】【安心】口播入门与技巧课—从小白到高手有了表现力咋拍都能火的短视频表演课七天陪跑系统实战课【完结】从0开始学习剧本杀等

怎样在切入切出虚拟摄像头时营造卡顿效果

背景介绍:本人原先是android逆向工程师,后来因为工作变动,离开了协议分析这类的岗位,目前在做直播机与第三方应用兼容性分析相关分析,所以就有了这篇兼容性分析文章。

问题:tiktok在我们推流设备直播时,经过几个特定步骤后切换前后置摄像头会出现卡住的问题。

重现步骤:直播界面打开更多菜单->然后退到后台->回到前台->切换前后置菜单。

现象:直播画面卡住不动了。

解决思路:找到点击切换按钮后的点击事件回调,找到切换摄像头的核心逻辑,来找到卡住原因。

1、如果了解ART虚拟机的同学会知道,jni函数和java函数都会调用到art虚拟机ArtMethod的Invoke函数。

输出日志:

findtargetmethod:android.view.View.performClick

ArtMethodInvoke【22955】:;lr:0x4af78c;libart.so:android.view.View.performClick

ArtMethodInvoke【22955】:;lr:0x2e2800;libart.so:java.lang.Enum.toString

ArtMethodInvoke【22955】:;lr:0x2e2800;libart.so:X.Ggh.LIZ

ArtMethodInvoke【22955】:;lr:0x2e2800;libart.so:java.util.LinkedHashMap.<init>

ArtMethodInvoke【22955】:;lr:0x2e2800;libart.so:java.util.HashMap.putAll

ArtMethodInvoke【22955】:;lr:0x2e2800;libart.so:java.util.HashMap.put

ArtMethodInvoke【22955】:;lr:0x2e2800;libart.so:X.DED.LIZ

ArtMethodInvoke【22955】:;lr:0x2e2800;libart.so:X.D5k.onClick

通过fridahooklibart.so的ArtMethod的Invoke函数,我们找到了点击事件的回调类X.D5k.

找到这个类对应的onClick函数后,我对整个流程做个简单的研读,感觉发现了核心代码在注释直播流处理。

跟着核心代码一路往下找到LiveCore这应该就是直播的核心代码,其实现类为LiveCoreImpl,ILiveStream的实现类为LiveStream。

发现此处只是做了日志信息的合成和应用镜像之类的代码,但是又找到一个核心的类LiveStreamVideoCapture。

追踪到这里发现链路断了,又凑巧通过frida打开tiktok卡死在启动页上,那么接下来使用Xposed继续理流程。

上面的代码虽然没有追中到切换摄像头的核心逻辑,但是我们找到了两个核心逻辑的类LiveStreamVideoCapture和LiveCoreImpl,分别和直播视频流控制直播核心流程控制相关,所以Xposed继续走的时候以这两个类为重点,那么此处就开始放大招了,hook这两个类的所有函数,贴上代码。注意这里使用的classloader是application的classloader。

日志太多了,这里通过shell命令setprop做了个日志控制。

然后找到CameraVideoCapturer类的tryDeliverFrame,这里是处理相机的视频帧,感觉越来越接近真相了,继续hook这个方法,然后发现相机切换卡住以后,这个方法也停止调用了,那么没办法,继续往上找堆栈中run方法的调用调用处。

继续hook。

找到这个类。

至此,熟悉相机开发的同学应该知道,这就是SurfaceTexture.setOnFrameAvailableListener后,相机的可用帧会回调到这个函数,切换相机后卡顿,可用帧也同时不回调。

接下来hook原生相机。

调用的是android.hardware.Camera,也就是camera1相关的api,切换卡顿的时候并没有调用Camera.open函数。

首次开直播的时候调用了这两个函数,点击切换相机的时候并没有调用,在X.HCF这个类里找到switchCamera函数,那么猜测首次开相机,和切换前后相机走的并不是同一个流程,因为这个bug只有在切换相机时才会出现,所以我们就不关注首次开相机的流程。

果然,切换相机的时候走了这个流程,这是又发现了LiveStreamVideoCapture这个核心类,那么简单进去看看SwitchCaptureRunnable这个有没有被创建。

经过测试,发现这个类只会被创建一次,而run方法每次切换都会被调用,而且卡住的情况下也会被调用,那么结合上面Camera.open卡住时没有调用,可以大胆的猜测中间过程某个条件不满足被return了。根据堆栈信息继续往下找几个关键点。

发现CameraVideoCapture里也有切换相机的流程,切一步步往下走,能调用到上面我们hook过的X.HCF的switchCamera,那么我们就看看这里的switchCamera有没有调用吧。

•情况一:先滑动直播界面,再按home键,然后回到tiktok,再切换相机,此时status()函数返回1,走了后续Camera.open流程。

•情况二:先滑动界面,再切换相机,然后按home键,接着回到tiktok,最后切换相机,此时status()函数返回2,没走后续Camera.open流程。

从日志看switchCamera两种情况都走了,再结合switchCamera的源码看,源码里的status()函数的返回值决定了是否继续往下调用切换相机的流程,很遗憾的是,两种情况都出现了,而且都会卡住(为什么两个status值会不一样呢,这里先留个坑,最后来填)。这可把我难住了!

就在这时脑子突然开窍,既然画面卡住,那么必然有错误信息回调,果然一搜索CameraVideoCapture这个核心类有onError函数,毫不犹豫hook它,发现每次出错时,这个函数的错误码都会报-421错误(截图省略-421错误码的测试过程)。

错误信息非常明确的告诉我们是因为相机不支持缩放,导致的打开相机失败,那么至此相机卡住的直接原因找到了,但是还没找到为什么特殊的操作流程后会卡住,而正常的操作不会。于是乎继续跟着堆栈信息往上找。

发现走进了这里的流程,导致的相机进缩放流程,为了验证猜想,我决定在这个函数调用前,把message里的what字段改成2,让它不走这个流程,来看看是不是就不会导致界面卡住,于是就有了下面这段代码。

经过这一番篡改,果真随便怎么折腾,直播界面都不会卡住了。那么我只要找到那里给handler发送的这个message就应该离真想很近了。

然后找这个handler的sendMessage相关切message的what字段赋值为1的函数。

然后我找到了它,这个函数还和缩放相关,那就八九不离十了。

按之前的堆栈继续hook,发现卡住的时候这些方法确实都走了,而正常的时候是不走的,那么在X.Dvc的LIZ继续用抛堆栈大法。

得到如下两种堆栈:

•X.DCM接收到了touch事件,然后交由X.DCc这个类进行手势判断,发现是需要执行缩放的手势,于是执行了相机的缩放功能(由于我们业务原因需要隐藏底部NavigationBar,在Window底部上划会显示NavigationBar,上划的手势同时触发了控件的以为需要执行相机缩放),但是我们的虚拟摄像头又不支持缩放,导致打开相机失败,画面就卡在了之前相机拿到的最后一帧。

X.DCc类

X.DCO的invoke方法

•点击tiktok的切换相机Button,触发进入相机的缩放,这里就和我们之前的点击事件联系上了,红框部分就是补上了之前没关注但是最重要的相机缩放功能判断部分。

至此,我们已经把相机卡住的直接原因和根本原因都找到了,先手势再点击切换相机触发了进入相机缩放功能判断流程,由于我们的虚拟相机不支持缩放,导致打开相机失败,卡在相机的最后一帧(也可能是黑屏)。所以只要交付给framework组开发人员,让他们支持相机缩放相关功能就可以了。

接下来来填前面留下的坑,为什么退到后台会导致status函数的返回值不一样?

我们回到CameraVideoCapturer类,看看这个status()函数到底是个什么鬼!

发现他是父类ExternalVideoCapturer的函数,而且就是返回个字段,那再看看他那里进行了赋值。

通过AndroidStudio自带的字段读写索引功能,很容易找到父类里的start、stop和release函数,以及自身的onErrorOnHandler函数里(也就是我们之前抛-421错误堆栈的函数)。如果熟悉相机开发的同学应该知道,一般我们界面退到后台会释放相机,然后回到前台重新打开。那么接下来我们把这几个函数都hook一下,来验证猜想。

这里我多hook了一个onCaptureStarted函数,这个函数会调用父类的onStart函数,想看看是否会有调了onCaptureStarted但是没调父类的onStart的情况。然后还hook了CameraVideoCapturer自身重写的onStart和父类ExternalVideoCapturer的onStart函数。

下面是刚打开直播时的日志,此时status=1。

•情况一:先滑动直播界面,再按home键,然后回到tiktok,再切换相机,此时status()函数返回1,走了后续Camera.open流程。

这是直播退到后台时的调用,说明确实释放掉了,但是又调用了父类的onStart函数,那么此时的应该为2的status又变回了1。

接下来回到前台,此时一切正常status还是为1,而且重走了自身的onStart函数,相当于相机整个流程完全重开。

再接着切换相机第一次,这时的status还是为1,相机正常,紧接着我们发现了-421错误,发现又重走了父类的onStart函数,那么此时status还是1。

接下来切换相机画面卡住了,但还是走了父类的onStart。

以上就是第一种情况,由于每次切换相机都会抛完-421错误后,再调用父类ExternalVideoCapturer的start函数来重置status,也就造成了能调用Camera.open但是画面卡住的情况。

•情况二:先滑动界面,再切换相机,然后按home键,接着回到tiktok,最后切换相机,此时status()函数返回2,没走后续Camera.open流程。

前面流程就不贴了,直接开后面的流程记录。

退到后台status=1

回到前台status=1

切换相机第一次,画面正常status=1

切换相机第二次,在调用switchCamera之前先抛了一次-421的错误,导致status=2,然后switchCamera函数里判断status为2就被return,没有调用Camera.open函数,接下来也没有更多函数来重置status的状态,所以无论怎么切换相机,都无法执行到Camera.open(),除非tiktok退到后台,再回到前台。

以上就是第二钟情况。

短视频平台机器,是如何检测短视频内容,是否重复一致

疯象网为你解答:

无论是任何形式的内容,在储存服务器中都是以数据方式储存的,直接对比数据是其中一种方式。

打个比喻,我看着你的照片,我要把你放进我的记忆当中,那我会记忆你的肤色、身高、五官、一及其他的特点,这种是模糊记忆。而电脑的记忆方式是把这张照片分成很多个小方块,也就是我们所说的像素,然后记住每一个小方块的位置和颜色,如果是视频的话还要记录小方块的变化,那么直接去对比记录两个小方块颜色值的数据,就可以准确的判断两张照片是否一致,视频的话也是同理的,单纯的对比是远远不够,如果你加个滤镜系统可能就就躲开了。实际上会需要用到非常复杂的检测方式,如果说你要伪原创视频的话,你可以从以下几个角度去处理:

1、加滤镜,因为滤镜跟我们的视频处理统一调色不一样,视频不同的位置变化是不一样的,如果我们至少把视频的某一个色调调高了,那么本质上区别并不大。

2、做镜像,左右镜像或者上下镜像,看内容而定,镜像之后不影响视频本身的体现就行。

3、抽帧,例如我们正常的视频是25帧、30帧、60帧,假设原视频是6秒的视频,每秒60帧,一共就是360帧,你抽掉60帧,那么后面每一帧跟原视频都有差异,当然如果你原视频每一帧差别都不大的话,系统还是会发现的。

还有很多其他的方式可以去处理视频,科技在不断的进步,各平台的反作弊技术也会不断的提升,不同平台规则也不同,可以多尝试一下。

目前这种伪原创技术多用于Tiktok搬运号,直接把抖音的短视频处理之后搬运到TikTok上面,只要有播放就有创作者扶持计划,前期就可以获得收益,后面账号做起来之后再开始自己创作短视频,也可以接广告或者带货。

关于tiktok镜像版,TikTok为什么会0播放怎么解决的介绍到此结束,希望对大家有所帮助。

点赞(112) 打赏
Tiktok咨询
TikTok卖家交流群
跨境卖家专属社群
专家咨询
跨境卖家资讯群
集结行业大咖卖家,助力品牌出海,赶紧加入!
入群福利:
领取最新跨境行业研报+跨境工具导航包