ffmpeg -hwaccel auto -i aa.mp4 -i aa.srt -c copy aa.mkv
Select the .idx
file. Ffmpeg will automatically search for the .sub
file. Just another audio stream.
ffmpeg -hwaccel auto -i aa.mp4 -i aa.srt -c copy aa.mkv
Select the .idx
file. Ffmpeg will automatically search for the .sub
file. Just another audio stream.
Ilegal saving has proven itself worthy of several side-effects. Like cutscene characters duplicating, game crashes and (Extended) battle bypass. You perform ilegal saving by opening the pause menu using the back button on your android device. Note that the ingame pause button is non-existent or disabled when you cannot save, like in cutscenes and animations, but the back button will open the pause menu anyway
BB is performed by saving the game while we are on the walking animation towards a node occupied by an enemy. After reloading the game, the enemy will be dead. Sometimes it's still alive but their death consequences will fire (giving you an object, letting you go past them, etc). This may be because the game on loading interprets you being in a node where an enemy should be as you having won the fight. Battles bypassable with BB will be called Type 1
function unblock() { | |
setInterval(() => { | |
// It may not properly work if Twitter updates the webpap since it seems ofuscated | |
let foo = document.querySelectorAll('.r-1dgebii') | |
foo.forEach(btn => btn.click()); | |
console.log | |
foo[foo.length - 1].scrollIntoView() | |
}, 700); | |
} | |
unblock() |
javascript:(function () { if (location.hostname !== 'elpais.com') { location.href = 'https://elpais.com/'; } if (localStorage) { const serializedArcp = localStorage.getItem('ArcP'); if (serializedArcp && serializedArcp.length > 0) { const arcp = JSON.parse(serializedArcp); arcp.anonymous.rc[Object.keys(arcp.anonymous.rc)[0]].c = -200; localStorage.setItem('ArcP', JSON.stringify(arcp)); location.reload(); } } })(); |
debugPrimitive = function (obj, fn) { | |
obj['_' + fn] = obj[fn]; | |
obj[fn] = function (arg) { | |
debugger; | |
this.fn(arg); | |
} | |
} |
debugVariableWriting = function (object, propertyName) { | |
object['_' + propertyName] = object[propertyName] | |
Object.defineProperty(object, propertyName, { | |
get: function() { | |
console.log('get!'); | |
return this['_' + propertyName]; | |
}, | |
set: function(val) { | |
debugger; | |
this['_' + propertyName] = val; |
Here are instructions for generating an SRT file with the transcript of a media file given the URL of that file. In order to achive our goal we're going to use Google Cloud Run(GCRun, a part of the Google Cloud(GC) enviorenmentent (avaiable in "Always free tier)
Credits
Some part of this instructions, as well as the original idea has been obtained from vxlabs