Skip to content

Instantly share code, notes, and snippets.

View meoow's full-sized avatar

Ang Li meoow

  • Beijing University
  • homeless
View GitHub Profile
@meoow
meoow / ffaac.py
Created October 24, 2014 07:05
Convert all FFmpeg supported media file to high quality AAC file (need libfdk_aac encoder)
#!/usr/bin/env python2.7
from optparse import OptionParser
from subprocess import call
from os.path import splitext
import sys, os
def ffaac(filename, opts):
cmd = ['ffmpeg', '-hide_banner', '-y', '-i', filename,
'-c:a', 'libfdk_aac']
@meoow
meoow / ffposter.py
Created October 24, 2014 07:03
Take screenshot (poster) for video at specific seconds
#!/usr/bin/env python2
import sys
import os.path
import datetime
from subprocess import call
width = 1280
sec = str(datetime.timedelta(seconds=int(sys.argv[1])))
@meoow
meoow / ffmp3.py
Created October 24, 2014 06:48
A wrapper for FFmpeg to convert any support media file to high quality MP3 file.
#!/usr/bin/env python2.7
from optparse import OptionParser
from subprocess import call,Popen, PIPE
from os.path import splitext
import sys, os, re
def mediainfo(filename):
bitratePtn = re.compile(r'^\s*Duration:.+, (bitrate: (\d+) kb/s).*$')
@meoow
meoow / ffmediainfo.py
Created October 24, 2014 06:44
Get basic information of media file from FFmpeg's command line output.
#!/usr/bin/env python2.7
import subprocess as subp
import sys
import re
bitratePtn = re.compile(r'^\s*Duration:.+, (bitrate: (\d+) kb/s).*$')
videoPtn = re.compile(r'^\s*Stream #\d+:\d+.*?: Video: ([^,]+).*$')
audioPtn = re.compile(r'^\s*Stream #\d+:\d+.*?: Audio: ([^,]+).*$')
@meoow
meoow / ffcover.py
Created October 24, 2014 06:40
Embed ablum cover into MP3 file using FFmpeg
#!/usr/bin/env python2.7
from optparse import OptionParser
from subprocess import call
import os.path
import os
import tempfile
img_max_width_or_height = 256
@meoow
meoow / cpv.sh
Last active August 29, 2015 14:05
Simple alternative for **cp** but shows progress
cpv() {
if ! type -P pv >/dev/null;then
echo need pv >&2
return 1
fi
case $# in
0|1)
echo invalid arguments >&2
return 1
;;
@meoow
meoow / screenshot.py
Created August 14, 2014 03:35
Take screenshot
import sys
from PyQt4.QtGui import QPixmap, QApplication
import os
namebase='screenshit_'
num=1
outdir= os.path.abspath(os.path.join(os.environ['HOMEPATH'],'Documents'))
while os.path.exists(os.path.join(outdir,namebase+str(num)+'.png')):
num+=1
fulloutname = os.path.join(outdir, namebase + str(num) + '.png')
@meoow
meoow / xunlei-lixian-gui.py
Created August 14, 2014 03:32
Simple GUI for xunlei-lixian
#!/usr/bin/env python2.7
from PyQt4.QtCore import SIGNAL, pyqtSignal, QObject, QString
from PyQt4.QtGui import (QApplication, QDialog,
QTextBrowser, QPushButton, QVBoxLayout,
QLineEdit, QGridLayout, QTextCursor,
QLabel, QHBoxLayout, QFileDialog,
QCheckBox , QSizePolicy , QSpacerItem,
QGroupBox, QComboBox, QSpinBox)
import sys,os,re
import subprocess as subp
@meoow
meoow / updatecookie.py
Created August 14, 2014 03:28
Update cookie for xunlei-lixian
#!/usr/bin/env python2.7
import os, sys
import ConfigParser as cfgp
import sqlite3 as sql
import cookielib
import pdb
def getDefaultProfile(profilesIniFile):
profilesCfg = cfgp.ConfigParser()
profilesCfg.read(profilesIniFile)
@meoow
meoow / add_disabled.py
Created August 14, 2014 03:26
Add disabled into plist file of iOS apps
#!/usr/bin/env python2.7
import plistlib as plib
import subprocess as subp
from contextlib import closing
import os, tempfile, shutil, re
from NameAppend import nameAppend
def parsePlistToString(plistFile=None):
'''parsePlistToString(plistFile)