Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Próbuję nagrywać materiał TV przy pomocy takiego polecenia:
mencoder -tv device=/dev/video0:driver=v4l2:width=768:height=576:fps=25:normid=5 tv://SR2 -vf pp=de -oac mp3lame -lameopts cbr:br=128 -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=900 -ffourcc XVID -o tv.avi
Wszystko jest ok. z wyjątkiem dźwięku, który co prawda się nagrywa, ale w złej jakości (są piski). Zmiana parametrów kodeka mp3lame nie przynosi rezultatu, podobnie jak wykozrystanie opcji -oac copy. Podejrzewam, że jest jakiś problem z poprawnym identyfikowaniem źródła dźwięku?
Ostatnio edytowany przez Akkon (2009-05-29 20:01:49)
Offline
Tu nie masz wcale źródła dźwięku zdefiniowanego.
Możesz spróbować z oss albo alsy
Musisz dodać do składni parametrów karty tv
alsa:adevice=default
dla alsy
Bądź
adevice=/dev/dsp
dla oss
U mnie lepiej sprawdza się oss.
Np:
mencoder -quiet tv:// -tv device=/dev/video0:driver=v4l2:outfmt=yuy2:normid=5:fps=25:width=768:height=578:brightness=20:contrast=0:saturation=100:freq=711.600:fps=25:audiorate=48000:amode=0:adevice=/dev/dsp:forceaudio -vf scale=640:480,pp=lb -ffourcc XVID -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=2000:keyint=250 -oac mp3lame -lameopts cbr:br=128:vol=1:mode=0 -o /home/adam/XDTV/tvp1_`date "+%s"`.avi
Lub
mencoder tv:// -tv device=/dev/video0:driver=v4l2:outfmt=yuy2:normid=5:fps=25:width=768:height=578:brightness=20:contrast=0:saturation=100:freq=775.600:fps=25:audiorate=48000:alsa:adevice=default -vf scale=640:480,pp=lb -ffourcc DX50 -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=2000:keyint=250 -oac mp3lame -lameopts cbr:br=128:mode=0 -o /home/adam/XDTV/polsat_`date "+%s"`.avi
Offline
Jak zwykle strzał w dziesiątkę :) Dodanie
alsa:adevice=default
załatwiło sprawę. Całe polecenie wygląda teraz tak:
mencoder -tv device=/dev/video0:driver=v4l2:alsa:adevice=default:width=768:height=576:fps=25:normid=5 tv://SR2 -vf pp=de -oac mp3lame -lameopts cbr:br=128 -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=900 -ffourcc XVID -o tv.avi
Mam jeszcze dodatkowe pytanie. W jaki sposób najlepiej przerwać proces nagrywania? Ja w tej chwil robię to wykorzystując kombinacje klawiszy ctrl+c.
Offline
Jest kilka sposobów ten który używasz jest najszybszy.
Innym było by killall mencoder albo dodanie opcji endpos aby nagrać określony czas
Podpowiem Ci gdybyś chcial za pomoca mencodera z crona nagrywać.
Warto dodać opcję -quiet nie ma wtedy logów na konsoli.
Inaczej moze się wywalac jak nie przekierujesz logów do /dev/null
Offline
Dzięki. Mam jeszcze dwa pytanka. Domyślnie mencoder podczas nagrywania nie wyświetla obrazu, ale dźwięk słychać. Czy można ustawić tak by:
1. wyświetlała również obraz (czyli nagrywanie podczas oglądania)
2. nie odtwarza dźwięku (ciche nagrywanie)
Offline
Add1 W mencoderze nie ma takiej możliwości.
Add2 Pewnie dalo by się zmutować (wyciszyć) wyjscie na głośniki dodajac polecenie dla amixera do składni.
(W kartach tv które nie są połaczone kabelkien z kartą dzwiękowa nie slychać dźwięku)
Ale to razej nie ma sensu.Lepiej ręcznie sciszyć.
Offline
Ad1. mozesz odtwarzac zapisywany plik lub uzyc do nagrywania np VLC ...
Offline
Vlc z tymi kartami (cx88xx) niezbyt sobie radzi.
Offline
illin mógłbyś podrzucić ustawienia kodeka xvid jakie używasz? Druga sprawa, wszystkie podawane tutaj polecenia od razu kompresują materiał tv. Ciekawi mnie jednak możliwość nagrywania nieskompresowanego materiału i jego późniejszej kompresji. Masz doświadczenia w tym względzie?
Z góry dzięki
Offline
Do nagrywania nie uzywam xvida dlatego ze jest on znacznie wolniejszy od kodeków lavc i potrzebuje przez to więcej mocy procesora.
Wolę nagrać lavcem przy większym bitrate (większy plik) potem przekodować na spokojnie juz xvidem gdzie nie musi iśc to juz realtime.
Jeśli chodzi o nagrywanie bez kompresji to sam spróbuj.Ustaw ( -ovc copy -oac copy ). Obawiam się ze pliki będą kosmiczne i nie wiadomo czy dysk wyrobi.
Offline
ilin napisał(-a):
Ustaw ( -ovc copy -oac copy ). Obawiam się ze pliki będą kosmiczne i nie wiadomo czy dysk wyrobi.
Tego się właśnie obawiam. A może kodek
raw - uncompressed video.
?
Cały czas dążę do zoptmalizowania parametrów mencoder w ten sposób, by uzyskać możliwe najlepszą jakość i płynność nagrywanego materiału.
Offline
Wątpię czy tak choć nie próbowałem.
Najlepszą jakośc w stosunku do plynnośći (czyli obciążenia procesora bo to powoduje zrywanie plynności) uzyskasz chyba lavcem przy maksymalnie dużym bitrate.
Popatrz sobie w terminal przy nagrywaniu czy gubi klatki.Wg tego dopasuj parametry.
Offline
ilin napisał(-a):
Najlepszą jakośc w stosunku do plynnośći (czyli obciążenia procesora bo to powoduje zrywanie plynności) uzyskasz chyba lavcem przy maksymalnie dużym bitrate.
Popatrz sobie w terminal przy nagrywaniu czy gubi klatki.Wg tego dopasuj parametry.
A ja myślałem, że mniejszy jest w tym przypadku lepszy dla procesora i ogólnie płynności? Koduję z reguły przy bitrate 1500 i jakość obrazu jest ok., ale jak już kiedyś pisałem, co jakiś czas zdarza się delikatne przycięcie odtwarzanego obrazu (zgubione klatki?), dlatego zastanawiam się nad alternatywnymi wariantami.
Offline
Ja koduję przy 2000 a mam słabszego kompa.
Jaką rozdzielczość stosujesz ?
Offline
width=768:height=578
lub
width=680:height=480:
Popróbuję z wyższym bitrate.
PS. Paczki mencodera z Debiana na Mincie nie udało mi się zainstalować ze względu na "piekło zależności"
Offline
Ja ostatnio używałem 512:384 ale mam słabszego kompa.
Możesz jeszcze sprawdzić nie kompresując dźwięku jak będzie z płynnością. (-oac copy)
Akkon napisał(-a):
PS. Paczki mencodera z Debiana na Mincie nie udało mi się zainstalować ze względu na "piekło zależności"
Bo masz minta opartego na ubuntu.
W LMDE czyli mincie opartym na debianie z pewnością nie ma tego problemu :)
Offline
Modyfikacje bitrate i innymi opcjami kodeka nic nie dały, ale już wiem co jest przyczyną. Poszperałem w sieci i okazło się, że podobne problemy zdarzają się innym:
http://www.mandrivalinux.eu/showthread.php?t=329285
Usunięcie opcji
alsa:adevice=default:forceaudio:
rozwiązało sprawę, tyle tylko, że na Lennym znowu są piski. W ten sposób znowu jestem w punkcie wyjścia :-/
Offline
Mój skrypt do nagrywania z parametrami dvd
#!/bin/bash
amixer set 'Line in' 94% on & amixer set 'CAPTURE feedback' 90% on\
& mencoder tv:// -tv device=/dev/video0:driver=v4l2:outfmt=yuy2:normid=5:fps=25:width=768:height=578:brightness=20:contrast=0:saturation=100:freq=711.600:fps=25:audiorate=48000:amode=1:alsa:adevice=default -vf pp=de -of mpeg -mpegopts format=dvd -srate 48000 -ofps 25 -ovc lavc -oac lavc -lavcopts vcodec=mpeg2video:vrc_buf_size=1835:keyint=15:vrc_maxrate=9800:vbitrate=2000:aspect=4/3:acodec=ac3:abitrate=192 -vf scale=720:576 -o /home/adam/tvp1_`date "+%s"`.mpg
Zanaczam że są w nim zawarte moje ustawienia mixera audio oraz konkretny kanal telewizyjny(lekko odstrojony 51)
Offline
Znalazłem rozwiązanie. Należało zmienić audiorate na 48000. Ponoć niektóre karty dźwiękowe tak własnie mają, że na standardowym audiorate dźwięk nagrywa się zniekształcony. Poniżej prawidłowe przykładowe polecenie:
mencoder tv://R6 -tv device=/dev/video0:driver=v4l2:width=680:height=480:brightness=20:contrast=0:saturation=100:normid=5:fps=25:audiorate=48000 -oac mp3lame -lameopts fast:preset=standard -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=2000 -ffourcc XVID -o t.avi
Offline