TNT HD (décodage MPEG4)

Quelles sont les fonctions qui amélioreraient ce programme ?
lolo_32
Administrateur du site et développeur
Messages : 527
Enregistré le : 22 juil. 2007, 21:46
Carte Tuner : Hauppauge HVR-1300 et HVR-900, et EyeTV Diversity
Êtes-vous un robot ? : Je ne suis pas un robot
Localisation : Dans le pays du fois gras (Gers)

Re: Codecs

Message par lolo_32 »

Gingko a écrit :Je ne sais pas si quelqu'un d'autre sait le faire, mais moi, je crois qu'il va falloir que j'étudie encore la documentation de DirectShow pendant un moment avant de me lancer là-dedans.
En tout cas, je ne vais pas pouvoir t'aider là dessus...
Gingko a écrit :Déjà que j'ai toujours pas réussi à utiliser ffdshow comme codec mpeg2, ce qui m'embête bien pour le debugging ...
C'est pas compliqué: tu installes ffdshow depuis le site http://ffdshow-tryout.sourceforge.net/, et tu actives le filtrage MPEG2 dans les options...

Si tu as des pb, n'hésite pas, je viens de le faire, sans difficulté pour le première fois samedi :lol:
Émetteur TNT: Toulouse - Pic du Midi
Cartes :
  • Hauppauge HVR-1300
  • HVR-900
  • EyeTV Diversity via les pilotes Pinnacle PCTV Dual DVB-T Diversity Stick (2001e)
Pouchin TV Mod : dernière version compilable et de développement
Gingko
Administrateur du site et développeur
Messages : 2063
Enregistré le : 05 août 2007, 12:57
Carte Tuner : August DVB-T210 USB + divers autres
Êtes-vous un robot ? : Je ne suis pas un robot
Localisation : Pantin (IDF, 93)

Re: Codecs

Message par Gingko »

lolo_32 a écrit :
Gingko a écrit :Déjà que j'ai toujours pas réussi à utiliser ffdshow comme codec mpeg2, ce qui m'embête bien pour le debugging ...
C'est pas compliqué: tu installes ffdshow depuis le site http://ffdshow-tryout.sourceforge.net/, et tu actives le filtrage MPEG2 dans les options...
Effectivement, là ça marche.

Je n'avais pas dû (avant) télécharger la bonne version.
Du reste, je ne savais même pas que, outre ffdshow, il existait aussi un ffdshow-tryout ....

Gingko
Gingko
․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․
Tuners utilisés, sur 3 ordis : • USB : August DVB-T210, AverMedia HDTV DVB-T Volar (2×) • PCI : Hauppauge Nova-DT Dual DVB-T • Express Card : AverMedia Digi Express 54
MatMaul
Administrateur du site et développeur
Messages : 147
Enregistré le : 03 avr. 2007, 03:16

Message par MatMaul »

déja essayé de faire fonctionner le mpeg4 bin j'y suis pas arrivé :(

j'avais une image qu'avec un décodeur et pas avec les autres allez savoir pourquoi...
le truc c'est que faut arrêter le graph le modifier et le relancer on peut pas faire comme avec l'audio et activer les 2 décodeurs vidéos au démarrage car on ne peut utiliser qu'un seul renderer vidéo dans un graph
=> il faut arrêter le graph, débrancher le décodeur du démultiplexeur et du renderer, rebrancher le nouveau décodeur en adaptant le mediatype du démultiplexeur puis relancer le graph.

mais le pb est encore ailleurs car même en remplacant juste le décodeur direct dans le code source (=> donc remplacement pur et simple du mpeg2 par le mpeg4) et en adaptant les mediatypes des pins bin mêmes symptomes :cry:

pour les devs qui voudraient se pencher dessus y'a un créneau horaire journalier pendant la semaine (pas le wk) ou canal+ sport diffuse en mpeg4 clair. :wink: je crois que c'est entre 20 et 21 si je me rappelle bien
Gingko
Administrateur du site et développeur
Messages : 2063
Enregistré le : 05 août 2007, 12:57
Carte Tuner : August DVB-T210 USB + divers autres
Êtes-vous un robot ? : Je ne suis pas un robot
Localisation : Pantin (IDF, 93)

Message par Gingko »

MatMaul a écrit :pour les devs qui voudraient se pencher dessus y'a un créneau horaire journalier pendant la semaine (pas le wk) ou canal+ sport diffuse en mpeg4 clair. :wink: je crois que c'est entre 20 et 21 si je me rappelle bien
Peut-être qu'en enregistrant tout le multiplex pendant ce créneau on aurait quelques facilités pour l'analyser ? :-)

Gingko
Gingko
․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․
Tuners utilisés, sur 3 ordis : • USB : August DVB-T210, AverMedia HDTV DVB-T Volar (2×) • PCI : Hauppauge Nova-DT Dual DVB-T • Express Card : AverMedia Digi Express 54
MatMaul
Administrateur du site et développeur
Messages : 147
Enregistré le : 03 avr. 2007, 03:16

Message par MatMaul »

a mais y'a rien à analyser vu que tout le travail est censé être fait par le filtre directshow ^^.
tout ce qu'on a à faire (enfin normalement...) c'est réussir à bien paramétrer le mediatype du démuxeur et faire joujou avec directshow pour connecter le tout.
Gingko
Administrateur du site et développeur
Messages : 2063
Enregistré le : 05 août 2007, 12:57
Carte Tuner : August DVB-T210 USB + divers autres
Êtes-vous un robot ? : Je ne suis pas un robot
Localisation : Pantin (IDF, 93)

Message par Gingko »

MatMaul a écrit :a mais y'a rien à analyser vu que tout le travail est censé être fait par le filtre directshow ^^.
tout ce qu'on a à faire (enfin normalement...) c'est réussir à bien paramétrer le mediatype du démuxeur et faire joujou avec directshow pour connecter le tout.
C'était pas tellement pour analyser, mais surtout pour garder à portée de main un flux TS avec du MPEG4 en clair, en vue de le resoumettre ensuite à DirectShow, vu que je me vois mal ne faire des tests MPEG4 que entre 20h et 21h, horaire pendant lequel je suis rarement disponible pour ça.

(ce qui impliquerait d'ajouter la relecture de flux TS enregistré à PouchinTV Mod, mais puisqu'on est tous pleins de bonne volonté ici, pourquoi ne pas faire aussi ça, pendant qu'on y est ? :-) )

Gingko
Gingko
․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․
Tuners utilisés, sur 3 ordis : • USB : August DVB-T210, AverMedia HDTV DVB-T Volar (2×) • PCI : Hauppauge Nova-DT Dual DVB-T • Express Card : AverMedia Digi Express 54
Gingko
Administrateur du site et développeur
Messages : 2063
Enregistré le : 05 août 2007, 12:57
Carte Tuner : August DVB-T210 USB + divers autres
Êtes-vous un robot ? : Je ne suis pas un robot
Localisation : Pantin (IDF, 93)

MPEG4

Message par Gingko »

En tout cas, pour le MPEG4, la cause n'est pas totalement désespérée.

Je suis parvenu, avec TSReader, à enregistrer quelques secondes du flux "Test HD1" et à produire un fichier TS animé (une sorte de mire avec quelques annonces) lisible dans Media Player Classic, avec les codecs ffdshow.

Ca donne une image immense, d'ailleurs (1920 x 1088 pixels !). Capture d'écran ici (j'ai ZIPpé l'image, parce qu'un JPEG de 1920 pixels de large, ça casserait un peu la mise en page du forum, je crois ... :-) ).

Je n'ai pas de son, mais j'ai un flux audio AC3 inclus dans le fichier. Je ne sais pas si c'est parce que l'audio ne marche pas, ou bien si c'est juste que l'"émission" est silencieuse.

J'ai aussi soumis cet enregistrement à GraphEdit ("Render Media File..."), il arrive à le décoder, mais curieusement, il semble avoir besoin de placer quatre décodeurs ffdshow consécutifs dans son graphe pour y parvenir.

Les flux "Test HD2" et "Test HD3", en tout cas aujourd'hui à cette heure-ci, ne semblent pas contenir d'image que je puisse décoder.

Gingko
Gingko
․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․
Tuners utilisés, sur 3 ordis : • USB : August DVB-T210, AverMedia HDTV DVB-T Volar (2×) • PCI : Hauppauge Nova-DT Dual DVB-T • Express Card : AverMedia Digi Express 54
BMD_Online
Messages : 29
Enregistré le : 08 sept. 2007, 15:19

Message par BMD_Online »

J'ai des enregistrements TNT-HD du tour de france de cet été (entre 150 et 500mo pour quelques secondes, multiplexe complet ou juste une chaine).
En ce moment, tous les matches de rugby passent sur HD1. Donc, émission son/image aux heures des matches.
En parallèle, M6 diffuse sur HD3 de séries en HD (desperate housewife et je ne sais plus quoi d'autre). Pareil, émission aux heures des séries.

Avec tsreader et vlc, on arrive à voir en direct les diffusions (suivant la qualité de réception).
Je crois que j'avais utilisé tsreader pour enregistrer les diffusions. Ensuite, la vidéo peut-être lue avec VLC ou avec un autre player, via ffdshow.

si quelqu'un veut que je fasse des tests particuliers, je suis disponible.
MatMaul
Administrateur du site et développeur
Messages : 147
Enregistré le : 03 avr. 2007, 03:16

Message par MatMaul »

ouais mais moi aussi j'ai pas de pbs avec graphedit et MPC (enfin avec le demuxeur haali ou celui intégré à MPC, pas tester avec le démuxeur de microsoft) mais impossible de le faire marcher dans pouchin :cry:

toute facon pour le démuxeur de microsoft faut créer un mediatype custom h264 et c'est pas possible à faire dans graphedit faut faire ca en c++ avec l'api du demuxeur ^^
f@bek
Messages : 18
Enregistré le : 19 sept. 2007, 14:41
Carte Tuner : PCTV Pico Stick 74e, WIN 7 64bits

Message par f@bek »

Bonjour a tous

pour info,
j'ai découvert depuis peu le rendu EVR "Enhanced Video Renderer" c'est propre a Vista (ou XP avec .NET3)
pour le peu que l'on possède les codecs Powerdvd 7 et une carte graphique supportant le DXAV2 (accélération matérielle HD H.264)

voila ce que ça donne sur les tests HD en ce moment

TSreader + MPC HC (le seul supportant l'EVR)
Image

le graph de DCDVBSOURCE forcé sous EVR
Image

sans accélération je grimpe a 75% de CPU pour une fluidité trés moyenne (même sous codec coreavc ou ffdshow)
clé AF9015 / Pinnacle picoStick 74e ; 4X @ 4.0 Ghz; NV460; Win 7 64 bits
BMD_Online
Messages : 29
Enregistré le : 08 sept. 2007, 15:19

Message par BMD_Online »

J'ai pas tout saisi :
il faut absolument le codec Cyberlink, ou avec ffdshow ca marche ?

La différence est juste dans l'accélération matérielle ? Ou aussi dans l'implémentation EVR ?
BMD_Online
Messages : 29
Enregistré le : 08 sept. 2007, 15:19

Message par BMD_Online »

C'est curieux, ca utilise le fitre "mpeg2 demultiplexer" ?! Même pour le mpeg4.
Bon, je ne m'y connais pas vraiment a ce niveau, mais c'est étonnant, non ?
f@bek
Messages : 18
Enregistré le : 19 sept. 2007, 14:41
Carte Tuner : PCTV Pico Stick 74e, WIN 7 64bits

Message par f@bek »

BMD_Online a écrit :J'ai pas tout saisi :
il faut absolument le codec Cyberlink, ou avec ffdshow ca marche ?
il n'y a que Cyberlink qui utilise l'accélération HW pour le moment
C'est curieux, ca utilise le fitre "mpeg2 demultiplexer" ?! Même pour le mpeg4.
la preuve que oui :shock:
clé AF9015 / Pinnacle picoStick 74e ; 4X @ 4.0 Ghz; NV460; Win 7 64 bits
MatMaul
Administrateur du site et développeur
Messages : 147
Enregistré le : 03 avr. 2007, 03:16

Message par MatMaul »

BMD_Online a écrit :C'est curieux, ca utilise le fitre "mpeg2 demultiplexer" ?! Même pour le mpeg4.
non c'est deux "couches" du flux totalement différentes :wink:

la vidéo est encodé en mpeg4 avc (=> on obtient un flux vidéo), l'audio en ac3 par exemple (flux audio) et on encapsule le tout dans un format container, ici le MPEG2-TS => on obtient un flux multimédia avec audio vidéo et sous-titres si besoin est.

EDIT : @ f@bek : tu pourrait me rapporter ce que t'affiche graphedit dans les propriété du décodeur vidéo sur la pin d'entrée ? (clic droit propriété et tu prends l'onglet xform in ou vidéo in ou un truc comme ca ^^)
f@bek
Messages : 18
Enregistré le : 19 sept. 2007, 14:41
Carte Tuner : PCTV Pico Stick 74e, WIN 7 64bits

Message par f@bek »

MatMaul a écrit :EDIT : @ f@bek : tu pourrait me rapporter ce que t'affiche graphedit dans les propriété du décodeur vidéo sur la pin d'entrée ? (clic droit propriété et tu prends l'onglet xform in ou vidéo in ou un truc comme ca ^^)
"the request property page could not be displayed"

par contre j'ai pu avoir l'info via ma solution tsreader + MPC HC

l'entrée cyberlink H.264
- Connected to:

CLSID: {DC257063-045F-4BE2-BD5B-E12279C464F0}
Filter: Mpeg Splitter
Pin: Video

- Connection media type:

Video: MPEG4 Video (H264) 1920x1088

AM_MEDIA_TYPE:
majortype: MEDIATYPE_Video {73646976-0000-0010-8000-00AA00389B71}
subtype: Unknown GUID Name {31435641-0000-0010-8000-00AA00389B71}
formattype: FORMAT_MPEG2_VIDEO {E06D80E3-DB46-11CF-B4D1-00805F6CBBEA}
bFixedSizeSamples: 1
bTemporalCompression: 0
lSampleSize: 1
cbFormat: 176

VIDEOINFOHEADER:
rcSource: (0,0)-(0,0)
rcTarget: (0,0)-(0,0)
dwBitRate: 0
dwBitErrorRate: 0
AvgTimePerFrame: 0

VIDEOINFOHEADER2:
dwInterlaceFlags: 0x00000000
dwCopyProtectFlags: 0x00000000
dwPictAspectRatioX: 1920
dwPictAspectRatioY: 1088
dwControlFlags: 0x00000000
dwReserved2: 0x00000000

MPEG2VIDEOINFO:
dwStartTimeCode: 0
cbSequenceHeader: 44
dwProfile: 0x0000004d
dwLevel: 0x00000028
dwFlags: 0x00000004

BITMAPINFOHEADER:
biSize: 40
biWidth: 1920
biHeight: 1088
biPlanes: 0
biBitCount: 0
biCompression: AVC1
biSizeImage: 0
biXPelsPerMeter: 0
biYPelsPerMeter: 0
biClrUsed: 0
biClrImportant: 0

pbFormat:
0000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0030: 00 00 00 00 00 00 00 00 80 07 00 00 40 04 00 00 ........€...@...
0040: 00 00 00 00 00 00 00 00 28 00 00 00 80 07 00 00 ........(...€...
0050: 40 04 00 00 00 00 00 00 41 56 43 31 00 00 00 00 @.......AVC1....
0060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0070: 00 00 00 00 2c 00 00 00 4d 00 00 00 28 00 00 00 ....,...M...(...
0080: 04 00 00 00|00 24 27 4d 00 28 e8 a0 3c 02 27 ef .....$'M.(è <.'ï
0090: 01 6a 02 02 03 e0 00 00 96 00 00 1d 4c 1d 10 00 .j...à..–...L...
00a0: 13 2f 00 00 e3 23 5e f7 01 40 00 04 28 27 a4 b8 ./..ã#^÷.@..('¤¸
c'était l'info que tu voulais ?

sinon voila l'entrée de l'EVR
- Connected to:

CLSID: {F2E3D920-0F9B-4319-BE87-EB94CCEB6C09}
Filter: CyberLink H.264/AVC Decoder (PDVD7.x)
Pin: Video Out

- Connection media type:

Video: DXVA 1920x1088 (16:9)

AM_MEDIA_TYPE:
majortype: MEDIATYPE_Video {73646976-0000-0010-8000-00AA00389B71}
subtype: MEDIASUBTYPE_NV12 {3231564E-0000-0010-8000-00AA00389B71}
formattype: FORMAT_VideoInfo2 {F72A76A0-EB0A-11D0-ACE4-0000C0CC16BA}
bFixedSizeSamples: 1
bTemporalCompression: 0
lSampleSize: 518400
cbFormat: 112

VIDEOINFOHEADER:
rcSource: (0,0)-(1920,1080)
rcTarget: (0,0)-(1920,1080)
dwBitRate: 0
dwBitErrorRate: 0
AvgTimePerFrame: 0

VIDEOINFOHEADER2:
dwInterlaceFlags: 0x00000081
dwCopyProtectFlags: 0x00000001
dwPictAspectRatioX: 16
dwPictAspectRatioY: 9
dwControlFlags: 0x00000000
dwReserved2: 0x00000000

BITMAPINFOHEADER:
biSize: 40
biWidth: 1920
biHeight: 1088
biPlanes: 1
biBitCount: 12
biCompression: dxva
biSizeImage: 3133440
biXPelsPerMeter: 0
biYPelsPerMeter: 0
biClrUsed: 0
biClrImportant: 0

pbFormat:
0000: 00 00 00 00 00 00 00 00 80 07 00 00 38 04 00 00 ........€...8...
0010: 00 00 00 00 00 00 00 00 80 07 00 00 38 04 00 00 ........€...8...
0020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0030: 81 00 00 00 01 00 00 00 10 00 00 00 09 00 00 00
clé AF9015 / Pinnacle picoStick 74e ; 4X @ 4.0 Ghz; NV460; Win 7 64 bits