TikTok Video Downloader avatar
TikTok Video Downloader

Pricing

$10.00/month + usage

Go to Store
TikTok Video Downloader

TikTok Video Downloader

Developed by

epctex

Maintained by Community

Download any videos from TikTok.com

4.6 (3)

Pricing

$10.00/month + usage

13

Monthly users

45

Runs succeeded

90%

Response time

19 hours

Last modified

a day ago

SU

Corrupted files from TikTok

Open

sundogs opened this issue
13 days ago

After downloading video through your scraper, we extract audio from it by downloading the mp4 you give us. For some video files we get this:

1Failed to transcribe video: Failed to load audio: ffmpeg version 5.1.6-0+deb12u1 Copyright (c) 2000-2024 the FFmpeg developers
2  built with gcc 12 (Debian 12.2.0-14)
3  configuration: --prefix=/usr --extra-version=0+deb12u1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libdav1d --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libglslang --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librabbitmq --enable-librist --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opencl --enable-opengl --enable-sdl2 --disable-sndio --enable-libjxl --enable-pocketsphinx --enable-librsvg --enable-libmfx --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libx264 --enable-libplacebo --enable-librav1e --enable-shared
4  libavutil      57. 28.100 / 57. 28.100
5  libavcodec     59. 37.100 / 59. 37.100
6  libavformat    59. 27.100 / 59. 27.100
7  libavdevice    59.  7.100 / 59.  7.100
8  libavfilter     8. 44.100 /  8. 44.100
9  libswscale      6.  7.100 /  6.  7.100
10  libswresample   4.  7.100 /  4.  7.100
11  libpostproc    56.  6.100 / 56.  6.100
12[mov,mp4,m4a,3gp,3g2,mj2 @ 0x2ac764186cc0] Format mov,mp4,m4a,3gp,3g2,mj2 detected only with low score of 1, misdetection possible!
13[mov,mp4,m4a,3gp,3g2,mj2 @ 0x2ac764186cc0] moov atom not found
14/tmp/tmpukr9k5ms/video_74d491ef-3ac3-45c7-bb97-ae307d26a010.mp4: Invalid data found when processing input
15", "timestamp":"2025-04-04T08:26:22.331421Z", "video_id":"74d491ef-3ac3-45c7-bb97-ae307d26a010", "video_url":"https://www.tiktok.com/@caregiveraction/video/7437207906296302894"}

Could you please check it out for this video https://www.tiktok.com/@caregiveraction/video/7437207906296302894 why this file is corrupted? Probably there is something on your end during conversion - my assumption is that it doesn't download the full video ("moov atom not found") but you still give us the mp4 instead of retrying download/fixing the file and then returning the mp4

epctex avatar

epctex (epctex)

13 days ago

Hey there,

Thank you for reaching out, and letting us know about your inquiry. Can you please share your Run ID, so that the team can investigate it in detail?

Best

SU

sundogs

13 days ago
SU

sundogs

13 days ago

These are a few other runs (do you have access to their logs or I need to share them the same way as above?):

1zfnfcllY97xgehzhp
2hyaxZwdg7URSotBpx
3j95gu2wFeo0vCfV0q
4J1Xm2KvBObUkbtMYq
5lFpxhRbn3KhT5eTH9
6JIGAQQflmGwdMtO7L
79CU16snFcys4TKDwP
SU

sundogs

13 days ago

Here is one of corrupted video files (doesn't let me uploading here):

https://limewire.com/d/AWVfg#LokOVNJm1U

SU

sundogs

13 days ago

Here is another one - https://console.apify.com/organization/j2UIRlHmbbfbBPhPG/actors/runs/EAArEX0ATsIqv8Sya#log

There it started downloading, but still stopped on the way.

12025-04-04T10:51:51.186Z ACTOR: Pulling Docker image of build Or78ACkjXeMC7BRab from registry.
22025-04-04T10:51:55.358Z ACTOR: Creating Docker container.
32025-04-04T10:51:56.116Z ACTOR: Starting Docker container.
42025-04-04T10:51:57.929Z INFO  System info {"apifyVersion":"3.1.11","apifyClientVersion":"2.8.0","crawleeVersion":"3.5.7","osType":"Linux","nodeVersion":"v18.20.8"}
52025-04-04T10:51:57.936Z INFO  PHASE -- STARTING ACTOR.
62025-04-04T10:51:58.456Z INFO  PHASE -- SETTING UP CRAWLER.
72025-04-04T10:51:58.458Z INFO  CRAWLER STARTED.
82025-04-04T10:51:58.692Z INFO  BasicCrawler: Starting the crawler.
92025-04-04T10:52:20.389Z WARN  BasicCrawler: Reclaiming failed request back to the list or queue. RequestError: Client network socket disconnected before secure TLS connection was established
102025-04-04T10:52:20.390Z     at file:///usr/src/app/src/main.js:62:19 {"id":"JZB5ArL8oB0LzwE","url":"https://www.tiktok.com","retryCount":1}
112025-04-04T10:52:53.870Z WARN  BasicCrawler: Reclaiming failed request back to the list or queue. RequestError: Proxy responded with 595 ECONNRESET: 0 bytes
122025-04-04T10:52:53.871Z     at file:///usr/src/app/src/main.js:62:19 {"id":"JZB5ArL8oB0LzwE","url":"https://www.tiktok.com","retryCount":2}
132025-04-04T10:52:58.694Z INFO  Statistics: BasicCrawler request statistics: {"requestAvgFailedDurationMillis":null,"requestAvgFinishedDurationMillis":null,"requestsFinishedPerMinute":0,"requestsFailedPerMinute":0,"requestTotalDurationMillis":0,"requestsTotal":0,"crawlerRuntimeMillis":60234,"retryHistogram":[]}
142025-04-04T10:52:58.719Z INFO  BasicCrawler:AutoscaledPool: state {"currentConcurrency":1,"desiredConcurrency":3,"systemStatus":{"isSystemIdle":true,"memInfo":{"isOverloaded":false,"limitRatio":0.2,"actualRatio":0},"eventLoopInfo":{"isOverloaded":false,"limitRatio":0.6,"actualRatio":0},"cpuInfo":{"isOverloaded":false,"limitRatio":0.4,"actualRatio":0},"clientInfo":{"isOverloaded":false,"limitRatio":0.3,"actualRatio":0}}}
152025-04-04T10:53:02.061Z INFO  CRAWLER: -- Fetching cookies
162025-04-04T10:53:04.763Z INFO  PHASE: -- Fetching item: https://www.tiktok.com/@caregiveraction/video/7482152091666992426
172025-04-04T10:53:04.845Z INFO  PHASE: -- Downloading video : https://www.tiktok.com/@caregiveraction/video/7482152091666992426
182025-04-04T10:53:09.320Z INFO  Downloading video 7482152091666992426:                      0%
192025-04-04T10:53:10.101Z INFO  BasicCrawler: All requests from the queue have been processed, the crawler will shut down.
202025-04-04T10:53:10.329Z INFO  Downloading video 7482152091666992426: =======              35%
212025-04-04T10:53:10.567Z INFO  BasicCrawler: Final request statistics: {"requestsFinished":2,"requestsFailed":0,"retryHistogram":[1,null,1],"requestAvgFailedDurationMillis":null,"requestAvgFinishedDurationMillis":6486,"requestsFinishedPerMinute":2,"requestsFailedPerMinute":0,"requestTotalDurationMillis":12972,"requestsTotal":2,"crawlerRuntimeMillis":72108}
222025-04-04T10:53:10.568Z INFO  BasicCrawler: Finished! Total 2 requests: 2 succeeded, 0 failed. {"terminal":true}
SU

sundogs

13 days ago

If you are unable to download the video, you need to fail the run (and not have it as 'succeeded') at least, so that we know we need to retry. But ideally you need to retry, so that we always get a video.

epctex avatar

epctex (epctex)

12 days ago

Hey,

When we checked the runIDs you provided, we saw that both the Input and Storage files had been deleted, so we couldn’t investigate the issue based on your specific example.

However, we tested the video found in the logs — https://www.tiktok.com/@caregiveraction/video/7437207906296302894 — by scraping it through the actor and running a conversion. We didn’t encounter any issues during this process.

You can find the run we executed, along with the input and the conversion log, at the link below:

🔗 https://console.apify.com/view/runs/egGyiNbrDKDqTuLBo

ffmpeg -i 7437207906296302894.mp4 output.mp4 ffmpeg version 7.1.1 Copyright (c) 2000-2025 the FFmpeg developers built with Apple clang version 16.0.0 (clang-1600.0.26.6) configuration: --prefix=/opt/homebrew/Cellar/ffmpeg/7.1.1_1 --enable-shared --enable-pthreads --enable-version3 --cc=clang --host-cflags= --host-ldflags='-Wl,-ld_classic' --enable-ffplay --enable-gnutls --enable-gpl --enable-libaom --enable-libaribb24 --enable-libbluray --enable-libdav1d --enable-libharfbuzz --enable-libjxl --enable-libmp3lame --enable-libopus --enable-librav1e --enable-librist --enable-librubberband --enable-libsnappy --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libtesseract --enable-libtheora --enable-libvidstab --enable-libvmaf --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libxvid --enable-lzma --enable-libfontconfig --enable-libfreetype --enable-frei0r --enable-libass --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libspeex --enable-libsoxr --enable-libzmq --enable-libzimg --disable-libjack --disable-indev=jack --enable-videotoolbox --enable-audiotoolbox --enable-neon libavutil 59. 39.100 / 59. 39.100 libavcodec 61. 19.101 / 61. 19.101 libavformat 61. 7.100 / 61. 7.100 libavdevice 61. 3.100 / 61. 3.100 libavfilter 10. 4.100 / 10. 4.100 libswscale 8. 3.100 / 8. 3.100 libswresample 5. 3.100 / 5. 3.100 libpostproc 58. 3.100 / 58. 3.100 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '7437207906296302894.mp4': Metadata: major_brand : isom minor_version : 512 compatible_brands: isomiso2avc1mp41 comment : vid:v12300gd0001csr4acvog65sac7g7nq0 encoder : Lavf58.76.100 Duration: 00:01:00.01, start: 0.000000, bitrate: 650 kb/s Stream #0:00x1: Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709, progressive), 576x1024 [SAR 1:1 DAR 9:16], 612 kb/s, 30 fps, 30 tbr, 15360 tbn (default) Metadata: handler_name : VideoHandler vendor_id : [0][0][0][0] Stream #0:10x2: Audio: aac (HE-AACv2) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 32 kb/s (default) Metadata: handler_name : SoundHandler vendor_id : [0][0][0][0] File 'output.mp4' already exists. Overwrite? [y/N] y Stream mapping: Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264)) Stream #0:1 -> #0:1 (aac (native) -> aac (native)) Press [q] to stop, [?] for help [libx264 @ 0x1176054f0] using SAR=1/1 [libx264 @ 0x1176054f0] using cpu capabilities: ARMv8 NEON [libx264 @ 0x1176054f0] profile High, level 3.1, 4:2:0, 8-bit [libx264 @ 0x1176054f0] 264 - core 164 r3108 31e19f9 - H.264/MPEG-4 AVC codec - Copyleft 2003-2023 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=18 lookahead_threads=3 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00 Output #0, mp4, to 'output.mp4': Metadata: major_brand : isom minor_version : 512 compatible_brands: isomiso2avc1mp41 comment : vid:v12300gd0001csr4acvog65sac7g7nq0 encoder : Lavf61.7.100 Stream #0:0(und): Video: h264 (avc1 / 0x31637661), yuv420p(tv, bt709, progressive), 576x1024 [SAR 1:1 DAR 9:16], q=2-31, 30 fps, 15360 tbn (default) Metadata: handler_name : VideoHandler vendor_id : [0][0][0][0] encoder : Lavc61.19.101 libx264 Side data: cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: N/A Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 128 kb/s (default) Metadata: handler_name : SoundHandler vendor_id : [0][0][0][0] encoder : Lavc61.19.101 aac [out#0/mp4 @ 0x600001258000] video:4344KiB audio:956KiB subtitle:0KiB other streams:0KiB global headers:0KiB muxing overhead: 1.224760% frame= 1800 fps=740 q=-1.0 Lsize= 5365KiB time=00:00:59.93 bitrate= 733.3kbits/s speed=24.6x
[libx264 @ 0x1176054f0] frame I:8 Avg QP:16.15 size: 34851 [libx264 @ 0x1176054f0] frame P:539 Avg QP:21.83 size: 6435 [libx264 @ 0x1176054f0] frame B:1253 Avg QP:25.52 size: 559 [libx264 @ 0x1176054f0] consecutive B-frames: 2.0% 14.3% 3.7% 80.0% [libx264 @ 0x1176054f0] mb I I16..4: 25.7% 57.4% 16.9% [libx264 @ 0x1176054f0] mb P I16..4: 1.2% 3.4% 0.9% P16..4: 24.6% 8.1% 4.4% 0.0% 0.0% skip:57.4% [libx264 @ 0x1176054f0] mb B I16..4: 0.0% 0.0% 0.0% B16..8: 14.9% 0.7% 0.1% direct: 0.2% skip:84.0% L0:44.3% L1:51.2% BI: 4.5% [libx264 @ 0x1176054f0] 8x8 transform intra:60.4% inter:71.5% [libx264 @ 0x1176054f0] coded y,uvDC,uvAC intra: 36.7% 40.2% 19.1% inter: 3.9% 3.7% 0.3% [libx264 @ 0x1176054f0] i16 v,h,dc,p: 45% 24% 11% 19% [libx264 @ 0x1176054f0] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 23% 18% 33% 3% 5% 5% 5% 4% 4% [libx264 @ 0x1176054f0] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 32% 23% 15% 4% 6% 7% 5% 5% 4% [libx264 @ 0x1176054f0] i8c dc,h,v,p: 62% 18% 17% 3% [libx264 @ 0x1176054f0] Weighted P-Frames: Y:1.7% UV:0.9% [libx264 @ 0x1176054f0] ref P L0: 65.9% 22.4% 8.7% 3.0% 0.0% [libx264 @ 0x1176054f0] ref B L0: 92.8% 6.0% 1.3% [libx264 @ 0x1176054f0] ref B L1: 98.8% 1.2% [libx264 @ 0x1176054f0] kb/s:593.01 [aac @ 0x117677740] Qavg: 643.637

Let us know if you still encounter the issue with a different video or setup, and we’ll be happy to dig deeper.

SU

sundogs

12 days ago

Yes, storage files are deleted automatically to save on space. Hence I attached the file in this issue for you to investigate. Why this issue was closed if you had all the input needed?

Yes, we continue encountering this as it hasn't fixed yet..

Here are the new runs:

1fhzSmcJ9RjufvEVuw
2pBGc41oWgdXMAUp0N
3908G0QLjWFE4PfrLn
4w3gLQrVe3w1uTG8gx
SU

sundogs

12 days ago

We didn’t encounter any issues during this process.

Yes, because it doesn't happen in 100% of cases. It happens on every ~8th run. So 15% of our data is corrupted. Which is a lot.

SU

sundogs

12 days ago

You can clearly see in the logs that the download wasn't fully finished. We gave you a concrete file that is corrupted. We also provided logs of ffmpeg for your developers to debug. I believe we did more than enough for you to be able to reproduce it.

epctex avatar

epctex (epctex)

11 days ago

Hey,

We are woking on it.

Best,

Pricing

Pricing model

Rental 

To use this Actor, you have to pay a monthly rental fee to the developer. The rent is subtracted from your prepaid usage every month after the free trial period. You also pay for the Apify platform usage.

Free trial

3 days

Price

$10.00