From: Mickaël R. <Mic...@in...> - 2013-04-25 01:48:06
|
Kashyap, the decoder is integrated into gpac and you'd better used gpac as the player instead of mplayer. The implementation we have done for the MP4 demux is not 100% compliant with what is done into gpac and mp4box. regards, __ Mickaël Le 23 avr. 2013 à 06:32, Kashyap Kambhatla <kka...@uc...> a écrit : > > Dear Médéric Blestel, > > I just realized that using the option -vo yuv4mpeg was causing a problem. Though it writes the output video to a file named 'stream.yuv' when i try to play, it causes a problem. > Now i am able to play the video with just this command alone > >mplayer -fps 25 video_5.264 > However i need to capture the output video in raw yuv format. Kindly help me. I really appreciate your help. > Regards, > Kashyap > > PS: please see my previous post with subject ' Compilation error'. > > On Mon, Apr 22, 2013 at 2:13 PM, Kashyap Kambhatla <kka...@uc...> wrote: > Dear Médéric Blestel, > I greatly appreciate your help. I have successfully compiled the mplayer package provided in the open svc decoder download src_1.12. These were the following commands > >./configure, >make, >./configure –enable-svc, and finally >make > Compilation completed with zero errors. > However when I decode the video, the output yuv file has lesser frames and is also not proper. The output yuv file size is also different from what I obtain from the JSVM decoder. Below I explain the steps I had followed for decoding the .264 files. > Step 1: I downloaded video_5.zip, provided in the ‘Video Streams’ package in sourceforge.net. The zip file contains video_5.264, video_5.mp4 and a text file. So I downloaded and installed GPAC in order to use the Mp4Box to encapsulate my .264 files and create .mp4 files. > Step 2: My video file Stefan has a resolution of 720x480, and encoded using the MGS configuration (3 SNR quality layers, 4 temporal layers (T0 – T3)) in JSVM 9.19.14 at 30 frames per second. I encoded 4 GOPS = 32 frames. > Step 3: Then I ran the following command to encapsulate my .264 > >MP4Box –add stefan5.264:svcmode=merged stefan5.mp4 –fps 30 > AVC-H264 import - frame size 720 x 480 at 30.000 FPS > SVC Detected - SSPS ID 0 - frame size 720 x 480 > AVC Import results: 32 samples - Slices: 1 I 31 P 0 B - 0 SEI - 1 IDR > SVC (SSPS ID 0) Import results: Slices: 3 I 93 P 0 B > Saving stefan5.mp4: 0.500 secs Interleaving > Step 4: Now I opened MinGW and ran the following commands to create the yuv file for the downloaded video_5.mp4 (contains 500 frames) and my stefan5.mp4 (contains 32 frames). > >mplayer –fps 25 video_5.mp4 –vo yuv4mpeg > MPlayer UNKNOWN-4.6.2 (C) 2000-2010 MPlayer Team > Playing video_5.mp4. > libavformat file format detected. > [lavf] stream 0: video (h264), -vid 0 > VIDEO: [H264] 320x176 24bpp 25.000 fps 376.9 kbps (46.0 kbyte/s) > Clip info: > major_brand: isom > minor_version: 1 > compatible_brands: isomavc1 > Using (default) progressive frame mode.==================================== > ============================== > Opening video decoder: [ffmpeg] IETR's codec family > [h264 @ 00c51054]Mp4 command: LayerId 16 > Selected video codec: [ffh264] vfm: ffmpeg (FFmpeg H.264) > ========================================================================== > Audio: no sound > FPS forced to be 25.000 (ftime: 0.040). > Starting playback... > Movie-Aspect is undefined - no prescaling applied. > VO: [yuv4mpeg] 320x176 => 320x176 Planar YV12 > V: 20.6 500/500 4% 0% 0.0% 0 0 > Exiting... (End of file) > Similarly I generated the yuv file for my encoded video and the output is given below: > >mplayer –fps 30 stefan5.mp4 –vo yuv4mpeg > MPlayer UNKNOWN-4.6.2 (C) 2000-2010 MPlayer Team > Playing stefan5.mp4. > libavformat file format detected. > [lavf] stream 0: video (h264), -vid 0 > [lavf] stream 1: video (h264), -vid 1 > [lavf] stream 2: video (h264), -vid 2 > VIDEO: [H264] 720x480 24bpp 25.000 fps 1517.7 kbps (185.3 kbyte/s) > Clip info: > major_brand: isom > minor_version: 1 > compatible_brands: isomavc1 > Using (default) progressive frame mode.================================= > ============================ > Opening video decoder: [ffmpeg] IETR's codec family > Selected video codec: [ffh264] vfm: ffmpeg (FFmpeg H.264) > ======================================================================== > Audio: no sound > FPS forced to be 30.000 (ftime: 0.033). > Starting playback... > Movie-Aspect is undefined - no prescaling applied. > VO: [yuv4mpeg] 720x480 => 720x480 Planar YV12 > Movie-Aspect is undefined - no prescaling applied. > VO: [yuv4mpeg] 720x480 => 720x480 Planar YV12 > V: 1.2 32/ 32 18% 0% 0.0% 0 0 > Exiting... (End of file) > Step 5: I now played the generated yuv file using mplayer > >mplayer stefan5.yuv –demuxer rawvideo –rawvideo w=720:h:480:fps=30:format=yv12 (I used yv12 since it showed yv12 while decoding) > MPlayer UNKNOWN-4.6.2 (C) 2000-2010 MPlayer Team > Playing stefan5.yuv. > rawvideo file format detected. > ======================================================== > Opening video decoder: [raw] RAW Uncompressed Video > Movie-Aspect is undefined - no prescaling applied. > VO: [direct3d] 720x480 => 720x480 Planar YV12 > Selected video codec: [rawyv12] vfm: raw (RAW YV12) > ======================================================== > Audio: no sound > Starting playback... > Frame too small! (154<518400) Wrong format? > V: 0.7 21/ 21 0% 20% 0.0% 0 0 > Only 21 frames were displayed (originally 32 frames encoded). Also the yuv file size is different from what I got by using the JSVM decoder. Output yuv file size using OpenSVCdecoder through mplayer is 10,126 KB and size using JSVM decoder is 16,200 KB. I am attaching a few frames from the mplayer below. Similarly for video_5 only 486 frames (originally 500 frames encoded) were displayed. > > Kindly let me know if I have done anything wrong and how will I be able to get a proper yuv file. > > Regards, > Kashyap > > > On Fri, Apr 19, 2013 at 1:18 PM, Médéric Blestel <mbl...@gm...> wrote: > Dear Kashyap, > > > Thank you for using OpenSVC Decoder. > > However, errors you are mentioning are part from mplayer source. > So, you should try compiling mplayer without enabling the SVC Decoder, and once done, activate the option in order to use OpenSVCDecoder. > > For further help about compiling mplayer, you should refer to their web site. > Regards, > Médéric > > > > 2013/4/19 Kashyap Kambhatla <kka...@uc...> > Hi, > I tried installing the Open SVC decoder, ver 1.12 using MinGW. I installed the latest MinGW console with gcc version 4.7.2 on a 64-bit Windows 7 OS. I followed the instructions provided in the publication "Open SVC Decoder: a flexible SVC Library" and first ran ./configure --enable-svc in the console to create config.h and config.mak files in the Mplayer folder. However when i run the make command i end up getting the below error. > I tried the commands with version 1.08 specified in the publication but ended up with the same problem. > Kindly help me resolve this issue and let me know how to proceed. > > Regards, > Kashyap > -------- Error during compilation ---------------- > In file included from h264.h:33:0, > from h264_cabac.c:33: > h264_cabac.c: In function 'ff_h264_decode_mb_cabac': > cabac.h:527:5: error: can't find a register in class 'GENERAL_REGS' while reload > ing 'asm' > cabac.h:527:5: error: can't find a register in class 'GENERAL_REGS' while reload > ing 'asm' > cabac.h:527:5: error: can't find a register in class 'GENERAL_REGS' while reload > ing 'asm' > cabac.h:527:5: error: can't find a register in class 'GENERAL_REGS' while reload > ing 'asm' > cabac.h:527:5: error: can't find a register in class 'GENERAL_REGS' while reload > ing 'asm' > In file included from ../libavutil/intreadwrite.h:66:0, > from dsputil.h:33, > from h264_cabac.c:31: > ../libavutil/x86/intreadwrite.h:71:5: error: 'asm' operand has impossible constr > aints > ../libavutil/x86/intreadwrite.h:71:5: error: 'asm' operand has impossible constr > aints > ../libavutil/x86/intreadwrite.h:71:5: error: 'asm' operand has impossible constr > aints > ../libavutil/x86/intreadwrite.h:71:5: error: 'asm' operand has impossible constr > aints > In file included from h264.h:33:0, > from h264_cabac.c:33: > cabac.h:527:5: error: 'asm' operand has impossible constraints > cabac.h:527:5: error: 'asm' operand has impossible constraints > cabac.h:527:5: error: 'asm' operand has impossible constraints > cabac.h:527:5: error: 'asm' operand has impossible constraints > cabac.h:527:5: error: 'asm' operand has impossible constraints > cabac.h:527:5: error: 'asm' operand has impossible constraints > cabac.h:527:5: error: 'asm' operand has impossible constraints > cabac.h:527:5: error: 'asm' operand has impossible constraints > cabac.h:527:5: error: 'asm' operand has impossible constraints > cabac.h:527:5: error: 'asm' operand has impossible constraints > cabac.h:527:5: error: 'asm' operand has impossible constraints > cabac.h:527:5: error: 'asm' operand has impossible constraints > cabac.h:527:5: error: 'asm' operand has impossible constraints > cabac.h:527:5: error: 'asm' operand has impossible constraints > cabac.h:527:5: error: 'asm' operand has impossible constraints > cabac.h:527:5: error: 'asm' operand has impossible constraints > In file included from mathops.h:38:0, > from put_bits.h:36, > from cabac.h:30, > from h264.h:33, > from h264_cabac.c:33: > x86/mathops.h:54:5: error: 'asm' operand has impossible constraints > x86/mathops.h:54:5: error: 'asm' operand has impossible constraints > x86/mathops.h:54:5: error: 'asm' operand has impossible constraints > x86/mathops.h:54:5: error: 'asm' operand has impossible constraints > x86/mathops.h:54:5: error: 'asm' operand has impossible constraints > x86/mathops.h:54:5: error: 'asm' operand has impossible constraints > x86/mathops.h:54:5: error: 'asm' operand has impossible constraints > x86/mathops.h:54:5: error: 'asm' operand has impossible constraints > x86/mathops.h:54:5: error: 'asm' operand has impossible constraints > x86/mathops.h:54:5: error: 'asm' operand has impossible constraints > x86/mathops.h:54:5: error: 'asm' operand has impossible constraints > x86/mathops.h:54:5: error: 'asm' operand has impossible constraints > x86/mathops.h:54:5: error: 'asm' operand has impossible constraints > x86/mathops.h:54:5: error: 'asm' operand has impossible constraints > x86/mathops.h:54:5: error: 'asm' operand has impossible constraints > x86/mathops.h:54:5: error: 'asm' operand has impossible constraints > x86/mathops.h:54:5: error: 'asm' operand has impossible constraints > x86/mathops.h:54:5: error: 'asm' operand has impossible constraints > x86/mathops.h:54:5: error: 'asm' operand has impossible constraints > x86/mathops.h:54:5: error: 'asm' operand has impossible constraints > In file included from ../libavutil/intreadwrite.h:66:0, > from dsputil.h:33, > from h264_cabac.c:31: > ../libavutil/x86/intreadwrite.h:71:5: error: 'asm' operand has impossible constr > aints > ../libavutil/x86/intreadwrite.h:71:5: error: 'asm' operand has impossible constr > aints > ../libavutil/x86/intreadwrite.h:71:5: error: 'asm' operand has impossible constr > aints > ../libavutil/x86/intreadwrite.h:71:5: error: 'asm' operand has impossible constr > aints > ../libavutil/x86/intreadwrite.h:35:5: error: 'asm' operand has impossible constr > aints > ../libavutil/x86/intreadwrite.h:35:5: error: 'asm' operand has impossible constr > aints > ../libavutil/x86/intreadwrite.h:35:5: error: 'asm' operand has impossible constr > aints > make[1]: *** [h264_cabac.o] Error 1 > make[1]: Leaving directory `/home/Kashyap_Seethal/src_1.12/src_1.12/Mplayer/liba > vcodec' > make: *** [libavcodec/libavcodec.a] Error 2 > > ------------------------------------------------------------------------------ > Precog is a next-generation analytics platform capable of advanced > analytics on semi-structured data. The platform includes APIs for building > apps and a phenomenal toolset for data science. Developers can use > our toolset for easy data analysis & visualization. Get a free account! > http://www2.precog.com/precogplatform/slashdotnewsletter > _______________________________________________ > Opensvcdecoder-support mailing list > Ope...@li... > https://lists.sourceforge.net/lists/listinfo/opensvcdecoder-support > > > > > ------------------------------------------------------------------------------ > Try New Relic Now & We'll Send You this Cool Shirt > New Relic is the only SaaS-based application performance monitoring service > that delivers powerful full stack analytics. Optimize and monitor your > browser, app, & servers with just a few lines of code. Try New Relic > and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_apr_______________________________________________ > Opensvcdecoder-support mailing list > Ope...@li... > https://lists.sourceforge.net/lists/listinfo/opensvcdecoder-support |