Stoppt die Vorratsdatenspeicherung! Jetzt klicken und handeln!Willst du auch bei der Aktion teilnehmen? Hier findest du alle relevanten Infos und Materialien:
Stoppt die Vorratsdatenspeicherung! Jetzt klicken und handeln!Willst du auch bei der Aktion teilnehmen? Hier findest du alle relevanten Infos und Materialien:

17 Juli 2015

Festplatte voll? Wegen Videos? Überführen sie ihre Videos in .h265.mp4 und die Festplatte ist fast leer!

Ihre Festplatte ist voll und Sie haben Videos drauf? Dann würde eine bessere Codierung die Videos verkleinern und Platz auf der Platte schaffen. Das ist vor allem dann wichtig, wenn man ein Laptop oder Tablet hat, wo der Tausch der Festplatte nicht oder nur mit Sachkenntnis möglich ist

Es gibt neue Verfahren der Codierung von Videos, welche Videos extrem eindampfen kann ohne das Bildqualität verloren geht. Eine klassische DVD aus einem Videorekorder kann auch 350MByte, das ist eine halbe CD, eingekocht werden. Unter Linux, das nicht den Einschränkungen des kourtauo der Softwareindustrie vor der Filmindustrie unterliegt kann man die Private Videosammlung mit dieser neuen Software extrem handlich machen. Es ist klar, das die Filmindustrie fürchtet das ihr das gleiche Passiert was in den 1990 mit der Musikindustrie passiert ist: Die physikalische Marginalisierung ihres Produkts. Man muss sich vor Augen halten, das wenn man 99¢ für den download eines Musikstück bezahlt wie es sich die Musikindustrie vorstellt, eine typische 100€ Festplatte mit 3.000.000.000.000 Byte Speicherkapazität einen Wert von einer Million Euro aufnehmen kann. Da müssten die Festplatten eigendlich in Gehäusen der Flugzeug Blackboxen geliefert werden. Aus diesem Grund wird klar, warum Apple z.B. für Videotelefonate das neue h265 verwendet, während die Verteilung von Filmen mit h264 erfolgt. Dabei wird ganz nebenbei das Internet so verstopft, das die Flatrate deals gefärdet sind und "überholspuren" für "Premium Content" durchgesetzt werden können.

Welche Programme werden gebraucht


  1. VLC version 3
  2. x265
  3. ffmpeg
  4. MP4Box
  5. perl5
  6. find


Wie vorgehen?

Die Programme können aus den Distributionen des verwendeten Linux bezogen werden. Bei konservativen Distributionen kann es nötig sein, auf spezielle repositorys mit Software die sich noch in der Entwicklung befindet zurückzugreifen. Mit dem VLC version 3 können die Videos betrachtet werden. Die anderen Programme werden verwendet, um die Konversion durchzuführen. In einem Script das unter /usr/local/bin/uhvc abgelegt wird ist Festgelegt, wie ein einzelner Film behandelt wird.


#! /usr/bin/sh
# 

qfile="$1"
sfile=`basename "$qfile"`
spath=`dirname "$qfile"`

ffmpeg 2>/dev/null -i "$1" -f yuv4mpegpipe -pix_fmt yuv420p - | \
  x265 -p slow --y4m -o "/tmp/zzz-$sfile.265" -
ffmpeg -i "$1" -vn -r 128000 "/tmp/zzz-$sfile.aac"

MP4Box -add  "/tmp/zzz-$sfile.aac" -add "/tmp/zzz-$sfile.265" "$2"

rm "/tmp/zzz-$sfile.265"
rm "/tmp/zzz-$sfile.aac"


Mit dem Befehl uhvc wird ein einzelner Film gewandelt. Will man jetzt eine Platte voller Filme umwandeln, so braucht man ein weiteres Script, welches die Festplatte nach konvertierbaren Filme durchsiht, die noch nicht umgewandelt sind. Um zu wissen welche Dateien noch nicht umgewandelt sind, werden die gewandelten Filme mit der Endung .h265.mp4 angelegt. Abgelegt wird das Script unter /usr/local/bin/uhvcd und Aufgerufen mit uhvcd .. Es werden alle Filme in dem Directory und seinen Unterdirectorys.


#! /usr/bin/perl
 
($dir) = @ARGV ;

if ($dir eq "") 
{
  $dir = "." ;
} ;

if (open(X,"find \"$dir\" -type f |"))
{
  while ($file = ) 
  {
    chop ($file) ;
    if (($file =~ m!\.((mp4)|(avi)|(mov)|(flv))$!) &&
        ($file !~ m!\.h265\.mp4$!))
    {
      $sfile=`basename "$file"` ;
      $spath=`dirname "$file"` ;
      chop ($sfile) ;
      chop ($spath) ;
      $dfile=$sfile ;
      $dfile=~s!\.[^.]*$!.h265.mp4! ;
      print "$sfile to $dfile at $spath\n" ;
      unlink "$spath/$dfile" ;
      if (0 == system ("uhvc \"$spath/$sfile\" \"$spath/$dfile\""))
      {
        print "OK\n" ;
        unlink "$spath/$sfile" ;
      } ;
    } ;
  } ;                         
  close (X) ;                    
} ;      
                                                                                                                             

Keine Kommentare: