mencoder: *.avi => html5 kompatibilis stream?

 ( apal | 2019. szeptember 15., vasárnap - 19:33 )

Sziasztok!
Adott egy hardver (kamera) altal gyartott video, *.avi kontenerben. Ezt szeretnenk megjeleniteni html5-os videoban. Az mplayer szerint eme *.avi-kban mpeg4 encoding van, de ugye a *.avi-t a html5-os bongeszok <video ...> tagjai nem igazan szeretik.
Hogyan tudnank a legfajdalommenteseben (akar on-the-fly modon) kontenert cserelni ugy hogy "jo legyen"? Tehat hogy nem akarjuk atkodolni a stream-et, csak annyi hogy html5-kompatibilis legyen a kontener - maramennyiben _valoban_ html5-kompatibilis a *.avi tartalma :) Termeszetesen -lavc + megfelelo opciokkal megy a dolog, de ugye az sokkal tovabb tart mint csak siman a kontenert lecserelgetni. Mplayer/mencoder helyett persze ffmpeg is jo nekunk.
thx, A.

Hozzászólás megjelenítési lehetőségek

A választott hozzászólás megjelenítési mód a „Beállítás” gombbal rögzíthető.

ffmpeg -i a.avi -vcodec copy -acodec copy -scodec copy a.mp4

vagy

mencoder -oac copy -ovc copy a.avi -o a.mp4

Nem erre gondoltál?

=====
tl;dr
Egy-két mondatban leírnátok, hogy lehet ellopni egy bitcoin-t?

Dede, valami ilyesmire gondolok. Ugyanakkor ha jol latom, akkor ezt beneztem. Valamiert az remlett hogy az mp4-es kontener szereti azt ha MPEG-4 van benne, de megsem. Vagyis a HTML5-fele videok nem szeretik, mert azokban meg H.264 kell legyen inkabb, mp4-es kontenerben. Ebben a *.avi-ban pedig MPEG-4 van, legalabbis lejatszaskor ezt allitja:

==========================================================================
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
libavcodec version 57.64.101 (external)
Selected video codec: [ffodivx] vfm: ffmpeg (FFmpeg MPEG-4)
==========================================================================

Ugyhogy vsz nem usszuk meg az atkodolast :/

'ffprobe fájlnév' mit mond?
Az jóval részletesebben írja ki. Ha nem h264 a videósáv akkor mindenképp konvertálni kell.

-------------------
https://onlinestream.live/ - A legtöbb magyar rádió és TV egy helyen!

Hogyaszondja, ez:

Input #0, avi, from 'x.avi':
  Metadata:
    encoder         : Lavf58.17.101
  Duration: 00:00:03.16, start: 0.000000, bitrate: 2873 kb/s
    Stream #0:0: Video: mpeg4 (Simple Profile) (XVID / 0x44495658), yuv420p, 1920x1200 [SAR 1:1 DAR 8:5], 2879 kb/s, 25 fps, 25 tbr, 25 tbn, 25 tbc

Szóval ez egy MPEG-4 Part 2 videó.
Ezt nyugodtan becsomagolhatod MPEG-4 Part 14 szerinti konténerbe (MP4 file-ba).

Jaja, igen, a kontener stimmel, csak az altalad lejjebb is linkelt tablazat szerint maga a kodolas nem tamogatott a HTML5-os lejatszok altal. Meg a gyakorlatban kiprobalva (ld. legelso, Zahy-fele parancsok) sem szerette a kimenetet sem a krom, sem a ffox.

Ugyhogy igen, kell ez az atkodolas. Mindegy, nem vesz mert nincs sok video es nem is nagyok. Csak nem lett volna baj ha megusztuk volna... :)

Az MPEG-4 az egy szabványsorozat, azzal nem mondtál semmit, hogy " *.avi-ban pedig MPEG-4 van"
Az MPEG-4 Part 10 az MPEG-4 szabványsorozat része, leírja a H.264 videokódolást, ezt még AVC (Advanced Video Coding) néven is ismerheted.
AZ MPEG-4 Part 2 az MPEG-4 szabványsorozat része, leírja a DiVX/XviD néven is ismert videokódolást.
Az MPEG-4 Part 29 a "Web video coding", leírja az MPEG-4 Part 10 azon szűkítését, ami ajánlás a webes videók kódolására.
A file formátumok pedig:
Az MP4 kiterjesztés az MPEG-4 Part 14 szerinti konténerformátum, ami az MPEG-4 Part 12 (ISO Base Media File Format) egy specializációja.

Szóval specifikáld, mit szeretnél.
A HTML5 video tag nem specifikálja a kötelezően támogatandó konténer és kódolás formátumokat.
A Mozilla Developer Network csinált egy eléggé széleskörű összefoglalót/összehasonlítást, hogy milyen konténerek és milyen kódolások támogatottak a böngészőkben.

Kódolások:
https://developer.mozilla.org/en-US/docs/Web/Media/Formats/Video_codecs

Konténerek:
https://developer.mozilla.org/en-US/docs/Web/Media/Formats

Ez divx codeccel van avi konténerben. Attól, hogy átrakod mp4 konténerbe még divx codec marad. Át kell raknod mp4be és h264-be. Azt tuti megeszi mostmár minden.