Journal transcode / mencoder

Posté par  (site web personnel) .
Étiquettes :
0
22
oct.
2003
Ca fait plusieurs fois que j'essai de faire un script qui prend des mpg tout gros et qui en fait des xvid (plus petit). Il se trouve que j'ai trouvé un tel script pour transcode, mais mes mpg ne lui plaisent pas on dirait (je sais pas pkoi, mais les différentes passes ne sortent _rien_), alors qu'avec mplayer ca a l'air de marcher. En fait, j'avais reussi a faire un tel script a l'aide de doc sur le net, mais apres un leger probleme (comprendre que j'ai perdu le script), ben j'ai jamais reussi a le refaire. La doc sur le site de mplayer est morte (404), et je pense ce script assez con, donc si qq1 sait comment faire, je suis preneur =)
J'ai tenté gmencoder mais il me sort des erreurs du type 'File not found', donc bon =)

Voila =)
  • # Re: transcode / mencoder

    Posté par  . Évalué à 1.

    La doc sur le site de mplayer est morte (404),
    tu l'as aussi dans ./main/DOCS...
  • # Re: transcode / mencoder

    Posté par  . Évalué à 1.

    Franchement un man mencoder te donnerra toutes les info necessaires...on peux pas te "chier" un script comme ca, on connais pas le bitrate que tu veux pour la video, en quoi tu veux coder le son, ect...
  • # Re: transcode / mencoder

    Posté par  . Évalué à 2.

    Voici un script fileencode que je me suis fait pour rapidement encoder en mpeg4 n'importe quel fichier lisible par mplayer, avec un minimum d'options, et en double passe.

    #!/bin/bash

    if let "$#<1" || ( let "$#==1" && [ "$1" = "-h" ] );then
    echo usage:
    echo $0 [options] input.avi output.avi
    echo '-b br video bitrate (800kb/s)'
    echo '-a br audio bitrate (64kb/s)'
    echo '-s [[hh:]mm]ss seek to given time first (begin of input)'
    echo '-e [[hh:]mm:]ss record time (end of input)'
    echo '-t width:height image size (original size)'
    echo '-c w:h:x:y crop image (no crop)'
    echo ' -t and -c and not compatible, -t has precedence over -c'
    echo '-o other other options for mencoder'
    echo 'input.avi the input file (no default)'
    echo 'output.avi the output file (no default)'
    exit
    fi

    br=800
    abr=64
    seek=0
    end=no
    taille=no
    crop=no
    other=""
    while getopts b:a:s:e:t:c:o: nom;do
    if [ $nom == "?" ];then
    exit
    fi
    case $nom in
    (b)
    br=$OPTARG
    ;;
    (a)
    abr=$OPTARG
    ;;
    (s)
    seek=$OPTARG
    ;;
    (e)
    end=$OPTARG
    ;;
    (t)
    taille=$OPTARG
    ;;
    (c)
    crop=$OPTARG
    ;;
    (o)
    other=$OPTARG
    ;;

    esac
    done

    if let "$OPTIND<=$#-1" ;then
    input=${!OPTIND}
    OPTIND=$((OPTIND+1))
    output=${!OPTIND}
    else
    echo require input and output files
    exit
    fi
    echo "br $br"
    echo "abr $abr"
    echo "seek $seek"
    echo "end $end"
    echo "size $taille"
    echo "crop $crop"
    echo "input $input"
    echo "output $output"

    endrec=""
    if [ $end != "no" ];then
    endrec=" -endpos $end"
    fi

    vop=""
    if [ $taille != "no" ];then
    vop=" -vop scale=$taille"
    elif [ $crop != "no" ];then
    vop=" -vop crop=$crop"
    fi

    mencoder "$input" -ss $seek $endrec $vop -oac mp3lame -lameopts abr:br=$abr -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=$br:vpass=1 $other -o "$output"
    mencoder "$input" -ss $seek $endrec $vop -oac mp3lame -lameopts abr:br=$abr -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=$br:vpass=2 $other -o "$output"
    • [^] # Re: transcode / mencoder

      Posté par  (site web personnel) . Évalué à 1.

      J'ai testé avec une vidéo de mon appareil photo numérique (Ixus 400)
      la vidéo c'est du MJPEG
      l'audio c'est du PCM 11024Hz 8bits mono

      : Avifile RELEASE-0.7.38-030711-10:22-gcc version 3.2.2 (Mandrake Linux 9.1 3.2.2-3mdk)
      : Available CPU flags: fpu vme de pse tsc msr pae mce cx8 sep mtrr pge mca cmov pat pse36 mmx fxsr sse
      : 1129.60 MHz Intel(R) Pentium(R) III Mobile CPU 1133MHz processor detected
      : checking: 2003-10-10 Vidéo de présentation de l'appart/mvi_0835.avi
      <AVI reader> : MainHeader: MicroSecPerFrame=66666 MaxBytesPerSec=311834
      PaddingGranularity=0 Flags=[ HAS_INDEX WAS_CAPTURED_FILE ] TotalFrames=2700
      InitialFrames=0 Streams=2 SuggestedBufferSize=20054 WxH=320x240
      Scale=0 Rate=0 Start=0 Length=0
      <AVI Reader> : WARNING: fccHandler differs from biCompression!
      <AVI reader> : StreamHeader: Type=vids Handler=MJPG Flags=[ ]
      InitialFrames=0 Scale=66666 Rate=1000000 Start=0 Length=2700
      SuggestedBufferSize=20054 Quality=10000 SampleSize=0 Rect l,r,t,b=0,320,0,240
      <AVI reader> : StreamHeader: Type=auds Handler=0x0 Flags=[ ]
      InitialFrames=0 Scale=1 Rate=11024 Start=0 Length=1984320
      SuggestedBufferSize=11024 Quality=10000 SampleSize=1 Rect l,r,t,b=0,0,0,0
      <AVI reader> : InfoChunk Software: CanonMVI01
      <AVI reader> : Reading index from offset: 34295068
      <AVI reader> : Stream 0 vids : MJPG (0x47504a4d) 2700 chunks (10.55KB)
      <AVI reader> : Stream 1 auds : PCM (0x1) 180 chunks (1.41KB)
      : Creating cache for file descriptor: 3

      mais l'audio passe pas :-(

      Audio stream: nan kbit/s (-2147483648 bps) size: 0 bytes 0,000 secs

      et il me fait plein de

      Pos: 159,3s 2652f (98%) 111fps Trem: 0min 15mb A-V:0,140 [795:0]
      Skipping frame!

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.