VideoHelp Forum
+ Reply to Thread
Results 1 to 15 of 15
Thread
  1. Dear All: For my research project, I need to know how many bytes are played at every millisecond. At least for every 100 milliseconds. I can find bytes per second with the help of MPlayer and VLC. I want even finer information. My video files have VBR encoding. Thank you for your help and for your time. Sincere regards, RP
    Quote Quote  
  2. Always Watching guns1inger's Avatar
    Join Date
    Apr 2004
    Location
    Miskatonic U
    Search Comp PM
    Originally Posted by rpolavar View Post
    My video files have VBR encoding.
    Then the answer will vary constantly, as your bitrate goes up and down. What you will be seeing in your players is the average bitrate (in bytes) per second. You can extrapolate from that what the average will be per 100 milliseconds using simple math (you can work out the equation for yourself). But if you have VBR, this number will only hold for that particular section of footage, and may not be representative of the entire clip. You can only find a single value for a whole video if it uses CBR encoding.
    Read my blog here.
    Quote Quote  
  3. Dear guns1inger:

    Thank you for the lightning fast response. Even if I can obtain average at the end of every 100 millisecond period, it will be good; I can compute per each period on my own. What I need is something like the following:
    P B
    1 23
    2 43
    3 35
    4 19
    ...
    Where p stands for the period of 100 millisecond and b for number of bytes. Thank you for your time and for your help.

    Most earnest regards,

    RP
    Quote Quote  
  4. Always Watching guns1inger's Avatar
    Join Date
    Apr 2004
    Location
    Miskatonic U
    Search Comp PM
    Bitrates are usually displayed in either KBps or MBps, depending on the player. Unless you use a bitrate viewer that can show your per frame, you won't get much more granular than an amount per second. And even at the frame level you don't get down to milliseconds. One frame is 1/24th of a second (or 25th or 30th etc, depending on frame rate), while a millisecond is 1/1000th of a second. Given that a frame is the smallest meaningful unit of time in video, trying to extrapolate anything within is pretty pointless. If you are looking at this from a data streaming perspective then you would need to be looking at packets of data (including over heads etc), rather than the raw video data rates.

    To me, the question seems ill-worded, or there is a lot more context missing.
    Read my blog here.
    Quote Quote  
  5. Dear Guns1inger:

    You are absolutely right. I am looking at it from the data streaming point of view. I have a video server, let us assume. I would like to send the chunks of the videofiles in a meaningful manner. For example, I would like to send client 1 roughly some 500 millisecond worth of video. That is why I need this information. I have obtained frames with the help of MPlayer. However, when I add them up, they do not add up to the size of the video file because of the audio and the other encoding information, I guess. Can you point me where I can obtain the "packet" level information? Which tool can help me? Sorry badly worded message. I am extremely new to video file analysis. Thank you very, very much.

    Best regards,

    RP
    Quote Quote  
  6. Always Watching guns1inger's Avatar
    Join Date
    Apr 2004
    Location
    Miskatonic U
    Search Comp PM
    You would need to look at a packet sniffer if you want to analyse the data going through your network. Wireshark is free and well featured. You would need to isolate the video data, which you may be able to do by type and port.

    The bitrate shown by your player should be both video and audio, although it won't include any network overheads. 500 milliseconds is half a second, which is well within your bitrate numbers from your player.

    Again, VBR means that the data rate will rise and fall as the video plays, and not be a constant stream.
    Read my blog here.
    Quote Quote  
  7. Thank you once again for your valuable responses. I am not interested in sniffing the outgoing packets since in my project, I need not worry about them. What I need to accomplish is that I need to figure out how to split the file according to the specified time. The time may turn out to be 9.7 seconds, for example. The chunk should take care of both video and audio. Is it possible? Thank you once again for your time and for your help.

    Regards,

    Ramana
    Quote Quote  
  8. For AVI files VirtualDub can show you the byte position of every frame.
    Last edited by jagabo; 26th Aug 2010 at 15:34.
    Quote Quote  
  9. Member edDV's Avatar
    Join Date
    Mar 2004
    Location
    Northern California, USA
    Search Comp PM
    If you are analyzing MPeg video (DVD, ATSC/DVB, h.264, etc) the smallest meaingful unit is the 1/2 sec GOP (typ 15 frames NTSC, 12 frames PAL). There will be no VBR within the GOP, just from GOP to GOP.
    Recommends: Kiva.org - Loans that change lives.
    http://www.kiva.org/about
    Quote Quote  
  10. elecard streameye can list frame size for each frame , video only (no audio) , and print it in .csv format . So if you had CBR audio, and knew container overhead, you could calculate the information you require

    for streaming, you typically don' t take "some video" that is already encoded . If you need to know payload information you encode it CBR to your specs, that way you exactly what bandwidth is utilized
    Last edited by poisondeathray; 26th Aug 2010 at 16:27.
    Quote Quote  
  11. In an AVI file you can just look at the chunk headers to determine exactly how many bytes are used by each frame. In fact, many containers use that sort of structure -- named chunks with chunk sizes.
    Quote Quote  
  12. Hi Jagabo:

    I have downloaded VirtualDub but I am failing to open avi files. It says something like:
    VirtualDub Error graphic 7
    Couldn't locate decompressor for format 'XVID' (unknown)graphic 141 VirtualDub requires a Video for Windows (VFW) compatible codec to decompress video.
    DirectShow codecs, such as
    those used by Windows Media Player, are not suitable.
    What have I done wrong? Thank you.


    Hi edDV:

    What is the tool that gives me the GOP information? Thank you.

    Hi poisondeathray:

    Which is the tool that prints the CSV file? Thank you.

    Best regards,

    RP
    Quote Quote  
  13. it looks like your video is using xvid compression . You need to install xvid, or ffdshow and enable xvid in the vfw configuration for it to open in vdub

    "elecard streameye" is the tool that can print a csv file, but it doesn't support xvid compression . It supports h.264, mpeg2
    Quote Quote  
  14. Yes, you need an Xvid or Divx decoder. Xvid codec, ffdshow, Divx codec, all will work.

    I don't remember if VirtualDub's default behavior is to show the byte position within the file. You may have to configure it to do so. Options -> References -> Timeline -> add %B to the list if it's not already there. Unfortunately, it shows the position in hex, not decimal. VirtualDubMod shows it in decimal but in MB. So it's granularity isn't good.
    Quote Quote  
  15. Thank you, All, for your help. I have downloaded FFshow. Let us see whether I will be successful this time.

    Regards,

    RP
    Quote Quote  



Similar Threads

Visit our sponsor! Try DVDFab and backup Blu-rays!