Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

ffmpeg: mpeg-2 => X.264

5 views
Skip to first unread message

Otto J. Makela

unread,
May 9, 2015, 1:05:52 PM5/9/15
to
Minulla on televisiosta nauhoitettuja mpeg-2/ts -tiedostoja, joiden
pakkauksen haluaisin konvertoida X.264-muotoiseksi pitkäaikaisemman
säilytyksen tilan säästämiseksi. Valitettavasti en ole keksinyt
tarkoitukseen sopivaa ffmpeg-loitsua.

Lukemalla satunnaisia sivuja päädyin kokeilemaan seuraavaa:

ffmpeg -i file.m2v -i file.mp2 -acodec copy -vf yadif -vcodec libx264 -preset veryslow -crf 23 file-x264.mp4

Tuloksena on tietokoneella oikein kivasti toimiva mp4-tiedosto (jonka
koko on noin puolet mpeg-2/ts:stä, kuten oli tarkoitus), mutta joillakin
laitteilla yritykset katsoa sitä tuottavat sietämättömän nykivää kuvaa.

Eräs ystäväni totesi että vaikka ffmpeg käyttää vakio x264-kirjastoa,
sen asetukset ovat sellainen versiosta toiseen vaihtuva epäyhteen-
sopivien optioiden sotku ettei samojen asetusten eri versioiden väliseen
toimivuuteen voi luottaa, vaan pitäisi perusteellisesti testata yksi
versio sekä yhdet asetukset toimiviksi ja sitten jäädyttää koneen softat
täsmälleen sille tasolle.

Osaako joku selittää ja/tai ehdottaa parempaa menetelmää?

--
/* * * Otto J. Makela <o...@iki.fi> * * * * * * * * * */
/* Phone: +358 40 765 5772, ICBM: N 60 10' E 24 55' */
/* Mail: Mechelininkatu 26 B 27, FI-00100 Helsinki */
/* * * Computers Rule 01001111 01001011 * * * * * * */

Tuomas Yrjövuori

unread,
May 9, 2015, 3:23:15 PM5/9/15
to
09.05.2015, 20:05, Otto J. Makela kirjoitti:
>
> ffmpeg -i file.m2v -i file.mp2 -acodec copy -vf yadif -vcodec libx264 -preset veryslow -crf 23 file-x264.mp4
>
> Tuloksena on tietokoneella oikein kivasti toimiva mp4-tiedosto (jonka
> koko on noin puolet mpeg-2/ts:stä, kuten oli tarkoitus), mutta joillakin
> laitteilla yritykset katsoa sitä tuottavat sietämättömän nykivää kuvaa.

Koodekkina on siis H.264. Mitä tapahtuu, jos vaihdat containeriksi
vaikkapa FLV:n? (Tuolla "ei pitäisi" olla mitään vaikutusta asiaan,
mutta eihän sitä koskaan tiedä.)

Voisiko mahdollisesti olla kyse myös jostain 24 fps <> 25 fps <> 30 fps
-tyyppisesti ongelmasta? Tai siitä, että näytönohjaimen ajurin vsync ei
alkuunkaan toimi, vaikka sen pitäisi toimia?

Ai tämä menee ryhmään audio+video. No menköön. Täytyy sitten lisätä
kyseinen ryhmä tilattuihin ryhmiin :-)

--
Tuomas Yrjövuori

Tuomas Yrjövuori

unread,
May 9, 2015, 3:29:48 PM5/9/15
to
09.05.2015, 22:23, Tuomas Yrjövuori kirjoitti:
> Koodekkina on siis H.264.

Luulin, että X.264 on sama asia kuin H.264, mutta ilmeisesti näin ei
ole? Lainaus netistä:

"Enormously popular these days for example is x.264 (not to confuse with
h.264 itself). It is also known under Matroska MKV and this is the kind
of movie playback where you'd run intro restrictions as they are not
supported (accelerated) over the graphics processor. It's really no
different for high bitrate high-definition XVID and DIVX content either.
Atom would not be able to handle it in 1080P or often even 720P, so
immediately you'd run into restrictions if the media-file is not DXVA or
bit-stream GPU accelerated. On an Atom platform this is your biggest
problem."

Entäpä, jos käytät koodekkina H.264 ja containerina vaikkapa FLV?
Nykiikö vielä silloinkin?

--
Tuomas Yrjövuori

Reijo Korhonen

unread,
May 10, 2015, 10:32:49 AM5/10/15
to
On Sat, 09 May 2015 20:05:51 +0300, Otto J. Makela wrote:

> Minulla on televisiosta nauhoitettuja mpeg-2/ts -tiedostoja, joiden
> pakkauksen haluaisin konvertoida X.264-muotoiseksi pitkäaikaisemman
> säilytyksen tilan säästämiseksi. Valitettavasti en ole keksinyt
> tarkoitukseen sopivaa ffmpeg-loitsua.
>
> Lukemalla satunnaisia sivuja päädyin kokeilemaan seuraavaa:
>
> ffmpeg -i file.m2v -i file.mp2 -acodec copy -vf yadif -vcodec libx264
> -preset veryslow -crf 23 file-x264.mp4
>
> Tuloksena on tietokoneella oikein kivasti toimiva mp4-tiedosto (jonka
> koko on noin puolet mpeg-2/ts:stä, kuten oli tarkoitus), mutta joillakin
> laitteilla yritykset katsoa sitä tuottavat sietämättömän nykivää kuvaa.
>
> Eräs ystäväni totesi että vaikka ffmpeg käyttää vakio x264-kirjastoa,
> sen asetukset ovat sellainen versiosta toiseen vaihtuva epäyhteen-
> sopivien optioiden sotku ettei samojen asetusten eri versioiden väliseen
> toimivuuteen voi luottaa, vaan pitäisi perusteellisesti testata yksi
> versio sekä yhdet asetukset toimiviksi ja sitten jäädyttää koneen softat
> täsmälleen sille tasolle.
>
> Osaako joku selittää ja/tai ehdottaa parempaa menetelmää?

Paras menetelmä on ostaa isompi kovalevy ja antaa tiedostojen olla
sillään, jos kerran ne toistuvat OK. Kovalevyt ovat halpoja nykyisin.

Kokemukseni mukaan ts-tiedostojen konvertointi voi olla tuurista kiinni.
Siis kuun asennosta. Ei muitenkaan nykyisen ajanhetkeen verrattuna, vaan
talennushetki vaikuttaa.

Perusongelma on se, että ts-tiedostot ovat viallisia, enemmän tai
vähemmän. Ne kannattaa ajaa X-projectin läpi. Sekään ei korjaa kaikkia
virheitä, syystä tai toisesta. Tallenteessa saattaa olla nin iso vika,
ettei se vaan korjaannu, vaikka toistuukin alkuperäisellä laitteella
toistettaessa OK. Silloin sitä ei voi kunnolla kelata toisella
laitteella, varsinkaan sen jälkeen tallusformaattiin on tehty muutos eli
puretettu ja pakattu uudestaan.

Eli parempaa neuvoa en voi antaa kuin että ensin kannattaa korjata
originaali tallenne niin virheettömäksi kuin mahdollista ja vasta sen
jäkeen yrittää tallusformaatin muuntoa, joka onnistuu paremmin tai
huonommin. Tai sitten vaan ostaa isompi kiintolevy. Itselle tuli tarve
verkkokiintolevylle ja ongelma ratkesi sillä. Aika myös hoitaa, varsinkin
jos tallenteet ovat elokuvia. Ne uusitaan nykyään usein ja saa uuden
tallenteen. Ehkäpä uusi laitteesi osaa tallentaa suortaan mp4:sta. HD:kin
näyttää paremmalta kuin vanha SD.


--
Re...@iki.fi.nospam.invalid
http://www.iki.fi/Reijo

Reijo Korhonen

unread,
May 10, 2015, 10:37:01 AM5/10/15
to
On Sat, 09 May 2015 22:23:15 +0300, Tuomas Yrjövuori wrote:

> Ai tämä menee ryhmään audio+video. No menköön. Täytyy sitten lisätä
> kyseinen ryhmä tilattuihin ryhmiin :-)

Itsekin yllätyin.


--
Re...@iki.fi.nospam.invalid
http://www.iki.fi/Reijo

Pertti Kosunen

unread,
May 10, 2015, 3:18:04 PM5/10/15
to
On 9.5.2015 20:05, o...@iki.fi (Otto J. Makela) wrote:
> Tuloksena on tietokoneella oikein kivasti toimiva mp4-tiedosto (jonka
> koko on noin puolet mpeg-2/ts:stä, kuten oli tarkoitus), mutta joillakin
> laitteilla yritykset katsoa sitä tuottavat sietämättömän nykivää kuvaa.

http://www.avsforum.com/forum/26-home-theater-computers/972503-x264-encoding-options-hardware-compatibility-dxva.html

DXVA-yhteensopiva toimii luultavasti monilla laitteilla, "--level 4.1"
taitaa olla tärkein optio toimivuuden kannalta.

Ari Saastamoinen

unread,
May 10, 2015, 9:25:48 PM5/10/15
to
Reijo Korhonen <reijo.k...@invalid.invalid> writes:

> Perusongelma on se, ettƤ ts-tiedostot ovat viallisia, enemmƤn tai
> vƤhemmƤn. Ne kannattaa ajaa X-projectin lƤpi. SekƤƤn ei korjaa kaikkia

Emmä tuota ole kokenut ongelmaksi. miten ne ovat rikki? Ja miksi
niiden pitäisi olla rikki? Toki osa playerisoftista ei osaa käyttää
pakettien timestamppeja oikein, ja kuva/äänisynkka saattaa olla
pielessä, mutta se on palyerin ongelma eikä itse TS:n. (Ja jotkut
tallentimet tallentavat ainoastaan kuvan ja äänet ja jättävät
esim. aikastriimit pois yms)

> laitteella toistettaessa OK. Silloin sitƤ ei voi kunnolla kelata
> toisella laitteella, varsinkaan sen jƤlkeen tallusformaattiin on

Ainakin variable bitrate saattaa olla haastava pikakelattava, kun
etukäteen ei pysty arvaamaan, että paljonko tiedostoa pitäisi seekata
eteenpäin päästäkseen haluttuun frameen.

--
Arzka oh3mqu+...@hyper.fi - En halua follareita mailina
1. Valitse sopiva paikka, ei ihmisten tai rakennusten lahella, jossa
paukku voi aiheuttaa hairiota. - Iso-Kiinalaisen kayttoohje

upsid...@downunder.com

unread,
May 10, 2015, 10:46:25 PM5/10/15
to
On 11 May 2015 04:25:48 +0300, Ari Saastamoinen <oh3mq...@hyper.fi>
wrote:

>Reijo Korhonen <reijo.k...@invalid.invalid> writes:
>
>> Perusongelma on se, ettƤ ts-tiedostot ovat viallisia, enemmƤn tai
>> vƤhemmƤn. Ne kannattaa ajaa X-projectin lƤpi. SekƤƤn ei korjaa kaikkia
>
>Emmä tuota ole kokenut ongelmaksi. miten ne ovat rikki? Ja miksi
>niiden pitäisi olla rikki? Toki osa playerisoftista ei osaa käyttää
>pakettien timestamppeja oikein, ja kuva/äänisynkka saattaa olla
>pielessä, mutta se on palyerin ongelma eikä itse TS:n. (Ja jotkut
>tallentimet tallentavat ainoastaan kuvan ja äänet ja jättävät
>esim. aikastriimit pois yms)

Koska kyse lienee ilmasta nauhoitettuja DVB-T .ts tiedostoja, voihan
siellä ollaa heikosta RF signaalaalista johtuvia "reikiä", vaikka ECC
pystyy kuitenkin hyviin suorituksiin.

DVB-T katselusoftat osaavat varautua näihin ja aika hyvin peittää ne
_silmältä_.

Miten sitten joku formaattikonversio-ohjelma selviää näistä reijistä,
ehkä yrittää pakata niitä jotenkin ? Entä jos katselulaite olettaa
saavansa kunnollisen tiedoston, mutta saakin reijällisen, johon se ei
ole varautunut ?

Yleisesti otaen niin audio- kuin videopuolella on huono ajatus käyttää
kahta häviöllistä pakkausmenetelmää peräkkäin. Ensimmäisen
pakkausmenetelmän artefaktit tulkitaan toisen ohjelman toimesta
aidoksi signaaliksi ja yrittää pakata sitä, aiheuttaen uusia
artefakteja. Parempi hommata lisää halpaa levytilaa.


upsid...@downunder.com

unread,
May 10, 2015, 11:14:35 PM5/10/15
to
On Sun, 10 May 2015 14:31:43 +0000 (UTC), Reijo Korhonen
<reijo.k...@invalid.invalid> wrote:

>Perusongelma on se, että ts-tiedostot ovat viallisia, enemmän tai
>vähemmän. Ne kannattaa ajaa X-projectin läpi. Sekään ei korjaa kaikkia
>virheitä, syystä tai toisesta. Tallenteessa saattaa olla nin iso vika,
>ettei se vaan korjaannu, vaikka toistuukin alkuperäisellä laitteella
>toistettaessa OK. Silloin sitä ei voi kunnolla kelata toisella
>laitteella, varsinkaan sen jälkeen tallusformaattiin on tehty muutos eli
>puretettu ja pakattu uudestaan.

Jos nauhoitettaessa signaalilaatumittari (Q) näyttää jotain arvoja
alle 100 %, datassa on virheitä, jota ECC/FEC virheenkorjaus ei ole
pystynyt korjaamaan.

TV katseluohjelma osaa aika hyvin peittää silmältä nämä puutteet.

Jos suoraan nauhoittaa yhden program streamin tai koko kanavanimpun
(transport stream), nuo viat menevät sellaisenaan levylle, haittaamaan
formaattikonversioita.

Joku näyttöohjelma voi olla niin nirso, että jos se havaitsee vian, se
nostaa tassut pystyyn ja jäädyttää kuvan seuraavaan ehjään I-kuvaan
asti, (joita tulee pari kappaletta sekunnissa), jolloin kuva nykii
pahasti.

Anssi Saari

unread,
May 11, 2015, 3:12:58 AM5/11/15
to
Tuomas Yrjövuori <tuomas.y...@aalto.fi> writes:

> 09.05.2015, 22:23, Tuomas Yrjövuori kirjoitti:
>> Koodekkina on siis H.264.
>
> Luulin, että X.264 on sama asia kuin H.264, mutta ilmeisesti näin ei
> ole? Lainaus netistä:

Lyhyesti: h.264 on videostandardi ja x264 puolestaan on ohjelmakirjasto
joka tuottaa (koodaa) h.264:n mukaista videota. X.264 ei ole mitään.

Sitä tässä mietin että mahtaako mp2 audio tuottaa tässä ongelmia niillä
ongelmallisilla laitteilla? Ehkä kannattaisi kokeilla koodata äänet
aac:ksi, -acodec libfaac.

Otto J. Makela

unread,
May 11, 2015, 4:01:15 AM5/11/15
to
Hienoa ja tieteellistä.
Sitten olisi kiva tietää kenelle/kuinka nuo parametrit annetaan,
x264-kirjastolle (jolloin ffmpeg kanssa kaiketi -x264opts)?

Pikakokeilu

ffmpeg -i file.m2v -i file.mp2 -t 60 -acodec copy -vf yadif
-vcodec libx264 -x264opts
level=3.1:ref=8:mixed-refs:bframes=3:b-rdo:bime:weightb:direct=auto:trellis=2:partitions=p8x8,b8x8,i4x4,i8x8:8x8dct:vbv-bufsize=14000:vbv-maxrate=17500:me:umh
file-x264.mp4

Kaatui virheellä

Error while opening encoder for output stream #0:0 - maybe
incorrect parameters such as bit_rate, rate, width or height

Pertti Kosunen

unread,
May 11, 2015, 8:45:29 AM5/11/15
to
On 11.5.2015 11:01, o...@iki.fi (Otto J. Makela) wrote:
> Pikakokeilu
>
> Kaatui virheellä
>
> Error while opening encoder for output stream #0:0 - maybe incorrect
> parameters such as bit_rate, rate, width or height

Aloita minimi-optioilla ja lisää tarpeen mukaan.

"ffmpeg -i 00002.ts -c:v libx264 -preset slow -crf 20 -profile:v high
-level 4.1 -c:a copy output.mkv" lähtee ainakin täällä pakkaamaan
(ffmpeg version 2.6.2).

https://trac.ffmpeg.org/wiki/Encode/H.264

Compatibility kohdassa on listattu Applen laitteille toimivia tasoja.

Heikki Kekki

unread,
May 13, 2015, 10:37:19 AM5/13/15
to
On Sat, 9 May 2015 17:05:51 UTC, o...@iki.fi (Otto J. Makela) wrote:

> Minulla on televisiosta nauhoitettuja mpeg-2/ts -tiedostoja, joiden
> pakkauksen haluaisin konvertoida X.264-muotoiseksi pitkäaikaisemman
> säilytyksen tilan säästämiseksi. Valitettavasti en ole keksinyt
> tarkoitukseen sopivaa ffmpeg-loitsua.
>
> Lukemalla satunnaisia sivuja päädyin kokeilemaan seuraavaa:
>
> ffmpeg -i file.m2v -i file.mp2 -acodec copy -vf yadif -vcodec libx264 -preset veryslow -crf 23 file-x264.mp4
>
> Tuloksena on tietokoneella oikein kivasti toimiva mp4-tiedosto (jonka
> koko on noin puolet mpeg-2/ts:stä, kuten oli tarkoitus), mutta joillakin
> laitteilla yritykset katsoa sitä tuottavat sietämättömän nykivää kuvaa.

ffmpeg.EXE -i Kesken_jaanyt_elama.ts -acodec copy -vcodec libx264 -vb
1600k -s 854x480 -vpre libx264-ipod640 Kesken_jaanyt_elama.mp4

tuotti Samsung Smart TV:ssä virheettömästi näkyvän tallenteen. Neloselta
Maximum'illa tallennettu, mp4 koko noin 60% ts-tiedostosta. Ffmpeg'in
prosessoinnin aikana näkyi virheilmoituksia vilisemällä.

Kun erotin ensin äänen ja kuvan eri tiedostoihin, huulisynkka meni
pieleen sekä tietokoneella että tv:ssä.

ffmpeg version 2.1.5 Copyright (c) 2000-2014 the FFmpeg developers
built on Sep 10 2014 16:08:41 with gcc 4.4.6 (GCC)

Ja alusta on eComStation 2.1 eli OS/2 Warp 4.52

--
Hessu

Heikki Kekki

unread,
May 14, 2015, 4:03:04 PM5/14/15
to
On Wed, 13 May 2015 14:36:12 UTC, "Heikki Kekki"
<kekk...@sgic.fi.invalid> wrote:

> On Sat, 9 May 2015 17:05:51 UTC, o...@iki.fi (Otto J. Makela) wrote:
>
> > Minulla on televisiosta nauhoitettuja mpeg-2/ts -tiedostoja, joiden
> > pakkauksen haluaisin konvertoida X.264-muotoiseksi pitkäaikaisemman
> > säilytyksen tilan säästämiseksi. Valitettavasti en ole keksinyt
> > tarkoitukseen sopivaa ffmpeg-loitsua.
> >
> > Lukemalla satunnaisia sivuja päädyin kokeilemaan seuraavaa:
> >
> > ffmpeg -i file.m2v -i file.mp2 -acodec copy -vf yadif -vcodec libx264 -preset veryslow -crf 23 file-x264.mp4
> >
> > Tuloksena on tietokoneella oikein kivasti toimiva mp4-tiedosto (jonka
> > koko on noin puolet mpeg-2/ts:stä, kuten oli tarkoitus), mutta joillakin
> > laitteilla yritykset katsoa sitä tuottavat sietämättömän nykivää kuvaa.
>
> ffmpeg.EXE -i Kesken_jaanyt_elama.ts -acodec copy -vcodec libx264 -vb
> 1600k -s 854x480 -vpre libx264-ipod640 Kesken_jaanyt_elama.mp4
>
> tuotti Samsung Smart TV:ssä virheettömästi näkyvän tallenteen. Neloselta
> Maximum'illa tallennettu, mp4 koko noin 60% ts-tiedostosta.

Loitsulla

ffmpeg.EXE -i Piano.ts -acodec copy -vcodec libx264 -vb 1600k -s 854x480
-vpre libx264-ipod640 -filter_complex "[0:0][0:3]overlay" -sn Piano.mp4

saa Ylen dvb-tekstityksen poltettua kuvaan. Tiedostokoko on noin 45%
alkuperäisestä, Ylen lähetyksissä on isompi bitrate.


--
Hessu
0 new messages