Kirjoittaja Aihe: Videon .ts skaalaus pienemmäksi 1920x1080 - 1280x720 [Ratkaistu]  (Luettu 6138 kertaa)

Illu

  • Käyttäjä
  • Viestejä: 1089
    • Profiili
Digiboksi tallentaa HD-tasoista (1920x1080) ohjelmaa kaapelista. Sattuneesta syystä katson sitä etänä Lenovo T410:llä, eikä sen näyttö (1280x800) riitä terävälle kuvalle.

Tarve siis olisi saada ohjelma skaalattua Lenovon näytölle sopivaksi. Kuva on muuten kelpo, mutta nykii. Muuta tarvetta ei olisi .ts-päätteiselle tehdä, kuin se skaalaus. Tekstitykset sun muut saisivat jäädä, vaikka niitä ei tarvitsisikaan.

VLC ei anna kopioida median tiedot kohdasta tietoja, mahtaisikohan kuvaliitteenä onnistua.

Tuossa on siis useita virtoja, jotka saavat jäädä yksinkertaisuuden vuoksi.


Muokkaus, aihetta muutettu 1280x800 -> 1280x720

Muokkaus, ongelman ratkaisu on viestissä #11, siitä löytyy tähän tapaukseen sopivat tavat.
« Viimeksi muokattu: 13.05.23 - klo:19.20 kirjoittanut Illu »

nm

  • Käyttäjä
  • Viestejä: 16428
    • Profiili
Vs: Videon .ts skaalaus pienemmäksi 1920x1080 - 1280x800
« Vastaus #1 : 24.04.23 - klo:22.23 »
Tarve siis olisi saada ohjelma skaalattua Lenovon näytölle sopivaksi. Kuva on muuten kelpo, mutta nykii.

ThinkPad T410:n pitäisi kyllä riittää 1920x1080 H.264-videon toistoon, vaikka koneessa olisi kevyemmän pään i3-370-prosessori. Onkohan jäähdytysripa puhdas, ja tuuletin puhaltaa kunnolla lämmintä ilmaa ulos? Jos jäähdytys ei toimi, prosessori toimii alemmalla kellotaajuudella ja silloin videotoisto voi nykiä.

Kannattaa kokeilla VLC:n sijaan myös mpv:llä.

Videon skaalaus ja uudelleenpakkaus onnistuu vaikkapa Handbrakella, mutta se ei välttämättä osaa säilyttää DVB-tekstitystä. Ffmpegillä se ei olisi ongelma, ja pakkausta varten voi kirjoittaa skriptin, jolla samanlaisten videoiden käsittely hoituu näppärästi.

Illu

  • Käyttäjä
  • Viestejä: 1089
    • Profiili
Vs: Videon .ts skaalaus pienemmäksi 1920x1080 - 1280x800
« Vastaus #2 : 25.04.23 - klo:08.19 »
Tässä koneessa on i5 ja järjestelmänvalvonta näyttää aika matalaa prosessoritarvetta, alle 20%. Sensors kertoo tuulettimen kierroksiksi 3837RPM ja lämmöksi 59 astetta. Muistin käyttö 60%.

Hitaasti muuttuva kuva liikkuu melko sulavasti, mutta koko näytön liikkuvassa kuvassa alkaa nykiminen. Onko näytönohjaus hidas vai joku asetus vinossa?

nm

  • Käyttäjä
  • Viestejä: 16428
    • Profiili
Vs: Videon .ts skaalaus pienemmäksi 1920x1080 - 1280x800
« Vastaus #3 : 25.04.23 - klo:09.22 »
Tässä koneessa on i5 ja järjestelmänvalvonta näyttää aika matalaa prosessoritarvetta, alle 20%. Sensors kertoo tuulettimen kierroksiksi 3837RPM ja lämmöksi 59 astetta. Muistin käyttö 60%.

Okei, kuulostaa siltä että dekoodauksen prosessorikuorma ei ole ongelma.

Hitaasti muuttuva kuva liikkuu melko sulavasti, mutta koko näytön liikkuvassa kuvassa alkaa nykiminen. Onko näytönohjaus hidas vai joku asetus vinossa?

Voi johtua myös näytönohjaimen ajurista. Onko koneessa pelkkä Intelin integroitu näytönohjain vai mahdollisesti Nvidian näytönohjain?

Koodia: [Valitse]
lshw -c display

Mikä Ubuntun versio on käytössä? Wayland vai X.org:

Koodia: [Valitse]
echo $XDG_SESSION_TYPE

Illu

  • Käyttäjä
  • Viestejä: 1089
    • Profiili
Vs: Videon .ts skaalaus pienemmäksi 1920x1080 - 1280x800
« Vastaus #4 : 25.04.23 - klo:09.59 »
Koneessa on toisena Windows 10 ja sen puolella VLC näyttää videon kelvollisesti.

Koodia: [Valitse]
ilkka@T410:~$ lshw -c display
WARNING: you should run this program as super-user.
  *-display                 
       description: VGA compatible controller
       product: Core Processor Integrated Graphics Controller
       vendor: Intel Corporation
       physical id: 2
       bus info: pci@0000:00:02.0
       version: 02
       width: 64 bits
       clock: 33MHz
       capabilities: vga_controller bus_master cap_list rom
       configuration: driver=i915 latency=0
       resources: irq:28 memory:f2000000-f23fffff memory:d0000000-dfffffff ioport:1800(size=8) memory:c0000-dffff
WARNING: output may be incomplete or inaccurate, you should run this program as super-user.

Koodia: [Valitse]
ilkka@T410:~$ echo $XDG_SESSION_TYPE
x11

nm

  • Käyttäjä
  • Viestejä: 16428
    • Profiili
Vs: Videon .ts skaalaus pienemmäksi 1920x1080 - 1280x800
« Vastaus #5 : 25.04.23 - klo:11.29 »
Pitäisi kyllä sinänsä olla toimiva kombinaatio. Repeilyä (tearing) tosin voi näkyä Intelin ajurilla X.orgissa riippuen työpöytäympäristöstä ja videosoittimen asetuksista. Repeily tarkoittaa siis sitä, että näytön yläosassa näkyy videon edellinen kuva ja alaosassa seuraava, jolloin liikkuvassa kuvassa niiden välissä on havaittavissa selvä rajaviiva, joka pysyy paikallaan tai vaihtaa sijaintia. OpenGL-videotoistossa viiva voi olla myös diagonaalinen.

Kannattaa kokeilla ainakin:

1. Eri videoulostuloa VLC:n asetuksissa.

2. Toistoa mpv:llä VLC:n sijaan.

3. Waylandia X.orgin sijaan.

Illu

  • Käyttäjä
  • Viestejä: 1089
    • Profiili
Vs: Videon .ts skaalaus pienemmäksi 1920x1080 - 1280x800
« Vastaus #6 : 25.04.23 - klo:21.47 »
Repeilyksi ymmärtämääni ei ole, kuva on kokonainen, mutta liikkuu nykien silloin kun koko näytöllä tapahtuu. Jos vain osa näytöstä muuttuu, se pieni osa liikuu "sulavasti".

Miten wayland toteutetaan? Nyt on vielä hyvä kokeilla asioita, koska alla on U18.04 joka päivittyy jossain vaiheesa tuoreeksi.

Illu

  • Käyttäjä
  • Viestejä: 1089
    • Profiili
Vs: Videon .ts skaalaus pienemmäksi 1920x1080 - 1280x720
« Vastaus #7 : 26.04.23 - klo:08.52 »
Ja Wayland löytyi sisäänkirjautumisen rattaasta. Ei auttanut sekään, oli ehkä huonompikin.

Toni Alenius

  • Käyttäjä
  • Viestejä: 1517
    • Profiili
Vs: Videon .ts skaalaus pienemmäksi 1920x1080 - 1280x720
« Vastaus #8 : 07.05.23 - klo:15.47 »
jos olet avoin videoiden pakkaamiselle pienemmälle resoluutiolle, Snapistä löytyvä Shotcut ainakin pystyy siihen, tosin pakkaamiseen voi mennä hetki.
Ubuntu 24.04.01 LTS
16 GB DDR3
Intel® Core™ i5 CPU 760 @ 2.80GHz × 4
GeForce GT 730 2GB
2x480 GB SSD

nm

  • Käyttäjä
  • Viestejä: 16428
    • Profiili
Vs: Videon .ts skaalaus pienemmäksi 1920x1080 - 1280x720
« Vastaus #9 : 07.05.23 - klo:23.06 »
Shotcut hukkaa DVB-tekstityksen, samoin kuin Handbrake ja useimmat vastaavat sovellukset. Ffmpeg on ehkäpä helpoin ratkaisu, jolla tekstityksen saa säilymään tai vaikka poltettua kuvaan. Ohjeita löytyy netistä ja tältä foorumilta, mutta voin tarvittaessa myös kerrata esimerkkejä.

Veikkaan kuitenkin, ettei resoluution pienentäminen välttämättä ratkaise Illun nykimisongelmaa. Ehkä siinä tapauksessa, että prosessori on oikeasti tiukilla Full HD:n kanssa, mutta silloinkin juurisyynä olisi jokin muu vika, kuten ylikuumeneminen tai kellotaajuuden skaalausongelma.

Illu

  • Käyttäjä
  • Viestejä: 1089
    • Profiili
Vs: Videon .ts skaalaus pienemmäksi 1920x1080 - 1280x720
« Vastaus #10 : 08.05.23 - klo:22.50 »
Ylikuumenemisesta ei lie kyse, kun jo välittömästi koneen käynnistyttyä video nykii. Siinä vaiheessa ei ole vielä liikaa lämpöä. Lisäksi sama video toimii windowsin puolella ihan kelvollisesti.

Olen sen seitsemää eri tapaa kokeillut Ffmpegillä kirjoitella esimerkkejä matkien, mutta joku tökkii aina, enimmäkseen tekstitykset. Toki ne voisi jollain taitavalla rimpsulla liimata videoonkin. Käytän niitä kuitenkin, jos videossa ne on tarpeen. Sekamelskaa vaan on siinä, että saa kulloisestakin videosta oikean tekstityksen. Ylen kanavilla on välillä eroa TV1 ja TeemaFemillä. Helpointa (minulle) vain olisi saada pienennettyä sitä videota.

jarmala

  • Käyttäjä
  • Viestejä: 790
    • Profiili
Vs: Videon .ts skaalaus pienemmäksi 1920x1080 - 1280x720
« Vastaus #11 : 09.05.23 - klo:20.50 »
Olen sen seitsemää eri tapaa kokeillut Ffmpegillä kirjoitella esimerkkejä matkien, mutta joku tökkii aina, enimmäkseen tekstitykset.

Kokeilepa vaihteeksi vaikka tätä seuraavaa:

Koodia: [Valitse]
Otetaan vaikka esimerkiksi (kaffeinen) tallentama video foo.m2t...

Ensiksi ffprobe:lla katsotaan, mitä video sisältää:

$ ffprobe -probesize 500M -analyzeduration 500M foo.m2t

Input #0, mpegts, from 'foo.m2t':
  Duration: 00:05:51.64, start: 28521.738911, bitrate: 6310 kb/s
  Program 1501
  Stream #0:0[0x136]: Video: h264 (Main) ([27][0][0][0] / 0x001B), yuv420p(tv, bt709, top first), 1920x1080 [SAR 1:1 DAR 16:9], 25 fps, 50 tbr, 90k tbn, 50 tbc
  Stream #0:1[0x352](fin): Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, stereo, fltp, 448 kb/s
  Stream #0:2[0x353](eng): Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, stereo, fltp, 192 kb/s
  Stream #0:3[0x355](dut): Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, stereo, fltp, 192 kb/s (visual impaired) (descriptions)
  Stream #0:4[0x467](fin): Subtitle: dvb_subtitle ([6][0][0][0] / 0x0006)
  Stream #0:5[0x47e](fin): Subtitle: dvb_subtitle ([6][0][0][0] / 0x0006) (hearing impaired)
  Stream #0:6[0x13ec](fin): Subtitle: dvb_teletext ([6][0][0][0] / 0x0006)

Eli *tässä tapauksessa* tiedostossa video on virta numero 0:0, audio suomeksi on
virta 0:1 ja suomenkielinen DVB-tekstitys on virta 0:4. Nämä siis täytyy tallentaa
siihen pienennettyyn kopioon:

$ ffmpeg -i foo.m2t -vf scale=1280:-1 -map 0:0 -map 0:1 -map 0:4 -c:v libx265 -crf 27 -preset ultrafast -c:a aac -b:a 128k -c:s copy 'foo.mkv'

Huomaa, että tässä säilytetään kuvasuhde ennallaan (16:9), kun ei määritetä
kuvan korkeutta vaan pelkästään leveys (korkeudeksi annetaan -1). Ja tuossa
ne virrat näkyvät listattuina: 0:0, 0:1 ja 0:4. Video koodataan x265
-koodekilla laatutasolla 27 (joka on kelpo oletus), audio koodataan aac:llä
128 kbit/s kaistaan ja tekstitys vaan kopioidaan.

Jos haluaa koodata nopeammalla x264:llä, niin komento muuttuu:

$ ffmpeg -i foo.m2t -vf scale=1280:-1 -map 0:0 -map 0:1 -map 0:4 -c:v libx264 -crf 23 -preset ultrafast -c:a aac -b:a 128k -c:s copy 'foo.mkv'

Tässä hyvä lähtöarvo videon laatutasolle on 23. Mitä pienempi arvo, sitä
paremmanlaatuinen video, mutta suurempi tiedosto. Kuuden pykälän muutos
merkitsee tiedoston koossa noin kaksinkertaista kokoa.


Näillä videoiden pienennys pitäisi jo onnistua hyvin.

Ja sitten tietenkin joku haluaa vielä käyttää nopean presetin (ultrafast) asemasta hitaampaa ja mukamas parempaa presettiä medium... No siitä vaan, olkaa hyvä. Mutta minulla tuo ultrafast on toiminut oikein hyvin...

« Viimeksi muokattu: 09.05.23 - klo:20.56 kirjoittanut jarmala »
Ubuntu 18.04 LTS, Gnome Flashback Metacity, Xeon E3-1245 V2, 8 GB
Ubuntu 22.04 LTS, KDE Plasma, Celeron N5105, 8 GB

qwertyy

  • Käyttäjä
  • Viestejä: 5777
    • Profiili
Vs: Videon .ts skaalaus pienemmäksi 1920x1080 - 1280x720
« Vastaus #12 : 09.05.23 - klo:21.29 »
Shotcut hukkaa DVB-tekstityksen, samoin kuin Handbrake
Jotenkin muistelisin, että Handbrakessa olisi ollut ihan suoraan nykyään optio polttaa subit kohdevideoon. Voi olla kyllä että muistan taas mitä sattuu.

Illu

  • Käyttäjä
  • Viestejä: 1089
    • Profiili
Vs: Videon .ts skaalaus pienemmäksi 1920x1080 - 1280x720
« Vastaus #13 : 09.05.23 - klo:22.41 »
Jarmalan ohje näyttäisi purevan. Aika hitaasti muunnos tapahtui ja virheistä tuli ilmoituksia paljon, mutta pikaisesti katsottuna ne eivät vaikuttaneet tulokseen.
Koodia: [Valitse]
koe.ts: corrupt decoded frame in stream 0:29:29.20 bitrate=1085.8kbits/s speed=0.695x    Testivideo oli 2.4 gigainen ja lopputulos 270 megainen. Kuva oli riittävän hyvä ja video soljui pätkimättä.

Kiitos.