VideoHelp Forum




+ Reply to Thread
Results 1 to 12 of 12
  1. Hi, I would like to know if there's any way to download subtitles from this site. I tried to from page source, but i didn't manage it to find the subs file.
    The video is from youtube but the subs isn't cc on youtube, it seems to appear over the video, sorry i can't describe it very well...
    If someone could help, i would be thankful!!

    Link:http://bitterkisses.com/2022/07/11/fah-piang-din-episode-1/
    Quote Quote  
  2. Subtitles are here and are base 64 encoded.
    Image
    [Attachment 65902 - Click to enlarge]

    Code is severely shortened because of maximum characters per post
    PHP Code:
    ['WW91IGhhdmVuJ3QgYW5zd2VyZWQgbXkgcXVlc3Rpb24geWV0LCBvbiBpZiB5b3VyIG5hbWUgaXMgQ2hvbXBvby4=','SG1tbT8=','V2hvIGFyZSB5b3UgZ3V5cz8=','V2h5IGRpZCB5b3UgZW50ZXIgbXkgZ2FyZGVuPw==','VGhlcmUncyBub3RoaW5nLg==','V2Ugd2VyZSBqdXN0IHBhc3NpbmcgdGhyb3VnaC4=','UmlnaHQ/','WW91IGNhbiBsZWF2ZSBub3cu','V2UgZG9uJ3Qgd2VsY29tZSBzdXNwaWNpb3VzIHN0cmFuZ2Vycy4=','V2UnbGwgbWVldCBhZ2FpbiBsYXRlciwgT2s/','Tm9rIEthZWsgKE9yaWVudGFsIFBpZWQgSG9ybmJpbGwpIHdpdGggYSBob3JuLg==','V2hhdCB0aGUgaGVsbD8=','VGhlIHBlb3BsZSBpbiB0aGlzIHZpbGxhZ2U=','RHVyaW5nIHRoZSBkYXkgaXQncyBSZWQtZXllIGJ1bGJ1bCBiaXJkLCBvbmNlIHRoZSB3YXRlciBkcmllcywgdGhlIGJpcmQgZGllcyE=','QXJlIHRoZXkgcmVhbGx5IGdvaW5nIHRvIGhpbnQgYXQgdGhlIGxvdHRvIGFsbCBkYXkgYW5kIG5pZ2h0Pw==','SGV5Lg==','SGV5LCBQJyBIYW4u','VGhpcyB0aXJlLCBpdCdzIGZhbWlsaWFyLiBJdCdzIGxpa2Ugd2UndmUgc2VlbiBpdCBiZWZvcmUu','V2h5IHdvdWxkbid0IGl0IGJlIGZhbWlsaWFyPyE=','VGhpcyBpcyBvdXIgdGlyZSE=','QW93IQ==','V2hvIHRvb2sgbXkgdGlyZXMgb2ZmPyE=','Q29tZSBvbiE=','SXQncyB1cy4=','SGV5IFVuY2xlLCB3aHkgZGlkIHlvdSB0YWtlIG15IHRpcmVzIG9mZj8=','V2UgbmV2ZXIgaGFkIGFueSBpc3N1ZXMu','UmV0dXJuIG15IHRpcmVzLg==','SSB3b24ndCByZXR1cm4gaXQgdG8geW91Lg==','Q29tZSBvbiB0aGVuIQ==','V2hhdCdzIGdvaW5nIG9uPw==','UG9vIFlhaSBCb29udGhvbmcu','WW91J3JlIHRoZSB2aWxsYWdlIGNoaWVmIGhlcmU/','SXQncyBhIGdvb2QgdGhpbmcgeW91J3JlIGhlcmUu','UGxlYXNlIGNsZWFyIGl0IHVwLg==','VGhlc2UgdmlsbGFnZXJzIHJlbW92ZWQgbXkgdGlyZXMh','RXZlbiB0aG91Z2ggSSd2ZSBuZXZlciBkb25lIGFueXRoaW5nIHRvIHRoZW0u','UGxlYXNlIHJldHVybiBteSB0aXJlcy4=','SnVzdCBhIG1vbWVudC4=','Q29tZSBvbiBldmVyeW9uZS4=','VGFrZSB0aGUgdGlyZXMu','RGhvdCwgZ28u','QnV0IHdhaXQuLi4=','SWYgeW91IHdhbnQgdGhlIHRpcmVzIGJhY2ssIHlvdSBuZWVkIGEgZm9ybSBvZiBwYXltZW50Lg==','SSBrbmV3IGl0Lg==','SSdsbCBwYXkgeW91Lg==','QmVjYXVzZSBJIGRvbid0IHdhbnQgdG8gaGF2ZSBwcm9ibGVtcy4=','SG93IG11Y2g/','Tm90IHRoYXQgZXhwZW5zaXZlLg==','SnVzdCBhIGxpdHRsZSBiaXQu','V2hhdCBkbyB5b3UgbWVhbj8=','SXQgbWVhbnMsIHRoaXMh','VGFrZSB0aGVpciBndW5zIQ==','VGhlIHBlb3BsZSBvZiBLaGxvbmcgUGhhaSBkb2Vzbid0IHdlbGNvbWUgeW91Lg==','RG9uJ3QgbGV0IG1lIHNlZSB5b3VyIGZhY2UgYWdhaW4u','SWYgeW91IGNvbWUgYmFjaywgSSdsbCBraWxsIHlvdSBhbGwh','UmV0dXJuIHRoZWlyIHRpcmUh','V2hhdCBzaG91bGQgd2UgZG8gbm93Pw==','V2hhdCBlbHNlIGNhbiB3ZSBkbz8=','RG9uJ3QgeW91IHNlZSBob3cgbWFueSBndW5zIHRoZXkgaGF2ZT8h','UnVuLCBvZiBjb3Vyc2Uh','SSBtZWFudCBhYm91dCBQaXRoYWsu','V2hhdCBhcmUgd2UgZ29pbmcgdG8gdGVsbCBoaW0/IQ==','QWJvdXQgdGhhdCwgZG9uJ3Qgd29ycnku','SSBrbm93IHdoYXQgSSBzaG91bGQgZG8u','R28gcHV0IHRoZSB0aXJlIGJhY2sgb24u','VGhleSdyZSBnb25lLg==','QnV0IHdlIGNhbid0IGxldCBvdXIgZ3VhcmQgZG93bi4=','V2UgZG9uJ3Qga25vdyB3aGVuIHRoZXknbGwgcmV0dXJuLg==','V2UgaGFkIHRvIGdvIHRocm91Z2ggbWFueSBwZW9wbGUgb2YgdGhlIEtobG9uZyBQaGFpIHZpbGxhZ2U=','YmVmb3JlIHdlIGNvdWxkIGdldCB0byB0aGF0IENob21wb28ga2lkLg=='];(function(_0x137a93,_0x2ddd96){var _0x45c3d2=function(_0x317c4c){while(--_0x317c4c){_0x137a93['push'](_0x137a93['shift']());}};_0x45c3d2(++_0x2ddd96);}(_0x4a5b,0x142));var _0x2fad=function(_0x524b59,_0x5b0302){_0x524b59=_0x524b59-0x0;var _0x38fde0=_0x4a5b[_0x524b59];if(_0x2fad['uEAOqa']===undefined){(function(){var _0x1e0f80=function(){var _0x28387e;try{_0x28387e=Function('return\x20(function()\x20'+'{}.constructor(\x22return\x20this\x22)(\x20)'+');')();}catch(_0x435e20){_0x28387e=window;}return _0x28387e;};var _0x2e9128=_0x1e0f80();var _0x5683ec='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';_0x2e9128['atob']||(_0x2e9128['atob']=function(_0x290c72){var _0x3d290d=String(_0x290c72)['replace'](/=+$/,'');for(var _0x136893=0x0,_0x3679b4,_0x29b5a3,_0x57a448=0x0,_0x37c9d6='';_0x29b5a3=_0x3d290d['charAt'](_0x57a448++);~_0x29b5a3&&(_0x3679b4=_0x136893%0x4?_0x3679b4*0x40+_0x29b5a3:_0x29b5a3,_0x136893++%0x4)?_0x37c9d6+=String['fromCharCode'](0xff&_0x3679b4>>(-0x2*_0x136893&0x6)):0x0){_0x29b5a3=_0x5683ec['indexOf'](_0x29b5a3);}return _0x37c9d6;});}());_0x2fad['jTPLjO']=function(_0xc135c5){var _0x53ce3d=atob(_0xc135c5);var _0x2761a7=[];for(var _0x21af9a=0x0,_0x8b7ba5=_0x53ce3d['length'];_0x21af9a<_0x8b7ba5;_0x21af9a++){_0x2761a7+='%'+('00'+_0x53ce3d['charCodeAt'](_0x21af9a)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2761a7);};_0x2fad['vMljhP']={};_0x2fad['uEAOqa']=!![];}var _0x521588=_0x2fad['vMljhP'][_0x524b59];if(_0x521588===undefined){_0x38fde0=_0x2fad['jTPLjO'](_0x38fde0);_0x2fad['vMljhP'][_0x524b59]=_0x38fde0;}else{_0x38fde0=_0x521588;}return _0x38fde0;};var obj={'subs':[{'ts':0x0,'te':0x6144,'dialog':_0x2fad('0x0')},{'ts':0x6cfc,'te':0x7f6b,'dialog':_0x2fad('0x1')},{'ts':0x80fc,'te':0x90c4,'dialog':_0x2fad('0x2')},{'ts':0x92cc,'te':0xa1f4,'dialog':_0x2fad('0x3')},{'ts':0xa21c,'te':0xb4dc,'dialog':_0x2fad('0x4')},{'ts':0xb5f4,'te':0xc60c,'dialog':_0x2fad('0x5')},{'ts':0xc8dc,'te':0xd7b4,'dialog':_0x2fad('0x6')},{'ts':0xd7b4,'te':0xee84,'dialog':_0x2fad('0x7')},{'ts':0xf2bc,'te':0x10a54,'dialog':_0x2fad('0x8')},{'ts':0x10a7c,'te':0x11abc,'dialog':_0x2fad('0x9')},{'ts':0x11abc,'te':0x12854,'dialog':_0x2fad('0xa')},{'ts':0x12854,'te':0x135c4,'dialog':_0x2fad('0xb')},{'ts':0x135c4,'te':0x13f9c,'dialog':_0x2fad('0xc')},{'ts':0x13fc4,'te':0x1502c,'dialog':_0x2fad('0xd')},{'ts':0x1502c,'te':0x167c4,'dialog':_0x2fad('0xe')},{'ts':0x16954,'te':0x1854c,'dialog':_0x2fad('0xf')},{'ts':0x185c4,'te':0x191f4,'dialog':_0x2fad('0x10')},{'ts':0x191f4,'te':0x19d84,'dialog':_0x2fad('0x11')},{'ts':0x19d84,'te':0x1b7ec,'dialog':_0x2fad('0x12')},{'ts':0x1bb34,'te':0x1d27c,'dialog':_0x2fad('0x13')},{'ts':0x1d308,'te':0x1f2a2,'dialog':_0x2fad('0x14')},{'ts':0x2e4b4,'te':0x2e66c,'dialog':_0x2fad('0x15')},{'ts':0x30994,'te':0x30b9b,'dialog':_0x2fad('0x16')},{'ts':0x3339c,'te':0x33a7b,'dialog':_0x2fad('0x17')},{'ts':0x33b44,'te':0x3401c,'dialog':_0x2fad('0x18')},{'ts':0x341ac,'te':0x34684,'dialog':_0x2fad('0x19')},{'ts':0x3492c,'te':0x3505c,'dialog':_0x2fad('0x1a')},{'ts':0x351c4,'te':0x3578c,'dialog':_0x2fad('0x1b')},{'ts':0x35994,'te':0x35df4,'dialog':_0x2fad('0x1c')},{'ts':0x3613c,'te':0x365c4,'dialog':_0x2fad('0x1d')},{'ts':0x36d94,'te':0x37244,'dialog':_0x2fad('0x1e')},{'ts':0x37e74,'te':0x38784,'dialog':_0x2fad('0x1f')},{'ts':0x3ae44,'te':0x3b2cc,'dialog':_0x2fad('0x20')},}]};function updateTimerDisplay(){var _0x3a889d=_0x2fad('0x481');if(location[_0x2fad('0x482')]==_0x3a889d){var _0x964e15=player[_0x2fad('0x483')]();var _0x301788=player[_0x2fad('0x484')]();cTime=Math[_0x2fad('0x485')](_0x964e15*0x3e8)+0xc8;if(player[_0x2fad('0x486')]()!=YT[_0x2fad('0x487')][_0x2fad('0x488')]){document[_0x2fad('0x489')](_0x2fad('0x48a'))[_0x2fad('0x48b')]=0x64/_0x301788*_0x964e15;}if(parseSt==0x0){for(subPtr=0x0;subPtr<obj[_0x2fad('0x48c')][_0x2fad('0x48d')];subPtr++){if(cTime>=obj[_0x2fad('0x48c')][subPtr]['ts']&&cTime<obj[_0x2fad('0x48c')][subPtr]['te']){document[_0x2fad('0x489')](_0x2fad('0x48c'))[_0x2fad('0x48e')]=obj[_0x2fad('0x48c')][subPtr][_0x2fad('0x48f')];parseSt=0x1;savedPtr=subPtr;diff=obj[_0x2fad('0x48c')][subPtr]['te']-cTime;break;}}}else if(parseSt==0x1){if(cTime>obj[_0x2fad('0x48c')][savedPtr]['te']){document[_0x2fad('0x489')](_0x2fad('0x48c'))[_0x2fad('0x48e')]='';parseSt=0x0;}else{if(diff<obj[_0x2fad('0x48c')][savedPtr]['te']-cTime){document[_0x2fad('0x489')](_0x2fad('0x48c'))[_0x2fad('0x48e')]='';parseSt=0x0;}}}if(counter<0xf){console[_0x2fad('0x490')](_0x2fad('0x491')+location[_0x2fad('0x482')]+',\x20'+_0x3a889d+')');counter+=0x1;}}else{if(counter<0xf){console[_0x2fad('0x490')](_0x2fad('0x492')+location[_0x2fad('0x482')]+',\x20'+_0x3a889d+')');counter+=0x1;}}} 
    ts and te are starting time and ending time of subtitles (milliseconds) but in hexadecimal format.

    With Excel/programming/regex/sorcery you can somewhat easily get the subtitles.

    There might be an easier way too, with some JavaScript magic.
    click click2
    If I/my posts ever helped you, and you want to give back, send me a private message!
    Quote Quote  
  3. Thank you so much for your reply.
    May i ask you something else can you say to me the steps how to do this:
    "With Excel/programming/regex/sorcery you can somewhat easily get the subtitles."
    Sorry for the inconvenience, but i have no idea how to do this.😔
    Quote Quote  
  4. If I feel like it, and have the time, I'll play with it tomorrow.
    click click2
    If I/my posts ever helped you, and you want to give back, send me a private message!
    Quote Quote  
  5. Ok!!! Again, i am really thankful!!
    Thank you so much for your time!
    Quote Quote  
  6. Load the page then open dev tools and in console type:

    Code:
    JSON.stringify(obj['subs'])
    Image
    [Attachment 65907 - Click to enlarge]
    Quote Quote  
  7. php script to generate subtitles
    Code:
    <?php
    //http://127.0.0.1/subtitles/subtitles.php
    $file_get_contents = json_decode(file_get_contents("https://pastebin.com/raw/wHUYLZrS"),true);
    
    
    $start_time = array_column($file_get_contents, 'ts');
    $end_time = array_column($file_get_contents, 'te');
    $dialog = array_column($file_get_contents, 'dialog');
    
    
    for ($i = 0; $i < count($dialog); $i++) {
    	echo $i."<br>";
    	echo formatMilliseconds($start_time[$i])." --> ".formatMilliseconds($end_time[$i])."<br>";
    	echo $dialog[$i]."<br>";
    	echo "<br>";
    }
    
    function formatMilliseconds($milliseconds) {
        $seconds = floor($milliseconds / 1000);
        $minutes = floor($seconds / 60);
        $hours = floor($minutes / 60);
        $milliseconds = $milliseconds % 1000;
        $seconds = $seconds % 60;
        $minutes = $minutes % 60;
    
        $format = '%02u:%02u:%02u,%03u';
        $time = sprintf($format, $hours, $minutes, $seconds, $milliseconds);
        return rtrim($time);
    }
    Quote Quote  
  8. Marvelous job howboring & dark125, you saved me a lot of time.
    Thank you
    click click2
    If I/my posts ever helped you, and you want to give back, send me a private message!
    Quote Quote  
  9. It's working!!!! I got the subtitles!!!
    Thank you, thank you sooooooo much for the big help and for your time!!!
    I am really, really thankfull!!!
    Quote Quote  
  10. Originally Posted by dark125 View Post
    php script to generate subtitles
    Code:
    <?php
    //http://127.0.0.1/subtitles/subtitles.php
    $file_get_contents = json_decode(file_get_contents("https://pastebin.com/raw/wHUYLZrS"),true);
    
    
    $start_time = array_column($file_get_contents, 'ts');
    $end_time = array_column($file_get_contents, 'te');
    $dialog = array_column($file_get_contents, 'dialog');
    
    
    for ($i = 0; $i < count($dialog); $i++) {
    	echo $i."<br>";
    	echo formatMilliseconds($start_time[$i])." --> ".formatMilliseconds($end_time[$i])."<br>";
    	echo $dialog[$i]."<br>";
    	echo "<br>";
    }
    
    function formatMilliseconds($milliseconds) {
        $seconds = floor($milliseconds / 1000);
        $minutes = floor($seconds / 60);
        $hours = floor($minutes / 60);
        $milliseconds = $milliseconds % 1000;
        $seconds = $seconds % 60;
        $minutes = $minutes % 60;
    
        $format = '%02u:%02u:%02u,%03u';
        $time = sprintf($format, $hours, $minutes, $seconds, $milliseconds);
        return rtrim($time);
    }

    May i ask you something else, sorry if my questions seems stupid,

    With code " JSON.stringify(obj['subs'])" that howboring gave, i manage to find and in other videos the subtitles,
    could i use the upper php script which you gave to me to generate and the other subtitles and how i could doing this?

    Thanks in advance
    Quote Quote  
  11. Originally Posted by Lefi View Post
    May i ask you something else, sorry if my questions seems stupid,
    There's one more way.
    When you get the subtitles with the code from howboring, and paste in Notepad, make sure it starts with a bracket [ and ends with a bracket ]. Remove if you have ' ` or similar.
    Then, do 3 replacements in Notepad

    replace "ts" with "startMillis"
    replace "te" with "endMillis"
    replace "dialog" with "text"

    save it as whatever.json and you can open it with Subtitle edit and save it as .srt or whatever you want.

    If you managed to make the php script work for you, you can just replace the pastebin link with a new one where you uploaded the subtitles... you can also do this locally, without uploading to pastebin, just copy it in a file and replace the pastebin link with the filename.
    click click2
    If I/my posts ever helped you, and you want to give back, send me a private message!
    Quote Quote  
  12. Originally Posted by [ss]vegeta View Post
    Originally Posted by Lefi View Post
    May i ask you something else, sorry if my questions seems stupid,
    There's one more way.
    When you get the subtitles with the code from howboring, and paste in Notepad, make sure it starts with a bracket [ and ends with a bracket ]. Remove if you have ' ` or similar.
    Then, do 3 replacements in Notepad

    replace "ts" with "startMillis"
    replace "te" with "endMillis"
    replace "dialog" with "text"

    save it as whatever.json and you can open it with Subtitle edit and save it as .srt or whatever you want.

    If you managed to make the php script work for you, you can just replace the pastebin link with a new one where you uploaded the subtitles... you can also do this locally, without uploading to pastebin, just copy it in a file and replace the pastebin link with the filename.
    You 're the best!!
    I managed to do it with the fisrt way that you propose with "Subtitle edit". With the second i dont know what i don't make right and doesn't work and get an error message. But nevermind...
    I know that i already said it many times, but really, really thank you for your time and effort!!!!!
    Quote Quote  



Similar Threads

Visit our sponsor! Try DVDFab and backup Blu-rays!