tuner nagrywanie mencoder brak dzwięku

Grafika, film, dźwięk.
deusman
Piegowaty Guziec
Piegowaty Guziec
Posty: 13
Rejestracja: 09 lis 2007, 13:00
Płeć: Mężczyzna
Wersja Ubuntu: 9.10
Środowisko graficzne: GNOME
Architektura: x86

tuner nagrywanie mencoder brak dzwięku

Post autor: deusman »

Witam mam tuner WinFast tv2000 XP Expert

Aktualnie działa mi wszystko - tzn oglądanie pod tvtime- troche się z tym namęczyłem ale już chodzi ale pojawiła się potrzeba nagrywania

mam zwykłą kablówkę.
mam gnoma z compizem
moj aktualny stan wygląda tak:

tv time - all ok działa
mencoder - normid 1 obraz odtwarza ale nie mam dźwięku
normid 2 jest obraz i szumy zarówno przy nagrywaniu i odtwarzaniu
normid 3 to totalna porażka

jak rozumiem normalne jest ze jak nagrywam to nie widzę tego co nagrywam tylko słyszę dźwięk?

płyty gł (dzwiękowa zintegrowana) - przepiełem kabelek z dzwiękiem od wejscia CD1 i jak wycisze Cd w alsa to nie słyszałem dzwięku nawet przy nagrywaniu.

moja regulacja głośności jest tak ALSA MIXer
wyjście liniowe
wideo
aux
mikrofon
główny
PCM
słuchawki
cd - głośność całego kompa
głośnik pc.

co z tych potrzebuje wyciszyć(mute), co podgłośnić.
no i który z 3 przełączników AUX, wideo czy liniowe mam użyć??

mam wrażenie że już jestem blisko rozwiązania tego problemu ... więc liczę na wiedzę kolegów/koleżanek i pomoc w tej sprawie

komenda wygląda tak

Kod: Zaznacz cały

 mencoder tv:// -tv driver=v4l2:device=/dev/video0:input=0:normid=1:freq=487,25:outfmt=yuy2 :hue=60 alsa:forceaudio:volume=90 -oac mp3lame -lameopts cbr:br=64:ratio=10:q=4:mode=1 -ovc lavc -lavcopts vcodec=msmpeg4:vbitrate=1500:vhq -vf pp=tn/lb,scale=512:384 -endpos 00:00:30 -o output-nazwa.avi
 
frytek
Wytworny Kaczor
Wytworny Kaczor
Posty: 330
Rejestracja: 06 sty 2006, 00:03
Płeć: Mężczyzna
Wersja Ubuntu: 10.04
Środowisko graficzne: GNOME
Architektura: x86
Kontakt:

Odp: tuner nagrywanie mencoder brak dzwięku

Post autor: frytek »

1. podgląd: jak nagrywasz, to nie widzisz, to prawda.

ale, jeśli twój komp ma wystarczającą wydajność, to po uruchomieniu nagrywania, w osobnym okienku rozpoczynasz oglądanie mplayerem nagrywanego pliku. masz wtedy po prostu parę sekund poślizgu. podgląd można zatrzymywać w mplayerze spacją, ale przewijać go w tym momencie sie nie da. ja mam wcale nie wypasionego kompa z zeszłego roku z dyskiem sata i taka wydajność spokojnie wystarcza do nagrywania i oglądania w tym samym czasie.

2. problem z dźwiękiem, skoro tvtime działa, jest wyłącznie po stronie wybranego wejścia do "łapania" dźwięku (capture). włącz sobie nagrywanie.

w drugim oknie odpal odtwarzanie tego samego pliku, żebyś miał kontrolę.

i teraz w osobnej konsoli otwórz sobie alsamixer. wszystkie suwaczki daj na sensowną głośność (np. jakieś 70%). klawiszem TAB przełącz się z opcji [Playback] na [Capture] i teraz jedź strzałkami po kolei po wszystkich suwakach, które na spodzie mają znaczek "----" i każdemu na moment włączaj "capture" naciskając spację.

w momencie jak dojdziesz do właściwego suwaczka, w pliku nagranym pojawi się dźwięk, który usłyszysz. to będzie ten. :)

3. cały trick polega na tym, żeby sobie konfigurację alsy zapisać do pliku, i potem zaczytywać na moment nagrania predefiniowany capture i poziomy głośności, żeby nie musieć za każdym razem się tym bawić.

ja np. ustawiam mikser tak, żeby w momencie nagrywania głos odtwarzania z tunera tv był wyciszony do zera, przez co mogę nagrywać w tle. a że głośność nagrywania ustawia się osobno właśnie przez capture, więc jedno drugiemu nie przeszkadza. (dla podglądu głośność to będzie PCM).

a po zakończeniu nagrania, z kolejnego pliku przywracam capture do standardowego ustawienia, tzn. jako capture ustawiam mikrofon, żeby był zawsze gotowy do użytku np. ze skype.

jak sie uporasz ze znalezieniem działającego źródła capture, to ci mogę podrzucić tutaj skrypt, którego używam, m. in do programowania nagrywania z cron-a.
Awatar użytkownika
ilin
Zakręcona Traszka
Zakręcona Traszka
Posty: 793
Rejestracja: 20 lip 2007, 21:49
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: Inne
Architektura: x86_64

Odp: tuner nagrywanie mencoder brak dzwięku

Post autor: ilin »

Do nagrywania z podglądem polecam xdtv
Z moich obserwacji wynika ze nawet z podglądem pobiera mniej zasobów kompa od mencodera przy identycznych parametrach nagrywania.(wiąze się to prawdopodobnie z nieco odmienną obsługą karty tv)
deusman
Piegowaty Guziec
Piegowaty Guziec
Posty: 13
Rejestracja: 09 lis 2007, 13:00
Płeć: Mężczyzna
Wersja Ubuntu: 9.10
Środowisko graficzne: GNOME
Architektura: x86

Odp: tuner nagrywanie mencoder brak dzwięku

Post autor: deusman »

ok
dzwięk rozwiązany !!! nocka jakoś pomogła. Otworzyłem kompa przepiełem gniazdo z CD1 do AUX przestawiłem alse na AUX przechwytywanie i działa !!!

Teraz walcze żeby określić dobre freq= częstotliwości kanałów.
w /home/user/.tvtime mam stationlist.xml ale tam nie wyswietla mi częstotliwości kanałów.
Puściłem tvtime-scannera znalazł i utowrzył poniżej liste kanałów z częstotliwościami ale prawie wszystkie śnieżą. jakiś pomysł ??? czy to trzeba dostrajać ? czy jest juz taka lista gotowa może ?

No a największy problem to jak zrobić żeby nagrywanie się samo włączyło i wyłączyło.
- czy funkcja -endpos 00:02:00 określa że po 2 h nagrywanie się wyłączy? próbowałem na okresach 30 sec. i nic sobie z tego nie robi, chyba że to jakaś inna funkcja jest ? Jakieś pomysły ??
frytek
Wytworny Kaczor
Wytworny Kaczor
Posty: 330
Rejestracja: 06 sty 2006, 00:03
Płeć: Mężczyzna
Wersja Ubuntu: 10.04
Środowisko graficzne: GNOME
Architektura: x86
Kontakt:

Odp: tuner nagrywanie mencoder brak dzwięku

Post autor: frytek »

ja do nagrywania używam takiego skryptu tv-nagraj-cron. różne jego części pochodzą z kilku różnych skryptów znalezionych w necie. zmień ścieżkę usera; występuje kilka razy w tym skrypcie!

jak widzisz, nagrywam głównie kodekiem mjpeg, ale to oczywiście według uznania.

w kodeku mjpeg nagranie filmu 2.5 godziny zajmuje ok. 5.1 GB - moim zdaniem rozsądny kompromis pomiędzy wielkością, jakością a obciążeniem procka i dysku w takcie nagrywania. (potem, na spokojnie, wycinam reklamy i przekodowuję dwuprzebiegowo avidemuxem do xvid, jeśli chcę).

ustawienia miksera alsa robisz tak, że ustawiasz co trzeba, i zapisujesz do pliku poleceniem
alsactl store -f /sciezka/do/pliku i potem skrypt odczytuje je z tego samego pliku.

sposób wywołania masz podany niżej - gotową linię do wpisania w crontab -e

ale najpierw skrypt:

Kod: Zaznacz cały

#!/bin/bash
#ten batch ma startowac z crona
#z podanymi argumentami MHz, czasu itd.
if [ -z "$4" ] ; then
clear
echo "Nie podales argumentu"
echo "Komenda jest taka: `basename $0` nazwapliku czas_hh:mm:ss czestotl_MHz kodek_np_mjpeg"
exit
fi

#następna linia ustawia na dysku plik który sprawdzany jest przez
#skrypt, który mam podpięty do ikonki tv, żeby nie włączyć tvtime przez przypadek
#w trakcie, gdy trwa nagrywanie
touch /home/user/tv_lock

#ubijamy konkurencję która mogłaby akurat używać tunera
#bo nagrywanie ma mieć pierwszeństwo
killall tvtime
killall radio 
killall gradio
killall mencoder
killall arecord

#tu zaczytujemy ustawienia miksera audio pod nagrywanie
alsactl restore -f /home/user/alsactl.cfg-nagr

#zmienna short-date ma dopisać datę-godzinę do bazowej nazwy tworzonego pliku
#mamy wtedy za każdym razem inną nazwę nagrywanego pliku
#więc nic sobie nie nadpisujemy no i łatwo widać, kiedy plik powstał.
SHORT_DATE=`date +%Y`-`date +%m`-`date +%d`-`date +%H`:`date +%M`:`date %S`
FILE=$1-$SHORT_DATE
ENDPOS=$2
FREQ=$3
CODEC=$4

#główne wywołanie mencodera
mencoder tv:// -oac mp3lame \
-lameopts cbr:br=128:mode=3 \
-srate 44100 \
-tv freq=$FREQ:driver=v4l2:device=/dev/video-tv:input=0:\
width=512:height=384:\
brightness=15:contrast=-30:saturation=95:\
audiorate=96000 \
-ovc lavc \
-lavcopts vcodec=$CODEC \
-endpos $ENDPOS  \
-o /home/user/$FILE.avi

#po nagraniu zaczytujemy z powrotem podstawową konfigurację karty 
#audio z innego pliku (capture przestawiam na mikrofon, pod skype)
alsactl restore -f /home/user/alsactl.cfg-odtw

#i czyścimy blokadę włączania telewizji
rm /home/user/tv_lock

skrypt przygotowany jak wyżej wywołuję z crona np. w taki sposób:

Kod: Zaznacz cały

05 01 9 3 * /home/user/bin/tv-nagraj-cron nazwafilmu 1:45:0 503 mjpeg > /dev/null 2>&1
czyli o 1:05, 9 marca, w pliku nazwafilmu nagrywamy 1h 45 min z częstotliwości 503 MHz kodekiem mjpeg.

i jeszcze w sprawie częstotliwości. jak to w tvtime/stationlist.xml nie ma częstotliwości?
u mnie są.

Kod: Zaznacz cały

 <station name="Ale_Kino" active="1" position="1" band="Custom" channel="503,00MHz" finetune="0" norm="PAL" audio="auto"/>
"channel=503,00" to przecież właśnie częstotliwość? Masz inaczej?

oprócz tego moja kablówka na takim specjalnym kanale informacyjnym podaje rozkład kanałów. co prawda używa kryptonimów typu S1, K2, R08, ale w necie można znaleźć tabele, które podają jakie to dokładnie są częstotliwości.

wszystko to bardzo dobrze mi działa od kilku lat. :)

pozdrawiam,
deusman
Piegowaty Guziec
Piegowaty Guziec
Posty: 13
Rejestracja: 09 lis 2007, 13:00
Płeć: Mężczyzna
Wersja Ubuntu: 9.10
Środowisko graficzne: GNOME
Architektura: x86

Odp: tuner nagrywanie mencoder brak dzwięku

Post autor: deusman »

miałem lekkie problemy, np. musiałem dodać do skryptu normid=1 bo nagrywał szum zamiast dzwięku, no i do tego zmienić dev= na video0
no i w samym corntab nie wiedziałem że trzeba go przeładować i się dziwiłem że nie chodził.
do tego oczywiście uprawnienia przy pliku ze skryptem trzeba zmienić
ale to wszystko smaczki początkującego :>>

wygląda że wszystko działa więc, dzięki !
frytek
Wytworny Kaczor
Wytworny Kaczor
Posty: 330
Rejestracja: 06 sty 2006, 00:03
Płeć: Mężczyzna
Wersja Ubuntu: 10.04
Środowisko graficzne: GNOME
Architektura: x86
Kontakt:

Odp: tuner nagrywanie mencoder brak dzwięku

Post autor: frytek »

jak robisz

Kod: Zaznacz cały

crontab -e
to po wyjściu z edytora crontab sam się przeładowuje.

czyli skrypcik do nagrywania ci działa? cieszę się. ;)

p.s. jeśli chcesz zmienić edytor do crontaba, w którymś skrypcie startowym (np. .bash_profile) dopisz linię "export VISUAL=mcedit"
zuxbr
Piegowaty Guziec
Piegowaty Guziec
Posty: 17
Rejestracja: 19 cze 2007, 22:26
Płeć: Mężczyzna
Wersja Ubuntu: 8.04
Środowisko graficzne: GNOME
Kontakt:

Odp: tuner nagrywanie mencoder brak dzwięku

Post autor: zuxbr »

Pozwoliłem sobie dokonać kilku zmian. "freq" zamieniłem na "channel" (w wywołaniu mencoder -a) (tak sobie strzeliłem) i o dziwo poprostu zamiast podawać częstotliwość wpisać można kryptonim (po znaku = nie chodzi o nazwe w [ ]) kanału z np. pliku konfiguracyjnego .xawtv ,nazwy w nim sam ponadawałem urzywając motv, możliwe że u większości osób będzie się zgadzać
mój plik konfiguracyjny ".xawtv" wygląda tak :
[tvp 1]
channel = R6
capture = on

[tvp polonia]
channel = R7
capture = on

[tvp 2]
channel = R8
capture = on

[WTK]
channel = R10
capture = on

[PL RTK]
channel = R11
capture = on

[TVP poznan]
channel = R12
capture = on

[rek rad]
channel = SR6
capture = on

[ALL]
channel = SR7
capture = on

[rekl inea]
channel = SR8
capture = on

[RTL]
channel = SR13
capture = on

[TV 4]
channel = SR16
key = 4
capture = on

[PULS]
channel = SR14
capture = on

[Euro News]
channel = SR17
capture = on

[tvp kultura]
channel = SR18
capture = on

[DW-TV]
channel = SE20
capture = on

[tvn GRA]
channel = S21
capture = on

[p1]
channel = S22
capture = on

[4 fun tv]
channel = S23
capture = on

[tv5monde e]
channel = S24
capture = on

[arirang]
channel = S25
capture = on

[tel mango]
channel = S26
capture = on

[tw1]
channel = S28
capture = on

[VOX]
channel = S29
capture = on

[tvn siedem]
channel = 23
capture = on

[BBC World]
channel = 24
capture = on

[polsat]
channel = 25
capture = on

[rekla]
channel = 26
capture = on

[TRWAM]
channel = 28
capture = on

[VIVA]
channel = 29
capture = on

[SAT 1]
channel = 30
capture = on

[TVN]
channel = 31
capture = on

[tele 5]
channel = 32
capture = on

[minimini]
channel = 39
capture = on

[MTV VHR]
channel = 40
capture = on

[zone reality]
channel = 41
capture = on

[mtv polska]
channel = 42
capture = on

[mezzo]
channel = 43
capture = on

[zone europa]
channel = 44
capture = on

[discovery science]
channel = 45
capture = on

[CNN]
channel = 46
capture = on

[TVN turbo]
channel = 47
capture = on

[discovery civilization]
channel = 49
capture = on

[tvn 24]
channel = 51
capture = on

[Euro sport live]
channel = 53
capture = on

[cartoonnetwork]
channel = 54
capture = on

[tvn s]
channel = 55
capture = on

[animal planet]
channel = 56
capture = on

[tvn meteo]
channel = 57
capture = on

[ZIG ZAP]
channel = 58
capture = on

[discovery channel]
channel = 59
capture = on

[polsta sport]
channel = 60
capture = on

[travel&living]
channel = 61
capture = on

[National geographic]
channel = 62
capture = on

[Planete]
channel = 63
capture = on

[M6]
channel = S27
capture = on

[AXN]
channel = 48
a skrypcik po modyfikacji tak :
#!/bin/bash
#ten batch ma startowac z crona
#z podanymi argumentami kryptonimu kanału, czasu itd.
if [ -z "$4" ] ; then
clear
echo "Nie podales argumentu"
echo "Komenda jest taka: `basename $0` nazwapliku czas_hh:mm:ss kryptonim kanału_np_R6 kodek(np_mjpeg)"
exit
fi

#następna linia ustawia na dysku plik który sprawdzany jest przez
#skrypt, który mam podpięty do ikonki tv, żeby nie włączyć tvtime przez przypadek
#w trakcie, gdy trwa nagrywanie
touch /home/puszczyk/tv_lock

#ubijamy konkurencję która mogłaby akurat używać tunera
#bo nagrywanie ma mieć pierwszeństwo
killall tvtime
killall radio
killall gradio
killall mencoder
killall arecord
killall motv
killall xawtv
killall mplayer

#tu zaczytujemy ustawienia miksera audio pod nagrywanie
alsactl restore -f /home/puszczyk/bin/alsa-cfgnag

#zmienna short-date ma dopisać datę-godzinę do bazowej nazwy tworzonego
pliku
#mamy wtedy za każdym razem inną nazwę nagrywanego pliku
#więc nic sobie nie nadpisujemy no i łatwo widać, kiedy plik powstał.
SHORT_DATE=`date +%H`:`date +%M`:`date +%S`
FILE=$1-$SHORT_DATE
ENDPOS=$2
KAN=$3
CODEC=$4

#główne wywołanie mencodera
mencoder tv:// -oac mp3lame -lameopts cbr:br=128:mode=3 -srate 44100 -tv channel=$KAN:driver=v4l2:device=/dev/video0:input=0:normid=3:width=512:height=384:brightness=15:contrast=-30:saturation=95:audiorate=22050 -ovc lavc -lavcopts vcodec=$CODEC -endpos $ENDPOS -o /home/puszczyk/TV/$FILE.avi

#po nagraniu zaczytujemy z powrotem podstawową konfigurację karty
#audio z innego pliku (capture przestawiam na mikrofon, pod skype)
alsactl restore -f /home/puszczyk/bin/alsa-cfg

#i czyścimy blokadę włączania telewizji
rm /home/puszczyk/tv_lock
Zmieniłem zmienną FREQ na KAN żeby się nie pogugić jak kiedyś na to spojrzę :craz:
oraz audiorate ponieważ z 96000 miałem brzydkie komunikaty o gubieniu.
A kodekiem mniej obicążającym dysk(pewnie bardziej procka obciąża) jest mpeg4, przynajmniej u mnie ;p ale trzeba popróbować z innymi ;]
Ilość danych na temat daty nagrania filmu powodowała ucięcie nazwy w konsekwencji plik nie był rozpoznawany tuż po nagraniu jako film :w00t: i musiałem odwalać brudną robotę ;p (zmiane nazwy)

Wielkie dzięki frytek.
Sam bym się za pisanie skryptu nie brał, a szkielet łatwo przerobić :razz:

Edit:
Poczytałem w man o mencoder i jeżeli karta tv obsługuje kodowanie sprzętowe do mjpeg (moja to robi) można skrypt ograniczyć jeszcze bardziej : D obciążenie procka jeszcze bardziej spada i dysku też, chyba nawet możnaby z komputera z procesorem 400 Mhz jak nie mniej zrobić cyfrowy magnetowid (mój procesor ma 933Mhz a mencoder zurzywał 29% ;p) .
Rozdzielczość dodatkowo jest dostosowana automatycznie.

Kod: Zaznacz cały

#!/bin/bash
#ten batch ma startowac z crona
#z podanymi argumentami kryptonimu kanału, czasu itd.
if [ -z "$3" ] ; then
clear
echo "Nie podales argumentu"
echo "Komenda jest taka: `basename $0` nazwapliku czas_hh:mm:ss kryptonim kanału_np_R6"
exit
fi

#następna linia ustawia na dysku plik który sprawdzany jest przez
#skrypt, który mam podpięty do ikonki tv, żeby nie włączyć tvtime przez przypadek
#w trakcie, gdy trwa nagrywanie
touch /home/puszczyk/tv_lock

#ubijamy konkurencję która mogłaby akurat używać tunera
#bo nagrywanie ma mieć pierwszeństwo
killall tvtime
killall radio
killall gradio
killall mencoder
killall arecord
killall motv
killall xawtv
killall mplayer

#tu zaczytujemy ustawienia miksera audio pod nagrywanie
alsactl restore -f /home/puszczyk/bin/alsa-cfgnag

#zmienna short-date ma dopisać datę-godzinę do bazowej nazwy tworzonego pliku
#mamy wtedy za każdym razem inną nazwę nagrywanego pliku
#więc nic sobie nie nadpisujemy no i łatwo widać, kiedy plik powstał.
SHORT_DATE=`date +%H`:`date +%M`:`date +%S`
FILE=$1-$SHORT_DATE
ENDPOS=$2
KAN=$3

#główne wywołanie mencodera
mencoder tv:// -oac mp3lame -lameopts cbr:br=128:mode=3 -srate 44100 -tv channel=$KAN:driver=v4l2:device=/dev/video0:input=0:mjpeg:audiorate=22050 -ovc lavc -endpos $ENDPOS -o /home/puszczyk/TV/$FILE.avi

#po nagraniu zaczytujemy z powrotem podstawową konfigurację karty
#audio z innego pliku (capture przestawiam na mikrofon, pod skype)
alsactl restore -f /home/puszczyk/bin/alsa-cfg

#i czyścimy blokadę włączania telewizji
rm /home/puszczyk/tv_lock
frytek
Wytworny Kaczor
Wytworny Kaczor
Posty: 330
Rejestracja: 06 sty 2006, 00:03
Płeć: Mężczyzna
Wersja Ubuntu: 10.04
Środowisko graficzne: GNOME
Architektura: x86
Kontakt:

Odp: tuner nagrywanie mencoder brak dzwięku

Post autor: frytek »

no, moja karta sprzętowo nie kompresuje. mpeg4 na pewno tworzy mniejsze pliki. i być może, jeśli jest duży bitrate, jakość jest porównywalna albo nawet lepsza niż mjpeg. ale kiedyś jak robiłem testy, to mpeg4 przekonwertowane potem do divx dawało gorszą jakość, niż mjpeg przekonwertowane do divx, więc tak mi już zostało. a że te parę giga jest zajęte... mówi się trudno. ale dyski teraz mamy duże, więc zasadniczo mi to w ogóle nie przeszkadza.

a tak przy okazji kodowania/nagrywania itp: napisałem dość szczegółową instrukcję posługiwania się avidemuxem. może cię zainteresuje, bo na pewno prędzej czy później będziesz chciał przynajmniej powycinać reklamy z nagranych filmów.

opis jest tutaj: viewtopic.php?t=62309
zuxbr
Piegowaty Guziec
Piegowaty Guziec
Posty: 17
Rejestracja: 19 cze 2007, 22:26
Płeć: Mężczyzna
Wersja Ubuntu: 8.04
Środowisko graficzne: GNOME
Kontakt:

Odp: tuner nagrywanie mencoder brak dzwięku

Post autor: zuxbr »

:w00t:Dzięki wielkie napewno się przyda.
Wcześniej zaglądałem do tego programu ale nic nie jażyłem : D
asedio
Sędziwy Jeż
Sędziwy Jeż
Posty: 72
Rejestracja: 14 lip 2008, 21:57
Płeć: Mężczyzna
Wersja Ubuntu: 8.10
Środowisko graficzne: GNOME

Odp: tuner nagrywanie mencoder brak dzwięku

Post autor: asedio »

Dzięki Frytek. Ja również skorzystałem ze skryptu.
Ale u mnie zgrywanie do mjpeg kodekiem video - lavc i dzwięku - mp3lame powoduje gubienie klatek spowodowanych kodekiem mp3lame. Sprawdzone opcją noaudio.Wówczas idzie 25fps/s. Z mp3lame max to 20fps/s i to czy procek X64 4000+ pracuje na 1GHz czy na 2.1GHzczy rozdzielczosć 720x576 czy 640x480.
Zmiana kodeka audio z mp3lame na lavc rozwiązała problem i jest w tej chwili 24-25fps/s przy 720x576
Dell'e... różne ;-)
frytek
Wytworny Kaczor
Wytworny Kaczor
Posty: 330
Rejestracja: 06 sty 2006, 00:03
Płeć: Mężczyzna
Wersja Ubuntu: 10.04
Środowisko graficzne: GNOME
Architektura: x86
Kontakt:

Odp: tuner nagrywanie mencoder brak dzwięku

Post autor: frytek »

a jak dokładnie brzmi twoja opcja kodowania dźwięku przez lavc? chętnie przetestuję
asedio
Sędziwy Jeż
Sędziwy Jeż
Posty: 72
Rejestracja: 14 lip 2008, 21:57
Płeć: Mężczyzna
Wersja Ubuntu: 8.10
Środowisko graficzne: GNOME

Odp: tuner nagrywanie mencoder brak dzwięku

Post autor: asedio »

mencoder tv://$KAN -tv driver=v4l2:device=/dev/video0:norm=PAL-dk:width=720:height=576:amode=1 -oac lavc -lameopts cbr:preset=128 -ovc lavc -endpos $ENDPOS -lavcopts vcodec=mjpeg:vhq -o /media/200Gb/-Zgrywane-/$FILE.avi

Trochę dużo zajmuje. 5 godzin 29Gb prawie.
To jest kodowanie dzwięku MPEG 1 Audio, Layer 2, 224kbit/s więc sporo zajmuje, niestety a akurat w moim przypadku dzwięk mono i 64kbit wystarczałoby.

Mam WinFasstTV Expert 2000 na CX23880

Takie długie nagrania są mi potrzebne ponieważ kolekcjonuję wyścigi kolarskie a np. jeden etap Tour de France potrafi trwać z 10 godzin. Z Avidemuxem sobie radzę bez problemu.
Do tej pory korzystałem z DVB SkyStar2 z Kaffeine i sc-plugins. Zgrywałem strumien MPEG a potem obróbka w x.264 Avidemuxem. Teraz Eurosport jest free tylko de. Mam kablówkę gdzie są Eurosporty ale jakość sporo gorsza od DVB. Po zgraniu w mjpeg a póżniej odfiltrowaniu szumu i przeplotu w Avidemux i zakodowaniu w x.264 jakość jest całkiem dobra. Zgrywanie w mjpeg i mp3 powoduje spadek fps do 20 co widać jako "jąkanie" obrazu.
Mogę jeszcze zgrywać w taki sposób:
mplayerem strumień z DVB:
mplayer -dumpfile /media/200Gb/-Zgrywane-/eurosport.ts -dumpstream dvb://Eurosport
co łatwo wywołać z cron'a
i sam dzwięk "czymś" z LineIn od karty TV.
W mencoderze nie można (podobno) zgrać samego dzwięku z LineIn do mp3 a na razie nie opanowałem żadnego innego programu pracującego z konsoli.
Dell'e... różne ;-)
deusman
Piegowaty Guziec
Piegowaty Guziec
Posty: 13
Rejestracja: 09 lis 2007, 13:00
Płeć: Mężczyzna
Wersja Ubuntu: 9.10
Środowisko graficzne: GNOME
Architektura: x86

Odp: tuner nagrywanie mencoder brak dzwięku

Post autor: deusman »

witam ponownie .... miałem wymiane kompa i na nowo walcze z tv time:>
przeniosłem wszystkie pliki konf i przerabiam zgodnie z zaleceniami ale jakoś mi nie wychodzi - pewnie coś źle robie:

skrypt:

Kod: Zaznacz cały

#!/bin/bash
#ten batch ma startowac z crona
#z podanymi argumentami MHz, czasu itd.
if [ -z "$4" ] ; then
clear
echo "Nie podales argumentu"
echo "Komenda jest taka: `basename $0` nazwapliku czas_hh:mm:ss czestotl_MHz kodek_np_mjpeg"
exit
fi

#następna linia ustawia na dysku plik który sprawdzany jest przez
#skrypt, który mam podpięty do ikonki tv, żeby nie włączyć tvtime przez przypadek
#w trakcie, gdy trwa nagrywanie
touch /adysk/home/blazej/tv_lock

#ubijamy konkurencję która mogłaby akurat używać tunera
#bo nagrywanie ma mieć pierwszeństwo
killall tvtime
killall radio 
killall gradio
killall mencoder
killall arecord
killall motv
killall xawtv
killall mplayer

#tu zaczytujemy ustawienia miksera audio pod nagrywanie
alsactl restore -f /adysk/instalki/tv/alsa0

#zmienna short-date ma dopisać datę-godzinę do bazowej nazwy tworzonego pliku
pliku
#mamy wtedy za kazdym razem inna nazwe nagrywanego pliku
#wiec nic sobie nie nadpisujemy no i latwo widac, kiedy plik powstal.
SHORT_DATE=`date +%H`:`date +%M`:`date +%S`
FILE=$1-$SHORT_DATE
ENDPOS=$2
KAN=$3
CODEC=$4

#glowne wywolanie mencodera
mencoder tv:// -oac mp3lame -lameopts cbr:br=128:mode=3 -srate 44100 -tv channel=$KAN:driver=v4l2:device=/dev/video0:input=0:normid=1:width=512:height=384:brigh tness=15:contrast=-30:saturation=95:audiorate=22050 -ovc lavc -lavcopts vcodec=$CODEC -endpos $ENDPOS -o /adysk/filmix/$FILE.avi

#po nagraniu zaczytujemy z powrotem podstawowa konfiguracje karty 
#audio z innego pliku (capture przestawiam na mikrofon, pod skype)
alsactl restore -f /adysk/instalki/tv/alsa1

#i czyscimy blokade wlaczania telewizji
rm /adysk/home/blazej/tv_lock
moja skroocona lista kanalow:

Kod: Zaznacz cały

<stationlist>
?
<list norm="PAL" frequencies="europe" audio="bg">
<station name="1" active="0" position="96" band="VHF E2-E12" channel="E1" finetune="0" audio="dk" norm="PAL"/>
<station name="2" active="0" position="65" band="VHF E2-E12" channel="E2" finetune="0" norm="PAL" audio="auto"/>
<station name="3" active="0" position="69" band="VHF E2-E12" channel="E3" finetune="0" norm="PAL" audio="auto"/>
<station name="4" active="0" position="102" band="VHF E2-E12" channel="E4" finetune="0" norm="PAL" audio="auto"/>
<station name="5" active="1" position="1" band="VHF E2-E12" channel="E5" finetune="0" norm="PAL" audio="auto" brightness="35" contrast="44" saturation="55" hue="50"/>
<station name="6" active="0" position="64" band="VHF E2-E12" channel="E6" finetune="0" norm="PAL" audio="auto"/>
<station name="140" active="0" position="140" band="UHF" channel="U69" finetune="0" norm="PAL" audio="auto"/>
</list>
?
<list norm="SECAM" frequencies="europe" audio="bg">
<station name="1" active="0" position="1" band="VHF E2-E12" channel="E1" finetune="0" norm="SECAM" audio="auto"/>
<station name="2" active="0" position="2" band="VHF E2-E12" channel="E2" finetune="0" norm="SECAM" audio="auto"/>
<station name="3" active="0" position="3" band="VHF E2-E12" channel="E3" finetune="0" norm="SECAM" audio="auto"/>
<station name="4" active="0" position="4" band="VHF E2-E12" channel="E4" finetune="0" norm="SECAM" audio="auto"/>
<station name="5" active="0" position="5" band="VHF E2-E12" channel="E5" finetune="0" norm="SECAM" audio="auto"/>
<station name="6" active="1" position="6" band="VHF E2-E12" channel="E6" finetune="0" norm="PAL" audio="auto"/>
<station name="140" active="0" position="140" band="UHF" channel="U69" finetune="0" norm="SECAM" audio="auto"/>
</list>
?
<list norm="SECAM" frequencies="russia" audio="bg">
<station name="1" active="1" position="1" band="VHF Russia" channel="R1" finetune="0"/>
<station name="2" active="1" position="2" band="VHF Russia" channel="R2" finetune="0"/>
<station name="3" active="1" position="3" band="VHF Russia" channel="R3" finetune="0"/>
<station name="4" active="1" position="4" band="VHF Russia" channel="R4" finetune="0"/>
<station name="5" active="1" position="5" band="VHF Russia" channel="R5" finetune="0"/>
<station name="29" active="1" position="29" band="VHF Russia" channel="SR19" finetune="0"/>
<station name="30" active="1" position="30" band="UHF" channel="U21" finetune="0"/>
<station name="31" active="1" position="31" band="UHF" channel="U22" finetune="0"/>
<station name="78" active="1" position="78" band="UHF" channel="U69" finetune="0"/>
<station name="79" active="1" position="79" band="VHF S1-S41" channel="S1" finetune="0"/>
finetune="0"/>
<station name="116" active="1" position="116" band="VHF S1-S41" channel="S41" finetune="0"/>
</list>
?
<list norm="PAL" frequencies="Custom" audio="bg">
<station name="150,75MHz" active="1" position="2" band="Custom" channel="150,75MHz" finetune="0" norm="PAL" audio="auto"/>
<station name="166,75MHz" active="1" position="3" band="Custom" channel="166,75MHz" finetune="0"/>
<station name="174,75MHz" active="1" position="4" band="Custom" channel="174,75MHz" finetune="0"/>
<station name="182,75MHz" active="1" position="5" band="Custom" channel="182,75MHz" finetune="0"/>
<station name="558,75MHz" active="1" position="34" band="Custom" channel="558,75MHz" finetune="0"/>
</list>
</stationlist>
komendy ktore probowalem:

Kod: Zaznacz cały

blazej@khatovar:/adysk/instalki/tv$ sudo ./tv-nagraj-cron nazzzwa 0:0:30 1 mpeg4 > /dev/null 2>&1
blazej@khatovar:/adysk/instalki/tv$ 
nic sie nie wlaczylo

jak zaladowalem do crona to tez nic, wpis w crontabie:

Kod: Zaznacz cały

43 23 	3 1 * 	root 	/adysk/instalki/tv/tv-nagraj-cron nazzzwa 0:0:30 1 mjpeg > /dev/null 2>&1
ta "1" probowalem przerobic na kanal ktory w tvtime jest name=1 czyli defakto jest pozycjonowany na tej pozycji.
oczywiscie zmiany zapisalem i przeladowalem

Kod: Zaznacz cały

sudo /etc/init.d/cron reload
albo co? w skpypcie namieszalem albo nie wiem
uprawnienia do pliku:

Kod: Zaznacz cały

blazej@khatovar:/adysk/instalki/tv$ ls -la tv-nagraj-cron
-rwxrwxrwx 1 blazej milczek 1677 2009-01-03 23:20 tv-nagraj-cron
pewnie jakis blad robie - bo nie moge dojsc czemu mi sie nie odpala nagrywanie. mam nowy sprzet - z karta graf wiec liczylem ze bede mogl nagrywac z podgladem a jak narazie to klapa.
frytek
Wytworny Kaczor
Wytworny Kaczor
Posty: 330
Rejestracja: 06 sty 2006, 00:03
Płeć: Mężczyzna
Wersja Ubuntu: 10.04
Środowisko graficzne: GNOME
Architektura: x86
Kontakt:

Odp: tuner nagrywanie mencoder brak dzwięku

Post autor: frytek »

testowanie crontaba w pierwszej kolejności sobie odpuść, bo za dużo jest aspektów "niedziałania". i testowanie jest trudne.

najpierw doprowadź do sytuacji, w której będziesz mógł bez problemu OGLĄDAĆ telewizję mplayerem. może zmieniło się urządzenie video? u mnie to jest np. /dev/video1 bo /dev/video0 to kamera usb.

wypróbuj takie polecenie:

Kod: Zaznacz cały

 mplayer tv:// -tv driver=v4l2:device=/dev/video1
stosując prawidłową nazwę urządzenia video (i driver).

w oknie mplayera kanały zmieniasz klawiszami L i K. w konsoli będziesz widział pomocne komunikaty, m. in. kanały.

mplayer i mencoder korzystają z tych samych plików konfiguracyjnych i opcji, więc jak coś sensownego zobaczysz, to i będziesz mógł to nagrać.
deusman
Piegowaty Guziec
Piegowaty Guziec
Posty: 13
Rejestracja: 09 lis 2007, 13:00
Płeć: Mężczyzna
Wersja Ubuntu: 9.10
Środowisko graficzne: GNOME
Architektura: x86

Odp: tuner nagrywanie mencoder brak dzwięku

Post autor: deusman »

Kod: Zaznacz cały

 mplayer tv:// -tv driver=v4l2:device=/dev/video0:normid=1
device mam video0 (na 1 nic mi nie startuje, zresztą nie mam innych video :>)
bez normid=1 mam szum zamiast dźwięku :> więc z dopiską działa:>
kanały również zmieniać mogę, w mplayerze.

co do drivera - to nie wiem jaki mam z tym działa - ale co dziwne obraz mi czasami skaczce = pewnie przez compiza, albo może ten driver jest zły.

no ale idąc dalej skoro mi wyświetla to dlaczego nie nagrywa ?

no i jakie parametry muszę podać w skrypcie żeby nie obsługiwać częstotliwości a - nazwy kanałów - lub co najlepiej numery kanałów które mam w tvtime.
Powyżej podałem wszystkie skrypty, pliki z kanałami - coś tam źle robie ale nie wiem co.
sama telewizja mi odbiera- problem z konfiguracją nagrywania.
asedio
Sędziwy Jeż
Sędziwy Jeż
Posty: 72
Rejestracja: 14 lip 2008, 21:57
Płeć: Mężczyzna
Wersja Ubuntu: 8.10
Środowisko graficzne: GNOME

Odp: tuner nagrywanie mencoder brak dzwięku

Post autor: asedio »

Spróbuj dopasować moje:
odtwarzanie bez przeplotu:

Kod: Zaznacz cały

mplayer -tv driver=v4l2:input=0:norm=PAL-dk:amode=1:chanlist=europe-west:width=720:height=576 -vf pp=lb tv://SE19  -fontconfig
PAL-dk - ma duże znaczenie

nagrywanie w MJPEG ze skryptu z tym, że dźwięk jest nagrywany mpeg1 224kbit i te moje ustawienia raczej na
kompresję dzwięku nie wpływają. Można użyć kodeka mp3lame ale wtedy gubi mi klatki video nawet przy 320x240.

Kod: Zaznacz cały

mencoder tv://$KAN -tv driver=v4l2:device=/dev/video0:norm=PAL-dk:width=720:height=576:amode=1 -oac lavc -lameopts cbr:preset=128 -ovc lavc -endpos $ENDPOS -lavcopts vcodec=mjpeg:vhq  -o /media/200Gb/-Zgrywane-/$FILE.avi


nagrywanie z DVB mplayerem:

Kod: Zaznacz cały

mplayer -dumpfile /media/200Gb/-Zgrywane-/eurosport.ts -dumpstream dvb://Eurosport
nagrywanie z DVB mencoderem:

Kod: Zaznacz cały

mencoder dvb://$KAN -oac copy -ovc copy -endpos $ENDPOS -o  /media/200Gb/-Zgrywane-/$FILE.avi
nagrywanie dzwięku z karty TV wejście LINE-IN ze skryptu do mp3

Kod: Zaznacz cały

arecord -f cd -d $ENDPOS -D hw:0,0 | lame -b 128 - /media/200Gb/-Zgrywane-/$FILE.mp3
Dlaczego mencoderem z DVB? bo mi nie działa -endpos i z crona nie zatrzymuje.
Mam kablówkę na Winfast TV i dwa talerze na SkyStar2 z sc-plugins
Dell'e... różne ;-)
kornikjur
Piegowaty Guziec
Piegowaty Guziec
Posty: 1
Rejestracja: 02 wrz 2009, 12:35
Płeć: Mężczyzna
Wersja Ubuntu: 8.04
Środowisko graficzne: GNOME

Odp: tuner nagrywanie mencoder brak dzwięku

Post autor: kornikjur »

deusman pisze:ok
dzwięk rozwiązany !!! nocka jakoś pomogła. Otworzyłem kompa przepiełem gniazdo z CD1 do AUX przestawiłem alse na AUX przechwytywanie i działa !!!

Teraz walcze żeby określić dobre freq= częstotliwości kanałów.
w /home/user/.tvtime mam stationlist.xml ale tam nie wyswietla mi częstotliwości kanałów.
Puściłem tvtime-scannera znalazł i utowrzył poniżej liste kanałów z częstotliwościami ale prawie wszystkie śnieżą. jakiś pomysł ??? czy to trzeba dostrajać ? czy jest juz taka lista gotowa może ?

No a największy problem to jak zrobić żeby nagrywanie się samo włączyło i wyłączyło.
- czy funkcja -endpos 00:02:00 określa że po 2 h nagrywanie się wyłączy? próbowałem na okresach 30 sec. i nic sobie z tego nie robi, chyba że to jakaś inna funkcja jest ? Jakieś pomysły ??
Środowisko GNOME
System 8.04

Witam mam tuner WinFast TV 2000
Uzyskałem nagrany dżwięk j/n

Po uruchomieniu TVtime i również Rejestratora dżwięku w którym Nagrywanie z wejścia ustwiam na
Mix Mono . Po zamknięciu tych programów uruchamiam Terminal
mencoder tv:// -tv driver=v4l2:device=/dev/video0: input=0:norm=PAL-DK:width=720:height=480:audiorate=48000 -oac mp3lame -lameopts vol=2:br=320:mode=0 -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=7200 -vf crop=720:544:24:16,pp=lb -o film_nagrany.avi
W ten sposób nagrywam Video i Audio

Może komuś się przyda kornikjur
ODPOWIEDZ

Wróć do „Muzyka, filmy, zdjęcia, grafika”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 3 gości