Portaal Portaal Pingviini veeb foorumi pealeht
  Viki  |  IRC  |  Otsing  |  Küsimused ja vastused  |  Profiil  |  Privaatsõnumite vaatamiseks logi sisse  | Logi sisse või Registreeru
<empty>
Vaata järgmist teemat
Vaata eelmist teemat

Postita uus teemaVasta teemale
Autor Sõnum
akbgf
Vana Pingviin
Vana Pingviin



Liitunud: 07.10.2009
Postitused: 746
Asukoht: Tõravere
Distributsioon: OpenSUSE, Ubuntu
estonia.gif
postituspostitatud: 06.01.2021, 10:28  postituse pealkiri:  Videofaili konverteerimine  

Head uut aastat!

Tahaks teha ühe H264-MPEG4 1920x1080 .ts-faili Philips DVP2880/58-ga näidatavaks.
See DVP saab hakkama MPEG-1/2 720x576 MPG-faili näitamisega. Tema manual väidab, et oskab avi, divx ja xvid.

Konverdin ffmpeg-iga:
% ffmpeg -i test.ts -s 720x576 -c:a copy test.mpg

See teeb soovitud lahutusega pildi, aga pildi kvaliteet pole kiita.
Mul on võrdluseks kuskilt saadud MPEG-1/2 formaadis 720x576 MPG-fail, mis näeb märksa parem välja.

man ffmpeg pakub lugemist mitmeks päevaks. Proovisin mõnda filtrit:
% ffmpeg -i test.ts -filter:v <filter> -s 720x576 -c:a copy test.mpg
aga ei saanud tulemust silmanähtavalt paremaks.

Kobasin ka VLC konverdivõimalusi, aga seal valituist mõni tegi olematu kvaliteediga pildi, mõnda ei osanud DVP näidata.

Ehk on kellelgi sellekohaseid kogemusi ja oskab pakkuda valmis lahenduse?


overflow
Uus kasutaja
Uus kasutaja



Liitunud: 05.04.2020
Postitused: 5


blank.gif
postituspostitatud: 06.01.2021, 16:18  postituse pealkiri:  (teema puudub)  

Vaikimisi võib video bitrate liiga madal olla ja seepärast kehv kvaliteet.
Proovi võtmega -b:v 2500k

Näiteks:
$ ffmpeg -i test.ts -vf scale=720:576 -aspect 16:9 -b:v 2500k -c:a copy test.mpg


akbgf
Vana Pingviin
Vana Pingviin



Liitunud: 07.10.2009
Postitused: 746
Asukoht: Tõravere
Distributsioon: OpenSUSE, Ubuntu
estonia.gif
postituspostitatud: 06.01.2021, 17:39  postituse pealkiri:  (teema puudub)  

overflow kirjutas:
Vaikimisi võib video bitrate liiga madal olla ja seepärast kehv kvaliteet.
Proovi võtmega -b:v 2500k


Tänan! Nii on tõesti pilt pildi nägu, mitte ruuduline nagu minu näites.
Veebist leidsin veel soovituse -q:v 0, siis:

ffmpeg -i tst.ts -q:v 0 -s 720x576 -c:a copy tst.mpg

Arvutiekraanil kvaliteedivahet ei märka, aga '-q:v 0' tegi kaks korda suurema faili.

Sama 1080p.ts originaali 27617012 korral
-b:v 2500k -- suurus 9220096
-q:v 0 -- suurus 23123968

=========

Pildi kvaliteediga on nüüd kõik hästi, aga heliga on probleem.
HD striim oli kirjutatud FAT32 failisüsteemis ja sellepärast hakitud 2G juppideks.
ffmpeg liidab need kenasti kokku. Failivahetuse ajal jääb pilt umbes pooleks sekundiks seisma.
Aga arvutis VLC-s mängides ei ole pärast jätkukohta enam heli.

Kui pean kinni ja jätkan samast kohast, on ikka vait,
aga kui pean kinni ja nihutan veidi mängimisjärge, siis on hääl jälle olemas.

Kui VLC xtermis käima lasen, tuleb terminali teade:
'avcodec decoder error: existing hardware acceleration cannot be reused'
Arvan, et see on seotud failide jätkamisega.

Kas DVP-ga faili mängides ka heli jätkukohal kaob, seda ei saa praaegu proovida.
Võimalik, et DVP saab jätkukohast probleemideta üle.


overflow
Uus kasutaja
Uus kasutaja



Liitunud: 05.04.2020
Postitused: 5


blank.gif
postituspostitatud: 07.01.2021, 08:03  postituse pealkiri:  (teema puudub)  

See 2500k oli umbes keskmiseks näiteks antud. Võid proovida ka 1500k peaks ka suht sama olema. Oleneb millise videoga tegu on. Kui erilist liikumist pole, siis madalam bitrate peaks ka sobima.

Audio osas. ffmpeg abil liitmise näide on siin
https://trac.ffmpeg.org/wiki/Concatenate

Need mpg jupid võid liita näiteks
$ ffmpeg -i "concat:input1.mpg|input2.mpg|input3.mpg" -c copy output.mpg

VLC ja .ts stramifailid failid on minul ka ikaldus. Kuna mul 4GB piirangut pole, siis olen need tavaliselt copy käsuga teise konteinerisse pannud.

$ ffmpeg -in.ts -c copy out.mkv (või out.mp4)


akbgf
Vana Pingviin
Vana Pingviin



Liitunud: 07.10.2009
Postitused: 746
Asukoht: Tõravere
Distributsioon: OpenSUSE, Ubuntu
estonia.gif
postituspostitatud: 07.01.2021, 10:36  postituse pealkiri:  (teema puudub)  

overflow kirjutas:
Audio osas. ffmpeg abil liitmise näide on siin.

Mul olid osafailid ühte tüüpi, nii käis failide kokuliitmine lihtsasti,
aga heli katkeb ühtviisi nii .ts kui .mpg liitmisel.
Eks proovin järele, võibolla sõidab DVP sellest probleemideta üle.
Kui ei, siis pean otsima, kas ehk ffmpeg pakub mingit veaparandusvõimalust,
et liitekohtade heli parandada nii palju, et helikanal ei jääks pärast lukku.
Mingi krõps või hetk vaikust pole asi, mille pärast ma selle striimi juures muretseks.

Võibolla aitab, kui kasutan eritüübiliste failide liitmise protseduuri 'Concat protocol'.

Eks vist Avidemuxis saab liitekoha pildi seismajäämise hetke välja lõigata ja
küllap on seal ka probleemse heliga koht.


overflow
Uus kasutaja
Uus kasutaja



Liitunud: 05.04.2020
Postitused: 5


blank.gif
postituspostitatud: 07.01.2021, 13:44  postituse pealkiri:  (teema puudub)  

Audio võib parandab, kui see ümber pakkida.

mpeg puhul:
$ ffmpeg in.ts -c:v copy -c:a mp2 -b:a 192k out.mpg
HD puhul
$ ffmpeg in.ts -c:v copy -c:a aac -b:a 160k out.mkv (või out.mp4)


akbgf
Vana Pingviin
Vana Pingviin



Liitunud: 07.10.2009
Postitused: 746
Asukoht: Tõravere
Distributsioon: OpenSUSE, Ubuntu
estonia.gif
postituspostitatud: 07.01.2021, 15:29  postituse pealkiri:  (teema puudub)  

overflow kirjutas:
Audio võib parandab, kui see ümber pakkida.

Tundub, et sain toimiva skripti:

-----------------------
#!/bin/bash
ffmpeg -i tst1080p.ts -i tst1080p.ts -i tst1080p.ts \
-filter_complex "[0:v:0][0:a:0][1:v:0][1:a:0][2:v:0][2:a:0]concat=n=3:v=1:a=1[outv][outa]" \
-map "[outv]" -map "[outa]" -b:v 5600k -b:a 256k /tmp/tmp.ts
ffmpeg -i /tmp/tmp.ts -b:v 5600k -s 720x576 -c:a copy out3.mpg
rm -f /tmp/tmp.ts
-----------------------

Võtme -b:v suurus seab pildi kvaliteedi ja tulemusfaili suuruse.
Kui '-b:v <...>' asemel kasutada '-q:v 0', siis on ajutine fail /tmp/tmp.ts
umbes 4x suurem kui originaalide summa ja tulemusfail veidi väiksem kui originaalide summa.


Näita (aja järgi):      
Postita uus teemaVasta teemale


Vaata järgmist teemat
Vaata eelmist teemat
Powered by phpBB2 Plus based on phpBB © 2001/7 phpBB Group