Archiv der Kategorie: IT

flash alternative for streaming sites -> ViewTubePlus

If you don’t like the performance impact that flash causes or you simply can’t use the flash plugin for some reason there is a chance you can still watch your loved videos on several streaming sites.
It is a greasemonkey userscript that searches for the video and replaces the flash player with a custom player where you can play the video with the browser internal html5 video player or a video plugin like the one from vlc player.
Currently those sites are supported:

Currently the script adds ViewTube support for:

4tube.com
56.com
aShemaleTube.com
beeg.com
buni.tv
bitshare.com
canalplus.fr
daclips.in
divxstage.eu
euronews.com
faststream.in
filenuke.com
flashvideo.in
flashx.tv
gayroyal.com
gaytube.com
gorillavid.in
hornoxe.com
hotpornshow.com
hostingbulk.com
ifeng.com
ina.fr
jpopsuki.tv
manhub.com
movshare.net
myvideo.de
nicovideo.jp
novamov.com
nowvideo.co
nowvideo.sx
pornhub
porn.to/burningcamel.com
porntube.com
primeshare.tv
putlocker.com
rai.tv
realgfporn.com
redtube.com
sexykarma.com
sharesix.com
sockshare.com
streamcloud.eu
svtplay.se
telemadrid.es
tf1.fr
trilulilu.ro
tube8.com
veehd.com
video.repubblica.it
vplay.ro
vporn.com
xhamster.com
xtube.com
xvideos.com
xvidstage.com
youku.com
youporn.com
youporngay.com
zalaa.com
zdf.de

Download: https://heliotropium.it/ViewTubePlus.user.js

It is some kind of a standalone addition to ViewTube. Just that this script is for some more websites.

That’s how a video on xtube looks with the totem video plugin for firefox:

If you want a specific site supported, you can say it in the comments and/or provide the code for it 🙂

In general I recommend the totem video player on *nix systems or HTML5 on all systems, because it caches the video on disk and you can let it puffer. The vlc plugin just puffers for about some seconds and then stops downloading the file any further.

Issues:
– In conjunction with noscript it’s not working that well because some pornsites have different domains/IPs for videos and you have to allow javascript access to them as well in order to make it work.
– I experience difficulties with VLC Media Player Plugin with Windows 7 and Linux. It wants to load the full movie/video before it wants to play it. So it’s not really streaming. At least for Linux I can recommend the Totem Plugin.

See the readme for the original tool on which plugins to use and what browsers are supported etcetera:
http://isebaro.com/viewtube/include/files/readme

Changelog:
# 2016-08-05  – fixed xtube, xvideos
# 2016-02-23 – quickfix xtube, fixed ashemaletube
# 2015-12-15 – changed xhamster regex
# 2015-09-12 – refix redtube
# 2015-09-09 – added support for zdf Mediathek
# 2015-09-08 – fixed redtube
# 2015-08-12 – fixed xhamster
# 2015-08-03 – fixed pornhub
# 2015-07-16 – changing xtube code
# 2015-07-15 – adding subdomains for pronhub, youporn(gay), tube8
# 2015-07-07 – fucked up regex for xvideos 😉
# 2015-07-06 – fixing gaytube, adding subdomains for xvideos
# 2015-06-29 – fixed gaytube
# 2015-06-24 – changed youporn code to not use xmlhttprequest in order to work with EasyLists blocking rules
# 2015-06-08 – fixed veehd
# 2015-05-20 – fixed porn.to, tube8, pornhub, youporn
# 2015-04-22 – fixed language specific tube8 domains
# 2015-03-03 – fixed tube8
# 2015-02-14 – fixed xhamster
# 2015-02-08 – fixed redtube, tube8
# 2015-02-07 – refixed veehd
# 2015-02-06 – fixed veehd, flashx
# 2015-02-02 – fixed hornoxe, fast(stream|video), pornhub
# 2015-01-22 – fixed pornhub
# 2015-01-20 – divxstage top level domain added
# 2015-01-19 – fixed nowvideo, novamov
# 2014-11-07 – fixed youporn, pornhub, redtube, tube8
# 2014-06-27 – fixed pornhub code

Bundestag rtmp

Merke für das nächste Mal…:
rtmpdump -r "rtmp://c13014-o.f.core.cdn.streamfarm.net/13014bundestag" -a "13014bundestag" -y "mp4:ondemand/3777parlamentsfernsehen/archiv/app144277506/145293313/2418549/2418549_h264_720_400_2000kb_baseline_de_2192.mp4" -o "Redebeitrag von Dr. Matthias Zimmer (CDU_CSU) am 06.06.2013 um 17:04 Uhr (243. Sitzung, TOP 7).mp4"

Packard Bell EasyNote TK85 backlight bei Linux

Falls die Hintergrundbeleuchtung nicht mit den Funktionstasten geändert werden kann ist möglicherweise ein kleine Änderung an einer grub Datei schon des Rätsels Lösung.
Im ubuntuusers.de Forum hat ein User folgenden Vorschlag gemacht:

Bei mir hat folgendes geholfen:

Option "RegistryDwords" "EnableBrightnessControl=1"

In der

Section "Device"

in der /etc/X11/xorg.con einfügen. Ansonsten noch

acpi_osi=Linux

in deiner /etc/default/grub beim Punkt

GRUB_CMDLINE_LINUX=".."

hinzufügen 😉

Quelle

Zusätzlich zu acpi_osi=Linux habe ich noch die Option acpi_backlight=vendor dazugenommen.

Update:
Die Änderung in der xorg.conf war überflüssig und habe ich wieder entfernt… Übrigens auf einem Ubuntu 13.10.

geöffnete Outlook PST Dateien sichern | how to backup open PST files

Es ist nicht ganz trivial PST Dateien zu sichern, die gerade bei Outlook geöffnet sind. Windows lässt das natürlich nicht zu, was auch Sinn macht in Bezug auf Datenkonsistenz und so weiter.
Nur was ist wenn auf Laptops immer Outlook geöffnet ist und allerhöchstens am Abend in den Standy Modus versetzt wird um dann am morgen weiter betrieben zu werden und niemals Outlook geschlossen wird? Also fallen Hilfswerkzeuge wie pfbackup weg. Dieses ermöglicht es bei schließen von Outlook die Sicherung der Dateien. Auch muss bei dem Tool die PST Dateien ausgewählt werden die gesichert werden sollen.

Das vorgestellte Skript sucht auf dem ganzen Laufwerk(en) nach PST Dateien und speichert diese in einen vorgegebenen Backup Ordner auf der eigenen Festplatte. In unserer Umgebung ist dies ein Truecrypt Container der immer als S: gemountet wird.
Um ein Backup von einer geöffneten Datei anzulegen ist es nötig eine Shadow Copy von der Festplatte anzulegen. Dies führt dazu, dass der aktuelle Stand gespeichert wird und ein kopieren möglich wird da die Datei dann nicht mehr mit einem lock versehen ist.
Als Hilfswerkzeug kommt vscsc und dosdev (in einem Microsoft Toolset enthalten) zum Einsatz.

In meinem Fall sind alle Dateien in C:\vscsc.
Diese wären:

  • dosdev.exe
  • vscsc.exe
  • findPST.vbs
  • script_c.bat
  • script_s.bat

dosdev.exe erlaubt einen so seltsame Windows Laufwerksnamen wie \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy15 auf ein Laufwerksbuchstaben zu mounten. Damit kann man dann auch in Skripten auf das Laufwerk zugreifen.

vscsc.exe erstellt die temporäre Shadow Copy vom Laufwerk. Ist das Skript durch verfällt die Shadow Copy.

findPST.vbs sucht alle PST Dateien auf dem Laufwerk das gerade als Shadow Copy existiert (Laufwerk B:) und kopiert diese ans Backupziel.

script_c.bat nimmt als Argument den Laufwerksnamen der Shadow Copy an und mountet es als Laufwerk B. Es ruft dann die findPST.vbs auf mit dem Laufwerksbuchstaben der Festplatte, die gerade also Shadow Copy vorliegt.
Man kann dem Skript leider keine Argumente übergeben, deswegen ein Skript für jedes Laufwerk.

Hier die Inhalte der Dateien. Denke diese sind selbsterklärend.

script_c.bat:

@echo off
DOSDEV B: %1
rem At this point B: is an immutable snapshot of C:, and you can copy from it.
rem You just need to write some stuff that actually copies data from B:
rem My favourite is rdiff-backup, but only robocopy can operate in backup mode
rem as a member of the Backup Operators group (/B switch), therefore bypassing
rem file permissions and security. This might be required sometimes.
rem .ost files are forbidden to appear in a snapshot
rem see HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\BackupRestore\FilesNotToSnapshot
wscript findPST.vbs C:
DOSDEV /D B:

script_s.bat:

@echo off
DOSDEV B: %1
wscript findPST.vbs S:
DOSDEV /D B:

findPST.vbs:


laufwerksbuchstaben = WScript.Arguments.Item(0)
backupFolder = "S:\Secure Daten\Backup Outlook\"
backupFolderPart = "S:\Secure Daten"
strComputer = "."
Const OverwriteExisting = True
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
QueryString = "Select * from CIM_DataFile Where Extension = 'pst' AND Drive = '" & laufwerksbuchstaben & "'"
'Wscript.Echo QueryString
Set re = New RegExp
Set re2 = New RegExp
With re
  .Pattern = ".*recycle.bin.*"
  .Global = True
  .IgnoreCase = True
End With 
With re2
  .Pattern = ".*S:\Secure Daten\Backup Outlook.*"
  .Global = True
  .IgnoreCase = True
End With 

Set colFiles = objWMIService.ExecQuery (QueryString)
  
' if there are no pst files found just exit the script
If colFiles.Count = 0 Then
    Wscript.Quit
End If
' if our secure drive is not mounted exit the script
If Not (objFSO.DriveExists("S:")) Then
  Wscript.Quit
End If

For Each objFile in colFiles
  filePathAndName = "B:" & objFile.Path & objFile.FileName & "." & objFile.Extension
  'filePathAndName = objFile.Drive & objFile.Path & objFile.FileName & "." & objFile.Extension
  'Wscript.Echo filePathAndName
  If Not re.Test(filePathAndName) And Not re2.Test(filePathAndName) Then ' check if pst is in recycle.bin or in backup folder
    ' create folders if they dont exist
    If Not (objFSO.FolderExists(backupFolderPart)) Then objFSO.CreateFolder(backupFolderPart)
    If Not (objFSO.FolderExists(backupFolder)) Then objFSO.CreateFolder(backupFolder)
    'Wscript.Echo "copy " & filePathAndName & " to " & backupFolder
    objFSO.CopyFile filePathAndName , backupFolder, OverwriteExisting
  End If
'Wscript.Echo objFile.FileSize
Next

 

Um alle PST Dateien auf C: zu sichern wird der folgender Befehl ausgeführt:
vscsc.exe -exec=script_c.bat C:

Für Laufwerk S:
vscsc.exe -exec=script_s.bat S:

Nachtrag:
Ich wollte auch für das Laufwerk S: eine Shadow Copy anlegen. Es handelt sich dabei aber um ein Truecrypt Container und das ist von TrueCrypt nicht unterstützt. Ich zitiere aus der TrueCrypt „Known Issues & Limitations“:

The Windows Volume Shadow Copy Service is currently supported only for partitions within the key scope of active system encryption (e.g. a system partition encrypted by TrueCrypt, or a non-system partition located on a system drive encrypted by TrueCrypt, mounted when the encrypted operating system is running). Note: For other types of volumes, the Volume Shadow Copy Service is not supported because the documentation for the necessary API is not available.

mysqlimport und die fehlende SET Option

Da ich erst letztens aus einer Datenbank eine Tabelle extrahieren wollte und in eine Andere übertragen, dies aber nicht auf dem direkten Weg ging, musste ich einen Umweg über eine batch Datei nehmen.
Wäre der MySQL Server und die exportierte Tabelle auf dem gleichen Rechern, hätte ich den „LOAD DATA INFILE“ verwendet.
Da dem nicht so war verwendete ich das mysqlimport Programm. Dort fehlt aber leider der SET Befehl für das parsen der Datumswerte.
Nach längerem verwirrtem Suchen fand ich eine Lösung.

Die Zeile lautet nun folgendermaßen:


c:\mysqlimport.exe --no-defaults --default-character-set=utf8 --local --delete -v -h 192.168.54.2 --port=3306 -u %dbuser% -p%pw% --ignore-lines=1 --fields-terminated-by="|" --lines-terminated-by="\r\n" --columns="id,MitarbeiterID,Mitarbeitername,Rollenname,Archiv,TrainingID,StatusID,Trainingsname, TerminID,@startdate,@enddate,@dummy,@dummy,@dummy,Temp,@dummy) SET StartDate = STR_TO_DATE(@startdate, '%%d.%%m.%%Y %%H:%%i:%%s'), EndDate = STR_TO_DATE(@enddate, '%%d.%%m.%%Y %%H:%%i:%%s'" %dbname% c:\mitarbeiter_trainings.txt

Wie oben auf der Seite steht, muss der SET Befehl in die –columns eingeflochten werden. Dabei beachten, die Spaltennamenangabe mit einem „)“ zu beenden und am Ende der –columns Angabe die abschließende Klammer weglassen. Nur noch das Prozentzeichen mit ebensolchem escapen und schon funktionierte alles wie gewollt.

Abhilfe für geringfügige Abneigung gegen Flash

Bin froh auf das Skript ViewTube gestoßen zu sein.
Dieses erlaubt auf vielen Videoseiten das schauen der Filme ohne Flash und erlaubt den Einsatz des browserinternen HTML5 Videoplayers oder eines Videoplugins wie z.B. das VLC Plugin.
Auch für „nasty“ Webseiten und sonstige Streamingseiten gibt es ein Plugin namens ViewTubePlus.
Um die Skripte benutzen zu können muss ein Greasemonkey Addon installiert werden. In meinem Fall habe ich „scriptish“ für mein Firefox verwendet.

Meine liebe GeForce GTX 280 und seine wunderschönen Fehlerbilder

Eine ganze Weile atte ich meine Grafikkarte ohne Probleme in Benutzung. Nur dann kam ein blöder Einfall von mir die GPU doch mal für cgminer zu benützen. Nach 2 Tagen habe ich mein PC heruntergefahren und am nächsten Tag kamen diese wunderschönen Bilder (siehe unten) beim hochfahren. War wohl ein wenig zuviel Belastung ^^.
Nun muss ich mindestens ein Powercycle jeden Tag machen, um die Kiste ohne diese Grafikfehler bedienen zu können. Es hilft den PC beim Bootbildschirm ein wenig zu pausieren und dem Chip eine Weile zum aufwärmen zu geben. Nach ca. 6 Minuten kann ich fortfahren und mir diese Kunstwerke anschauen. Ein Powercycle hilft meistens, manchmal müssen es mehr sein, damit ich normal in mein Ubuntu komme.
Es lohnt noch zu erwähnen, dass diese Farbenpracht beim Versuch entsteht, lightdm zu starten.

Verschiedene Webradios nach x Tagen durchwechseln

Da ich gerne auch lokal die Musik habe, die auf dem von mir gekauften Radiostream läuft lass ich ein Skript laufen, dass nach 2 Tagen rippen zur nächsten Station wechselt und wiederum 2 Tage rippt. Sind alle Stationen durch wird von vorne begonnen. Wird dem Skript als Argument eines der Stichworte für ein bestimmtes Radio übergeben, fängt das rippen bei diesem Radio an.

Hier das Skript:

<pre>#!/bin/bash
DI_FM_FOLDER=/path/to/folder

if [ ! -z "$1" ]; then
        STREAM_TO_PLAY=$1
fi

function startRipping {
        # kill the running streamripper
        killall streamripper
        # lets safe the unix epoch time when the recording starts
        # we use that for calculating how long the webradio recording is running
        STARTTIME=`date +%s`
        echo "currently ripping $1"
        $DI_FM_FOLDER/$1.sh
        # as long as the startdate is greater than the current date minus 2 days the stream is executed
        while true; do
                if [ ! $STARTTIME -ge $(date +%s -d "-2 days") ];then
                        break;
                fi
                sleep 1
        done
}

# if the for loop inside the while exits, it starts again at the beginning (aka endless loop)
while true; do
        # process all the streams 2 days each
        for i in liquid progressive techno minimal psychill chillout trance goa; do
                # if this script is started with an argument, the var $STREAM_TO_PLAY is not empty and it will start
                # the ripping cicle with that stream and skips the ones before it. if it's started at the right point
                # it will set the $STREAM_TO_PLAY far to a empty string and normal ripping can proceed.
                if [ ! -z $STREAM_TO_PLAY ]; then
                        if [ $i == $STREAM_TO_PLAY ];then
                                startRipping $i
                                unset STREAM_TO_PLAY
                        fi
                else
                        startRipping $i
                fi
        done
done</pre>

Im startRipping ist dann nur eine case Kontrollstruktur für jeden einzelnen Radiostream und die jeweilige Radio-IP.

Probleme mit BOM bei Kile und PDFLaTeX

Ich kann leider nicht mehr nachvollziehen warum der Fehler auftauchte. Auf jedenfall wurde immer ein Fehler mit „Missing \begin{document}“ und einem Zeichen, das so aussah „�“, ausgegeben.
Ich hatte bei Kile eingestellt, dass er das Unicode BOM (Byte Order Mark) hinzufügen soll. Anscheinend kann PDFLaTeX das nicht.
Seltsamerweise funktioniert das Kompilieren bei nochmaligen Anlegen der Dateien mit BOM…
Naja, auf jedenfall habe ich die Version ohne BOM behalten. Um die ersten 3 Bytes aus der Datei zu entfernen kann man wunderbar „dd“ benützen.

Dateikopf vorher:

hexdump -C test.tex 
00000000  ef bb bf 25 20 2b 2b 2b  2b 2b 2b 2b 2b 2b 2b 2b  |...% +++++++++++|

Hier mit „ef bb bf“ zu sehen ist der BOM.

Mit „dd“ enfernen:

dd if=test.tex of=test2.tex skip=3 bs=1

Dateikopf nachher:

hexdump -C test2.tex 
00000000  25 20 2b 2b 2b 2b 2b 2b  2b 2b 2b 2b 2b 2b 2b 2b  |% ++++++++++++++|

Alles wunderbar, weitermachen :).

Nachtrag:
Außerdem ist jetzt der „Fehler“ weg, dass die erste Seite des PDF Dokuments immer leer ist. Habe schon danach gegoogelt und Andere mit ähnlichen „Problemen“ gesehen. Vielleicht hilft’s dem Einen oder Anderen weiter?

dvb-t streaming unter Linux

Wenn der Stream einer öffentlichen Medienanstalt mal nicht so recht möchte und es noch einige Mitmenschen im selben Netz gibt, die gerne Fußball schauen würden, kann man mit vlc oder dvblast wunderbar streamen. Ich benutze dafür ein Ubuntu.

Gebraucht werden die Programme (dvblast || vlc) & dvb-apps
Also

apt-get install dvblast dvb-apps

eingeben und installieren. Oder noch den VLC… wenn er nicht sowieso schon installiert ist ;).

Meinereiner benützt einen dvb-t Stick und ist lokalisiert in Bayern.
Ich muss also die Konfigurationsdatei für Bayern nehmen. Fertige Dateien gibt es auch im ubuntuusers Wiki

scan /usr/share/dvb/dvb-t/de-Bayern > channels.conf

Unter dem Pfad /usr/share/dvb/dvb-t/ gibt es noch andere Dateien, je nachdem wo man lokalisiert ist.

Die enstandene channels.conf Datei braucht ihr um die Frequenz und Programminformationen zu erhalten, die ihr bei VLC oder dvblast angeben müsst.


ZDF:<strong>586000000</strong>:INVERSION_AUTO:<strong>BANDWIDTH_8_MHZ</strong>:FEC_2_3:FEC_1_2: <strong>QAM_16</strong>:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:<strong>545</strong>:546:<strong>514</strong>
3sat:<strong>586000000</strong>:INVERSION_AUTO:<strong>BANDWIDTH_8_MHZ</strong>:FEC_2_3:FEC_1_2: <strong>QAM_16</strong>:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:<strong>561</strong>:562:<strong>515</strong>

Die fett markierten Stellen sind die für uns relevanten Informationen. Bei den Befehlen habe ich die Informationen für das ZDF eingetragen.
VLC:
Für lokale Wiedergabe mit der eigenen IP:

<blockquote>cvlc dvb:// :dvb-inversion=2 :dvb-bandwidth=8 :dvb-fec=2 :dvb-fec=1 :dvb-modulation=16 :dvb-transmission=8 :dvb-guard=4 :dvb-hierarchy=-1 :program=514 :dvb-frequency=586000000 :dvb-srate=545 --sout '#transcode {vcodec=h264,acodec=mp3,samplerate=44100, deinterlace}:std{access=http,mux=ffmpeg{mux=flv},dst=0.0.0.0:8081/stream.flv}'
</blockquote>

Für Wiedergabe über eine Multicast Adresse (hat den Vorteil, dass wenig Traffic ensteht und auch bei vielen gleichzeitigen streams kein Problem entsteht):
<blockquote>cvlc dvb:// :dvb-inversion=2 :dvb-bandwidth=8 :dvb-fec=2 :dvb-fec=9 :dvb-modulation=16 :dvb-transmission=8 :dvb-guard=4 :dvb-hierarchy=-1 :program=514 :dvb-frequency=586000000 :dvb-srate=545 --sout '#transcode {vcodec=h264,acodec=mp3,samplerate=44100, deinterlace}:rtp{mux=ts,dst=239.255.1.1,port=8081}'</blockquote>

dvblast:
Erstellt eine Konfigurationsdatei und schreibt dort z.B. rein:

;ZDF
239.255.1.1:8081  1  514

Theoretisch könnt ihr da den ganzen Multiplex einfügen, die Programme müssen nur im gleichen Frequenzbereich sein. In diesem Beispiel also 586000000.

dvblast -a 0 -c multiplex.conf -f 586000000 -m qam_16 -b 8 -e

( -a 0 ist der erste dvb-t Adapter | -f ist die Frequenz | -m die Modulation, die in der channels.conf steht | -b die Bandbreite, die in der channels.conf steht | -e überträgt den Programmführer )

Schlussendlich:
Aufrufbar dann mit Player nach Wahl der Streams abspielen kann. Meinereiner benützt dafür den VLC.
http://lokaleIP:8083/stream.flv oder bei der Multicastadresse rtp://239.255.1.1:8081 in den Player eingeben und schon kann’s losgehen.