<html><body><div style="color:#000; background-color:#fff; font-family:times new roman, new york, times, serif;font-size:12pt"><div><span>I don't want to be obstinate, but I'm curious as to why you would need precise seeking beyond that provided by key frames?  Are key frames intolerably far apart for scrolling to the nearest key frame in MPlayer?<br></span></div><div><br><span></span></div><div><span>If you're using seeking to position the player properly during streaming playback, I believe you can keep track of your position with something like the following.  It says not to do a seek if you're already close enough in the stream.  It would be nice if av_seek_frame kept track of that for you, but with optimizations for various different stream formats it's easy to understand why it doesn't, or why it's difficult to do.<br></span></div><div><br><span></span></div><div><span>int Reader::moveToFrame(int millis)<br>{<br>   
 int m1 = (double) (millis+1)/_millisPerFileFrame;<br>    int m2 = AV_TIME_BASE/1000*m1*_millisPerFileFrame;<br></span><span class="tab">    </span><span>if (abs(_nextFrame - m1) > 2)<br></span><span class="tab">    </span><span class="tab">    </span><span>av_seek_frame(_formatCtx, -1, m2, 0);</span></div><div><span>}<br></span></div><div><span><br></span></div><div><br></div>  <div style="font-family: times new roman, new york, times, serif; font-size: 12pt;"> <div style="font-family: times new roman, new york, times, serif; font-size: 12pt;"> <div dir="ltr"> <font size="2" face="Arial"> <hr size="1">  <b><span style="font-weight:bold;">From:</span></b> Sumudu F <sumuduf2011@gmail.com><br> <b><span style="font-weight: bold;">To:</span></b> libav-api@libav.org <br> <b><span style="font-weight: bold;">Sent:</span></b> Friday, January 27, 2012 2:52 AM<br> <b><span style="font-weight:
 bold;">Subject:</span></b> [libav-api] Need support to solve the problem in libavformat, which led to a seeking problem in MPlayer2.exe<br> </font> </div> <br>
<meta http-equiv="x-dns-prefetch-control" content="off"><div id="yiv834858757">


<div class="yiv834858757MsoNormal">I’m working with the new MPlayer2.exe under windows in slave
mode. I really need a solution for this seeking problem in MPlayer2, <span style=""> </span>when seeking in MPEG1 program stream files.</div>

<div class="yiv834858757MsoNormal" style="margin-bottom:6.0pt;line-height:normal;">I want to do
a precise seek in a MPEG1 program stream files(m2v video with mp2 audio), using
the new MPlayer2.exe precise seek command,<span style=""> 
</span>seek <value> [type] [hr-seek].</div>

<div class="yiv834858757MsoNormal" style="margin-bottom:6.0pt;line-height:normal;"> </div>

<div class="yiv834858757MsoNormal" style="margin-bottom:6.0pt;line-height:normal;">The way I
used the command is,</div>

<div class="yiv834858757MsoNormal" style="margin-bottom:6.0pt;line-height:normal;">seek
<value> [type] [hr-seek]</div>

<div class="yiv834858757MsoNormal" style="margin-bottom:6.0pt;line-height:normal;"><span style="">        </span>type = 2 is a seek to an absolute
position of <value> seconds.</div>

<div class="yiv834858757MsoNormal" style="margin-bottom:6.0pt;line-height:normal;"><span style="">        </span>hr-seek = 1 means force precise seek if
possible.</div>

<div class="yiv834858757MsoNormal" style="margin-bottom:6.0pt;line-height:normal;">In my C code
I gave the command with the <value><span style=""> 
</span>for the time position as a double, calculated for the required
frame.<span style="">  </span>("seek %f 2 1", fTime).</div>

<div class="yiv834858757MsoNormal" style="margin-bottom:6.0pt;line-height:normal;"><span style="">  </span>Eg- ‘seek <span style=""> </span>4.28 <span style=""> </span>2 <span style=""> </span>1’</div>

<div class="yiv834858757MsoNormal" style="margin-bottom:6.0pt;line-height:normal;"> </div>

<div class="yiv834858757MsoNormal" style="margin-bottom:6.0pt;line-height:normal;">This works
for MPEG2 program stream files(m2v video with mp2 audio), and other types like
.AVI. </div>

<div class="yiv834858757MsoNormal" style="margin-bottom:6.0pt;line-height:normal;">But for MPEG1
program stream files<span style="">  </span>it jumps only to
the key frames and not to the exact frame as expected.</div>

<div class="yiv834858757MsoNormal" style="margin-bottom:6.0pt;line-height:normal;"> </div>

<div class="yiv834858757MsoNormal" style="margin-bottom:6.0pt;line-height:normal;">I have
uploaded MPEG1 program stream sample files at,</div>

<div class="yiv834858757MsoNormal" style="margin-bottom:6.0pt;line-height:normal;">http://uploading.com/files/46f51fcc/Mpeg1_mid.mpg/</div>

<div class="yiv834858757MsoNormal" style="margin-bottom:6.0pt;line-height:normal;">http://uploading.com/files/aeda943b/Mpeg1_small.mpg/</div>

<div class="yiv834858757MsoNormal" style="margin-bottom:6.0pt;line-height:normal;"> </div>

<div class="yiv834858757MsoNormal">When I asked about this from Mplayer2 support team, they
told me that , <i><span style="color:red;">“When explicitly</span></i></div>

<div class="yiv834858757MsoNormal"><i><span style="color:red;">specifying --demuxer=lavf the
libavformat demuxer is successfully</span></i></div>

<div class="yiv834858757MsoNormal"><i><span style="color:red;">opened, but it then fails to do
time-based seeking properly with this</span></i></div>

<div class="yiv834858757MsoNormal"><i><span style="color:red;">file (the only position it
successfully seeks to is the beginning).”</span></i></div>

<div class="yiv834858757MsoNormal"><i><span style="color:red;">http://lists.mplayer2.org/pipermail/mplayer2-users/2011-December/000039.html</span></i></div>


<div class="yiv834858757MsoNormal"><i><span style="color:red;"> </span></i></div>

<div class="yiv834858757MsoNormal">When I asked further, <b>Uoti Urpala</b> <<a rel="nofollow" ymailto="mailto:uoti.urpala@pp1.inet.fi" target="_blank" href="mailto:uoti.urpala@pp1.inet.fi">uoti.urpala@pp1.inet.fi</a>>
from Mplayer2 replied me as, </div>

<div class="yiv834858757MsoNormal"><i><span style="color:red;">It's a problem in libavformat,
not directly in mplayer2 code.</span></i></div>

<div><br></div><div>So, could you please help me with this? Can I get a solution to
my problem through libavformat ? </div><div>Will you be able to correct libavformat
library to support time-based seeking properly with MPEG1 program stream files?</div>


<br>
</div><meta http-equiv="x-dns-prefetch-control" content="on"><br>_______________________________________________<br>libav-api mailing list<br><a ymailto="mailto:libav-api@libav.org" href="mailto:libav-api@libav.org">libav-api@libav.org</a><br><a href="https://lists.libav.org/mailman/listinfo/libav-api" target="_blank">https://lists.libav.org/mailman/listinfo/libav-api</a><br><br><br> </div> </div>  </div></body></html>