Régészkedés: rm konverzió mp4-re?

Fórumok

Az European Physical Society 2002-ben Budapesten tartott konferenciájának a RealVideo formátumú felvételeit kellene kicsit modernebb formátumra hozni. Jónéhány online konverziót hirdető oldalt találtam, de jobb szereném "házon belül", Linuxos eszközökkel megoldani. Ebben azonban elakadtam:

  • ffmpeg: "Unsupported stream type 00000265" és "Unsupported stream type 0000059c" üzenetek az elején, majd "Too many bits 8832.000000 > 6144 per frame requested, clamping to max" és "Too many packets buffered for output stream 0:1." üzenetekkel leáll.
  • handbrake: a fájl megnyitásakor hibaüzenetet nem ad, de nem is tölti be
  • vlc: fekete ablak, hang nincsen
  • mplayer: itt vannak reményt keltő jelek. Például ezt a felvételt lejátsza, de vagy zajos a hang, vagy időnként teljesen elnémul, vagy a videókép leáll. Az indulás elején "libavformat version 58.20.100 (external)" és "Mismatching header version 58.12.100" üzenetek. A lejátszáshoz az rv3040 videó és ffcook audió kodekeket választotta.

Mit javasoltok, milyen irányban lehetne elindulni egy sikeres konverzióhoz?

Hozzászólások

Szerkesztve: 2021. 02. 06., szo – 20:17

Úgy tudom az ffmpeg megeszi az ilyet, lehet esetleg tudni, hogy mi volt a konkrét parancs? Ilyesmi nem működik?

ffmpeg -i video.rm -vcodec mpeg4 -sameq -acodec libfaac -ab 94208 video.mp4

Ha a linuxos RealPlayer is tud konvertálni mint a Windowsos változata talán azzal? :)

Ez ilyen. Ehhez nem kellett jóstehetség, már annak idején is tudtuk, hogy az ilyen egy cég formátumához kötött szutykokat kerülni kell, mint a dögvészt. Nyilván most ott van, hogy semmi nem játssza le, nem konvertálja, ősrégi szutykokat kell hozzá feltenni. Zárt formátumok átka. Nagyon jól emlékszem, hogy a 2000-es évek elején, boldog-boldogtalan ebben a szutyokban töltött fel videót a netre. Hála az égnek, pár éven belül kiszorította a divx meg a YouTube.

Egyébként nekem úgy tűnik, hogy a linkeden lévő fájl sérült. Mert az ffmpeg-nek a ffplay toolja megpróbálja lejátszani, de frame-hibákat ír. Szóval könnyen meglehet, hogy ez a baj, nem is annyira maga a formátum.

Windows 95/98: 32 bit extension and a graphical shell for a 16 bit patch to an 8 bit operating system originally coded for a 4 bit microprocessor, written by a 2 bit company that can't stand 1 bit of competition.”

mplayer/mencoder régen tudta az ilyeneket windows-os dll-el lejátszani. Egyebet nem tudok mondani. Kérem kapcsoljaki. :)

Két lépésben mpv:

mpv opening_bruhns_26_01_4.rm -vid 2 -aid 2 -o ooo.mpg

mpv ooo.mpg -o ooo.mp4

LINK

Minden elismerésem, valami fekete mágus lehetsz. Alapból az mpv le sem játssza (Arch, legújabb mpv), a demuxer file may be broken-t dob. De úgy, ahogy írod, valóban megy, ezek a -vid és -aid kapcsolók segítenek. Annyi, hogy ha már konvertáljuk, akkor köztes lépésben lossless outputot kéne megadni, de amúgy ez nekem eszembe sem jutott volna, hogy annak ellenére próbálkozzak kapcsolókkal, hogy le sem játssza. Továbbra is tartom, hogy ez az rm egy szutyok formátum, és a szóban forgó videó eleve sérült is.

Windows 95/98: 32 bit extension and a graphical shell for a 16 bit patch to an 8 bit operating system originally coded for a 4 bit microprocessor, written by a 2 bit company that can't stand 1 bit of competition.”

Mpv valóban nem játsza le, de az mplayer igen, és a hibák ellenére seekelni is tud benne, igaz a kép-hang szinkron elcsúszik, vagy elmegy a hang egy időre. Ebből kiindulva az mencoder meg tutira képes konvertálni :) Igaz a bugos file miatt a kimenet se lesz hibátlan valszeg, bár régen is tett már párszor csodát.

Annyira nem fekete mágia, mert nekem az mpv (git-2019-09-22-4a2f239) lejátssza az rm videót, igaz hang nélkül indul, de a hangsávváltóra kattintva (1/4-en áll) egyet az aid 2-vel hang is lesz. Innentől adott volt, hogy aid 2-vel indítsam, bár mindkét esetben közel dupla időtartamú lett a videó, és a végén ~3 másodperc alatt ledarálta a "másik hangsávot". Mivel mp4-re egyből nem sikerült a konvertálás, ezért mpeg1-el próbálkoztam, és egyből jó lett.

 

Amúgy mkv-re konvertálva ffmpeg-gel is jó így: 

ffmpeg -i opening_bruhns_26_01_4.rm -max_muxing_queue_size 9999 -map 0:6:v -map 0:3:a -t 0:6:37 ooo1.mkv

Aztán ezt mpv-vel ugyanúgy lehet mp4-re alakítani, ahogy előzőleg írtam (+változik a hossz). (Az ffmpeg valamiért "elrontja" az mp4 konverziót.)

Az kétségtelen, hogy ez az rm file eléggé "beteg".

reg volt mar, de emlekeim szerint az .rm valtozo fps-u formatum, minden kepkockanak van egy durationja. azt ugye anno kis felbontasu es alacsony bitratara talaltak ki, igy tudtak sokat sporolni.

az .mp4 formatum is tud ilyet (persze nem minden video codec-el), de mivel nem szoktak hasznalni, a legtobb lejatszo nem is boldogul az ilyen mp4-el. valoszinu ezert nem jo a kozvetlen konverzio, mert atviszi a valtozo fps-t az mp4 containerbe, amit viszont szinte semmi sem jatszik le. talan a quicktime igen. mencodernel volt erre egy opcio amivel lehetett force-olni az fps-t, az talan segitene itt is.

Nekem már az első lépés sikertelen:

$ mpv opening_bruhns_26_01_4.rm -vid 2 -aid 2 -o ooo.mpg
Playing: opening_bruhns_26_01_4.rm
[ffmpeg/demuxer] rm: Unsupported stream type 00000265
[ffmpeg/demuxer] rm: Unsupported stream type 0000059c
[ffmpeg/video] rv30: Changing dimensions to 224x160
[ffmpeg/demuxer] rm: Could not find codec parameters for stream 5 (Video: rv30 (RV30 / 0x30335652), yuv420p, 300x224, 25 kb/s): no frame in rv30/40 and no sar
[ffmpeg/demuxer] Consider increasing the value for the 'analyzeduration' and 'probesize' options
...
Invalid audio PTS: 398.277000 -> 46154.016000
[ao/lavc] detected an unexpected discontinuity (pts jumped by 45755.739000 seconds)
[ffmpeg] mpeg: Application provided invalid, non monotonically increasing dts to muxer in stream 0: 35033029 >= 35013589
[encode] Writing packet failed.

$ mpv --version
mpv 0.29.1 Copyright © 2000-2018 mpv/MPlayer/mplayer2 projects
 built on UNKNOWN
ffmpeg library versions:
   libavutil       56.14.100 (runtime 56.22.100)
   libavcodec      58.18.100 (runtime 58.35.100)
   libavformat     58.12.100 (runtime 58.20.100)
   libswscale      5.1.100 (runtime 5.3.100)
   libavfilter     7.16.100 (runtime 7.40.101)
   libswresample   3.1.100 (runtime 3.3.100)
ffmpeg version: 4.1.6-1~deb10u1

lol@lol-Lenovo:/host$ mpv -V

mpv git-2019-09-22-4a2f239 Copyright © 2000-2019 mpv/MPlayer/mplayer2 projects
 built on Mon Sep 23 02:14:46 UTC 2019
ffmpeg library versions:
   libavutil       56.35.100
   libavcodec      58.57.100
   libavformat     58.32.104
   libswscale      5.6.100
   libavfilter     7.58.102
   libswresample   3.6.100
ffmpeg version: git-2019-09-18-1d86e4b

 

Linux Mint 19.2 (Tina)

Megy ez ffmpeg-gel is csak erőltetni kell:

ffmpeg -analyzeduration 100000000 -i opening_bruhns_26_01_4.rm out.mp4

kiprobaltam, a linkelt filet nekem az mplayer siman viszi (a masik szalban istenitett vlc nem :)), de a hang csuszik, mert kesobb kezdodik kb 10 sec-el:

A:   0.3 V:   9.4 A-V: -9.037 ct: -0.020   8/  8 ??% ??% ??,?% 4 0

kesobb is vannak bufferelesi gondok, neha kimarad a hang aztan meg a kep all amig a hang utoleri, mintha nem lenne rendesen interleave-elve az a-v stream. erdemes lenne bekuldeni ffmpeg-devel vagy mplayer-dev-eng listara, hatha megnezi valaki unalmaban :)

Épp ideje lenne, hogy picit visszamenj, és kicsit rendet rakj köztük, mert most frissítettem egyet az mpv-n (0.33.0), és tök másképp működik mint a korábbi verzió. :D

 

(Viszont most rájöttem, hogy egy lépéssel is lehet konvertálni a videót, 

mpv opening_bruhns_26_01_4.rm -vid 2 -aid 2 -endpos 397 -o ooo2.mp4

legalábbis így nekem jó lett.)

Amúgy a vlc is viszi, csak át kell rakni a videó és audió sávokat 2-re.