Search code examples
phpextracttiktoktemplate

how to get video ID from tiktok video url


I am using two function for get the url or video play:

  1. Extract the tiktok for video with watermark
public function getDetails() {
    $url = $this->url;
    $resp = $this->getContent($url);
    $check = explode("\"contentUrl\":\"", $resp);
    if (count($check) > 1) {
        $video = explode("\"", $check[1])[0];
        $videoWithoutWaterMark = $this->WithoutWatermark($url);
        $thumb = explode("\"", explode("\"thumbnailUrl\":[\"", $resp)[1])[0];
        $username = explode("/", explode("@", explode("\"", explode("\"url\":\"", $resp)[1])[0])[1])[0];

        $result = [
            'video'=>$video,
            'withoutWaterMark'=>$videoWithoutWaterMark,
            'user'=>$username,
            'thumb'=>$thumb,
            'error'=>false,
            'message'=>false
        ];
    } else {
        $result = [
            'video'=>false,
            'withoutWaterMark'=>false,
            'user'=>false,
            'thumb'=>false,
            'error'=>true,
            'message'=>"Please double check your url and try again."
        ];
    }

    return $result;
}


private function cUrl($url) {
    $user_agent = 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36';
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_USERAGENT, $user_agent);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
    $result = curl_exec($ch);
    curl_close($ch);
    return $result;

}
  1. Get the video url without water mark is
private function WithoutWatermark($url) {
    //video id for example 6795008547961752326
    $dd = explode("video/",$url);
    $url = "https://api2.musical.ly/aweme/v1/playwm/?video_id=".$dd[1];
    return $url;
}

Please help me to find the tiktok video ID, or any way to create a download link of video without a watermark. How can I find the video ID of the video so I will use this video ID for creation of a download link? https://api2.musical.ly/aweme/v1/playwm/?video_id=v09044b90000bpfdj5q91d8vtcnie6o0


Solution

  • Your function WithoutWatermark doesn't work.

    If you have an url like: tiktok.com/@user/video/123456

    then you can make a curl:

    $data = cUrl($url)
    

    You'll get a page from tiktok, with regex you can extract url video:

    https://v16.muscdn.com/123etc
    

    Then again curl with this above url, the response is bytes and inside with regex you can find something like this vid:yourvideoid