- Als neu kennzeichnen
- Lesezeichen
- Abonnieren
- Stummschalten
- RSS-Feed abonnieren
- Kennzeichnen
- Anstößigen Inhalt melden
I'm using simple_player to test mp4 decoding. The video is mp4_atom stream with H264 encoding as reported by the player.
However the video can not be played. Opening the project in debug mode I found exception report in visual studio output window:
Those are the file links:
However the video can not be played. Opening the project in debug mode I found exception report in visual studio output window:
First-chance exception at 0x75cab727 in simple_player.exe: Microsoft C++ exception: UMC::h264_exception at memory location 0x065ff8c0..
Those are the file links:
http://remixshare.com/dl/9z2lh/00002.mp4
http://remixshare.com/dl/tvlih/00003.mp4
http://remixshare.com/dl/6nrtv/00004.mp4
http://remixshare.com/dl/2tjie/00005.mp4
1 Lösung
- Als neu kennzeichnen
- Lesezeichen
- Abonnieren
- Stummschalten
- RSS-Feed abonnieren
- Kennzeichnen
- Anstößigen Inhalt melden
Hi. Your are using GPAC to create the .mp4 streams. So some modifications required in file
umc_mp4_parser.cpp from codec/mpeg4_spl/src directory.
The following lines should be added after line 1348:
else
dr->MovePosition(leaf_atom.size-8);
This modifcation required to skip the unused atom.Regards,
Alexander
Link kopiert
7 Antworten
- Als neu kennzeichnen
- Lesezeichen
- Abonnieren
- Stummschalten
- RSS-Feed abonnieren
- Kennzeichnen
- Anstößigen Inhalt melden
Hello,
Thanks for your report here. I will download these function, and have check here?
Which version of Intel IPP are you using now? Is this a 64 bit appliction, or 32 bit?
thanks,
Chao
Thanks for your report here. I will download these function, and have check here?
Which version of Intel IPP are you using now? Is this a 64 bit appliction, or 32 bit?
thanks,
Chao
- Als neu kennzeichnen
- Lesezeichen
- Abonnieren
- Stummschalten
- RSS-Feed abonnieren
- Kennzeichnen
- Anstößigen Inhalt melden
Hi. Your are using GPAC to create the .mp4 streams. So some modifications required in file
umc_mp4_parser.cpp from codec/mpeg4_spl/src directory.
The following lines should be added after line 1348:
else
dr->MovePosition(leaf_atom.size-8);
This modifcation required to skip the unused atom.Regards,
Alexander
- Als neu kennzeichnen
- Lesezeichen
- Abonnieren
- Stummschalten
- RSS-Feed abonnieren
- Kennzeichnen
- Anstößigen Inhalt melden
I'm using IPP 6.1 and UMC codec pipeline from simple_player example to create splitters and decoders.
Thank you I will try your modifications
Thank you I will try your modifications
- Als neu kennzeichnen
- Lesezeichen
- Abonnieren
- Stummschalten
- RSS-Feed abonnieren
- Kennzeichnen
- Anstößigen Inhalt melden
That is actually solved the problem. But there is another one with those HD mp4 appeared.
I'm capturing at equal intervals e.g. one frame from every N-th second using Splitter::SetTimePosition() and until Splitter::GetNextData() puts to in MediaDataEx::GetTime() frame after desired seek operation I keep extracting the frames.
With mts encoding of those files seeking is precise but with mp4 it is similar to ordinary low resolution videos.
E.g. seeking to 10th second returns first frame from 7th or 8th second,then further seeking to 20th second returns first frame from 16th second, that is several seconds before target position, and it needs to extract all frames to arrive to desired seek position.
Can this be solved or otherwise with small N=1,2 seconds it is much faster to keep extracting all frames one by one and pull only those at a desired N interval step.
Compared to non-HD videos those kinds of capture is very costly, cpu usage is 100% consuming all cores equally.
I'm capturing at equal intervals e.g. one frame from every N-th second using Splitter::SetTimePosition() and until Splitter::GetNextData() puts to in MediaDataEx::GetTime() frame after desired seek operation I keep extracting the frames.
With mts encoding of those files seeking is precise but with mp4 it is similar to ordinary low resolution videos.
E.g. seeking to 10th second returns first frame from 7th or 8th second,then further seeking to 20th second returns first frame from 16th second, that is several seconds before target position, and it needs to extract all frames to arrive to desired seek position.
Can this be solved or otherwise with small N=1,2 seconds it is much faster to keep extracting all frames one by one and pull only those at a desired N interval step.
Compared to non-HD videos those kinds of capture is very costly, cpu usage is 100% consuming all cores equally.
- Als neu kennzeichnen
- Lesezeichen
- Abonnieren
- Stummschalten
- RSS-Feed abonnieren
- Kennzeichnen
- Anstößigen Inhalt melden
Hi 9ine,
I'm not sure that I understood your problem but seems like this is typical thing for repositioning - looking foran I framenearst to selected time mark.
I'm not sure that I understood your problem but seems like this is typical thing for repositioning - looking foran I framenearst to selected time mark.
- Als neu kennzeichnen
- Lesezeichen
- Abonnieren
- Stummschalten
- RSS-Feed abonnieren
- Kennzeichnen
- Anstößigen Inhalt melden
How can I skip to nearest I frame after seek operation?
UMC samples show frames capture only.
UMC samples show frames capture only.
- Als neu kennzeichnen
- Lesezeichen
- Abonnieren
- Stummschalten
- RSS-Feed abonnieren
- Kennzeichnen
- Anstößigen Inhalt melden
Hi 9ine,
The simplest way skip to nearst frame is the following :
- reposition in stream;
- wait for decoder to return UMC_OK instead ofUMC_ERR_NOT_ENOUGH_DATA
Or you can analyze data from splitter (demuxer) after repositioning to skip the unneeded decoder calls.
Regards,
Alexander
Antworten
Themen-Optionen
- RSS-Feed abonnieren
- Thema als neu kennzeichnen
- Thema als gelesen kennzeichnen
- Diesen Thema für aktuellen Benutzer floaten
- Lesezeichen
- Abonnieren
- Drucker-Anzeigeseite