[+] Mencoder- kiepska jako

Tematy związane z oprogramowaniem, instalacją, konfiguracją
bolo
Beginner
Posty: 233
Rejestracja: 17 lutego 2008, 14:47

Post autor: bolo »

ilin pisze:Przekopiuj skladnie dokladnie a nie obcinaj to nie będzie błędow. :mrgreen:
Nie obcinam, nie denerwuj się, kopiuję Twoje polecenie z tego topika (w całości!) i cały czas jest błąd. Pewnie masz rację, że w składni.

Kod: Zaznacz cały

~$ mencoder MOVIE.VRO  -oac copy -aid 1 -ovc lavc -ofps 25 -ffourcc DX50 -lavcopts threads=2:vcodec=mpeg4:trell:mbd=2:sc_threshold=1000000000:cgop:vbitrate=826:aspect=4/3:vpass=1 
MEncoder dev-SVN-r26940 (C) 2000-2008 MPlayer Team
CPU: Intel(R) Pentium(R) Dual  CPU  T2370  @ 1.73GHz (Family: 6, Model: 15, Stepping: 13)
CPUflags: Type: 6 MMX: 1 MMX2: 1 3DNow: 0 3DNow2: 0 SSE: 1 SSE2: 1
Compiled with runtime CPU detection.

Exiting... (No output file specified, please see the -o option.)
marek@debian:~$ -o /dev/null ]
Wklejenie w konsolę pomimo skopiowania (bez kombinacji) [b]całego[/b] Twojego polecenia daje od razu taki rezultat. Powtarzam samo wklejenie w konsolę. Spróbuj odpalić to na swoim lapku jeżeli pójdzie, to znaczy nie ma błędu składni lecz przyczyna tkwi gdzieś po mojej stronie.  :mrgreen:
Awatar użytkownika
ilin
Senior Member
Posty: 2292
Rejestracja: 26 sierpnia 2007, 11:54
Lokalizacja: PRLu

Post autor: ilin »

Nawet błedy Ci wypisuje

Dajesz tak

Kod: Zaznacz cały

mencoder MOVIE.VRO  -oac copy -aid 1 -ovc lavc -ofps 25 -ffourcc DX50 -lavcopts threads=2:vcodec=mpeg4:trell:mbd=2:sc_threshold=1000000000:cgop:vbitrate=826:aspect=4/3:vpass=1
a w pierwszej części mojego polecenia jest tak

Kod: Zaznacz cały

mencoder MOVIE.VRO  -oac copy -aid 1 -ovc lavc -ofps 25 -ffourcc DX50 -lavcopts threads=2:vcodec=mpeg4:trell:mbd=2:sc_threshold=1000000000:cgop:vbitrate=826:aspect=4/3:vpass=1 
-o /dev/null 
Napisalo

Kod: Zaznacz cały

(No output file specified, please see the -o option.)
Nie sprecyzowano pliku wyjściowego (wyjscia w tym przypadku /dev/null)

To dotyczy pierwszego przebiegu.

Najlepiej przekopiuj sobie całe moje polecenie do pliku tekstowego bo z tagów źle sie czyta predzej zauważysz błedy.
bolo
Beginner
Posty: 233
Rejestracja: 17 lutego 2008, 14:47

Post autor: bolo »

Z tagów czyta dobrze. Próbowałem nawet wypisywać ręcznie w edytorze tekstu, według Twojego wzoru, i to nie pomaga. Nie jestem pewien czy tak powinno być, tzn. występuje podwójna spacja na samym początku:

Kod: Zaznacz cały

MOVIE.VRO  -oac
Pisząc z jedną spacją wychodzi to:

Kod: Zaznacz cały

:~$ mencoder MOVIE.VRO -oac copy -aid 1 -ovc lavc -ofps 25 -ffourc DX50 -lavcopts threads=2:vcodec=mpeg4:trell:mbd=2:sc_threshold=1000000000:cgop:vbitrate=830:aspect=4/3:vpass=1 -o /dev/null
MEncoder dev-SVN-r26940 (C) 2000-2008 MPlayer Team
CPU: Intel(R) Pentium(R) Dual  CPU  T2370  @ 1.73GHz (Family: 6, Model: 15, Stepping: 13)
CPUflags: Type: 6 MMX: 1 MMX2: 1 3DNow: 0 3DNow2: 0 SSE: 1 SSE2: 1
Compiled with runtime CPU detection.
-ffourc is not an MEncoder option

Exiting... (error parsing command line)
Dlaczego -ffourc nie jest opcją Mencodera?
Awatar użytkownika
ilin
Senior Member
Posty: 2292
Rejestracja: 26 sierpnia 2007, 11:54
Lokalizacja: PRLu

Post autor: ilin »

Jak nie urok to biegunka.

W opcji -ffourcc barakuje jednego c i Ciebia :mrgreen:

Tak ma być pierwszy przebieg.

Kod: Zaznacz cały

mencoder MOVIE.VRO -oac copy -aid 1 -ovc lavc -ofps 25 -ffourcc DX50 -lavcopts threads=2:vcodec=mpeg4:trell:mbd=2:sc_threshold=1000000000:cgop:vbitrate=826:aspect=4/3:vpass=1 -o /dev/null
bolo
Beginner
Posty: 233
Rejestracja: 17 lutego 2008, 14:47

Post autor: bolo »

Teraz jest dobrze! :-) Nareszcie wyjaśniona kwestia składni polecenia. Swoją drogą konsola to znakomite narzędzie tylko nie toleruje najmniejszego błędu. Głupia literówka i wszystko się chrzani.
Wracając do tematu kodowania, właśnie zrobiłem próbę z opcją -endpos i wideo wyszło dobrej jakości natomiast brak jest audio,? Może brak fonii jest wynikiem błędu składni dotyczący jej kodowania? Robiłem według tego schematu:

Kod: Zaznacz cały

mencoder VR_MOVIE.VRO -endpos 120 -oac copy -aid 1 -ovc lavc -ofps 25 -ffourcc DX50 -lavcopts  threads=2:vcodec=mpeg4:trell:mbd=2:sc_threshold=1000000000:cgop:vbitrate=900:aspect=4/3:vpass=1 -o /dev/null ; mencoder  VR_MOVIE.VRO -endpos 120 -oac copy -aid 1 -ovc lavc -ofps 25 -ffourcc DX50 -lavcopts threads=2:vcodec=mpeg4:trell:mbd=2:sc_threshold=1000000000:cgop:vbitrate=900:aspect=4/3:vpass=2 -oac mp3lame -lameopts cbr:br=96 -o film.avi
Następnie kodowałem ponownie już bez opcji endpos i niestety brak dźwięku w pliku wyjściowym. Konsola daje to:

Kod: Zaznacz cały

Too many video packets in the buffer: (4096 in 8263195 bytes).
Maybe you are playing a non-interleaved stream/file or the codec failed?
For AVI files, try to force non-interleaved mode with the -ni option.
MPEG: No audio stream found -> no sound.
VIDEO:  MPEG2  720x576  (aspect 2)  25.000 fps  4505.6 kbps (563.2 kbyte/s)
[V] filefmt:2  fourcc:0x10000002  size:720x576  fps:25.000  ftime:=0.0400
Opening video filter: [expand osd=1]
Expand: -1 x -1, -1 ; -1, osd: 1, aspect: 0.000000, round: 1
Może Tobie łatwiej zorientować się w poprawności składni dotyczącej dźwięku?


Moja nagrywarka ma opcję najwyższej jakości nagrywania z prędkością 8Mb/s. Obraz jest rzeczywiście super, ale pełnometrażowy film zajmuje ~7GB. Aby to nagrać na DVD trzeba podzielić na dwie części, to nie problem, ale jak skleić je ponownie do kupy, przy założeniu dalszej konwersji divx Mencoderem? Czy Mencoder dysponuje taką funkcją, a może Avidemux ?
Awatar użytkownika
ilin
Senior Member
Posty: 2292
Rejestracja: 26 sierpnia 2007, 11:54
Lokalizacja: PRLu

Post autor: ilin »

Probkę pięciominutową stworzysz

Kod: Zaznacz cały

mencoder film.x -endpos 00:05:00 -ovc copy -oac copy -o Film5min.x
Drugą część pytania nie do końca rozumiem.

Zakładam ze aby zdjąć film z nagrywarki do kompa używasz plyt (nie ma innego sposobu?)

Jeśli podzielisz na dwie części to mozesz mencoderem obrobić je oddzielnie(muszą mieć identyczne parametry ,tym samym poleceniem je przekodować)

Potem połączysz.

Kod: Zaznacz cały

mencoder -idx 1.avi 2.avi -ovc copy -oac copy -o Film_połaczony.avi
bolo
Beginner
Posty: 233
Rejestracja: 17 lutego 2008, 14:47

Post autor: bolo »

ilin pisze:Probkę pięciominutową stworzysz

Kod: Zaznacz cały

mencoder film.x -endpos 00:05:00 -ovc copy -oac copy -o Film5min.x
Dobrze, ale po co mi kopia ja chcę mieć próbkę kodowania dlatego zastosowałem docelowe polecenie z opcją endpos.
Drugą część pytania nie do końca rozumiem.
Jednak prawidłowo zrozumiałeś! O to co napisałeś dalej właśnie pytałem. :-D
Filmy z nagrywarki przerzucam przy pomocy płyty DVD.

Proszę spójrz jeszcze raz na składnię dotyczącą audio, bo jednak nie znajduje streamu audio. W poprzednim topiku dałem fragment logu konsoli przy kodowaniu już bez opcji endpos. Teraz daję listę dostęp[nych kodeków audio:

Kod: Zaznacz cały

:~$ mencoder -oac help
MEncoder dev-SVN-r26940 (C) 2000-2008 MPlayer Team
CPU: Intel(R) Pentium(R) Dual  CPU  T2370  @ 1.73GHz (Family: 6, Model: 15, Stepping: 13)
CPUflags: Type: 6 MMX: 1 MMX2: 1 3DNow: 0 3DNow2: 0 SSE: 1 SSE2: 1
Compiled with runtime CPU detection.

Available codecs:
   copy     - frame copy, without re-encoding (useful for AC3)
   pcm      - uncompressed PCM audio
   mp3lame  - cbr/abr/vbr MP3 using libmp3lame
   lavc     - FFmpeg audio encoder (MP2, AC3, ...)
   twolame  - Twolame MP2 audio encoder
   faac     - FAAC AAC audio encoder
Awatar użytkownika
ilin
Senior Member
Posty: 2292
Rejestracja: 26 sierpnia 2007, 11:54
Lokalizacja: PRLu

Post autor: ilin »

Kod: Zaznacz cały

Dobrze, ale po co mi kopia ja chcę mieć próbkę kodowania dlatego zastosowałem docelowe polecenie z opcją endpos
Abyś na tym pieciominutowym kawalku mógł potestować różne polecenia i wybrać takie ktore będzie dla Ciebie najbardziej odpowiednie.




W składni jest bład.

Dwa razy jest ujete audio najpierw

Kod: Zaznacz cały

-oac copy 
i w tym samym poleceniu

Kod: Zaznacz cały

-oac mp3lame -lameopts cbr:br=96 
-oac output audio codec czyli wyjscie na kodek audio.

Mencoder dostał podwójne polecenie i kazał się pocałować w Dxxx :D
bolo
Beginner
Posty: 233
Rejestracja: 17 lutego 2008, 14:47

Post autor: bolo »

ilin pisze: W składni jest bład.
Dwa razy jest ujete audio najpierw

Kod: Zaznacz cały

-oac copy 
i w tym samym poleceniu

Kod: Zaznacz cały

-oac mp3lame -lameopts cbr:br=96 
-oac output audio codec czyli wyjscie na kodek audio.
Mencoder dostał podwójne polecenie i kazał się pocałować w Dxxx :D
Rzeczywiście a ja tego nie dostrzegłem. Już poprawione! Ostatecznie ma mieć taką składnię:

Kod: Zaznacz cały

mencoder MOVIE.VRO -oac copy -aid 1 -ovc lavc -ofps 25 -ffourcc DX50 -lavcopts  threads=2:vcodec=mpeg4:trell:mbd=2:sc_threshold=1000000000:cgop:vbitrate=900:aspect=4/3:vpass=1 -o /dev/null ]


Ponieważ z bólami lecz wreszcie ustalona została poprawna wersja finalna dla polecenia kodowania przy użyciu kodeka libavcodec, dodatkowo z użyciem współczynnika uruchamiającego moc obliczeniową obu procesorów (jak w moim przypadku), mógłbym powiedzieć już pas. Nie wszystko jednak jest dla mnie jasne z tymi opcjami mencodera. Czytałem man mencoder i zwątpiłem czy rzeczywiście opcja threads=2 włącza do pracy oba procesory? Z tej definicji nie bardzo to wiadomo:
[code]threads=<1-8>
              Maksymalna  liczba użytych wątków (domyślnie: 1).  Może mieć de-
              likatnie negatywny wpływ na przewidywanie ruchu.

threads=<1-4>
              Dzieli  każdą klatkę na paski i koduje je równolegle (domyślnie:
              1).  Pozwala też na wielowątkowe dekodowanie  jeśli  dekoder  to
              umożliwia  (lavc  nie).  Lekko zmniejsza kompresję.  Wymaga żeby
              libx264 była skompilowana z obsługą pthread; jeśli tak nie  jest
              opcja   ta   wyświetli   ostrzeżenie  i  włączy  paski  ale  nie
              wielowątkowość.
Poza tym nie znalazłem w manualu objaśnienia dla aid 1. Możesz napisać na co ta opcja jeśli występuje ona w pierwszym przebiegu, gdzie stream audio jest wyłącznie kopiowany?
Awatar użytkownika
ilin
Senior Member
Posty: 2292
Rejestracja: 26 sierpnia 2007, 11:54
Lokalizacja: PRLu

Post autor: ilin »

To aid mozesz wywalić calkiem pojdzie i bez tego.

Co do threads nie analizowalem tego.
Zaczerpnąlem to z jakiejś nakladki.
Porownałem procesy przy zaznaczonej wieloprocesorowości i nie zaznaczonej.
Rózniły się właśnie tym.

Tu tez masz porównanie
http://forum.slysoft.com/showthread.php?t=12678
ODPOWIEDZ