diff --git a/include/mp4v2/file.h b/include/mp4v2/file.h
index b2124d2..0da200e 100644
--- a/include/mp4v2/file.h
+++ b/include/mp4v2/file.h
@@ -404,6 +404,19 @@
 MP4FileHandle MP4Read(
     const char* fileName );
 
+/** Generalized version of above MP4Read, supporting reading a MP4 file at
+ *  the specific file offset.
+ *
+ *  @param fileName As for MP4Read
+ *  @param fileOffset seek offset in file that MP4 container structure starts
+ *  at.
+ */
+
+MP4V2_EXPORT
+MP4FileHandle MP4ReadFromOffset(
+    const char* fileName,
+    int64_t seekOffset);
+
 /** Read an existing mp4 file.
  *
  *  MP4ReadProvider is the first call that should be used when you want to just
diff --git a/src/mp4.cpp b/src/mp4.cpp
index 80a609a..53fcdfa 100644
--- a/src/mp4.cpp
+++ b/src/mp4.cpp
@@ -89,6 +89,10 @@
 
 MP4FileHandle MP4Read( const char* fileName )
 {
+  return MP4ReadFromOffset(fileName, 0);
+}
+
+MP4FileHandle MP4ReadFromOffset( const char* fileName, int64_t seekOffset) {
     if (!fileName)
         return MP4_INVALID_FILE_HANDLE;
 
@@ -99,6 +103,7 @@
     try
     {
         ASSERT(pFile);
+        pFile->SetInitialSeekOffset( seekOffset );
         pFile->Read( fileName, NULL );
         return (MP4FileHandle)pFile;
     }
diff --git a/src/mp4file.cpp b/src/mp4file.cpp
index 8597154..73772a7 100644
--- a/src/mp4file.cpp
+++ b/src/mp4file.cpp
@@ -59,6 +59,7 @@
     m_memoryBuffer = NULL;
     m_memoryBufferSize = 0;
     m_memoryBufferPosition = 0;
+    m_initialSeekOffset = 0;
 
     m_numReadBits = 0;
     m_bufReadBits = 0;
@@ -416,8 +417,8 @@
 
 void MP4File::ReadFromFile()
 {
-    // ensure we start at beginning of file
-    SetPosition(0);
+    // ensure we start at beginning of file or at specified seek offset.
+    SetPosition(m_initialSeekOffset);
 
     // create a new root atom
     ASSERT(m_pRootAtom == NULL);
@@ -626,6 +627,10 @@
     m_file = NULL;
 }
 
+void MP4File::SetInitialSeekOffset(int64_t seekOffset) {
+    m_initialSeekOffset = seekOffset;
+}
+
 void MP4File::Rename(const char* oldFileName, const char* newFileName)
 {
     if( FileSystem::rename( oldFileName, newFileName ))
diff --git a/src/mp4file.h b/src/mp4file.h
index 960505e..5c6bdaf 100644
--- a/src/mp4file.h
+++ b/src/mp4file.h
@@ -91,6 +91,7 @@
     bool CopyClose( const string& copyFileName );
     void Dump( bool dumpImplicits = false );
     void Close(uint32_t flags = 0);
+    void SetInitialSeekOffset(int64_t seekOffset);
 
     bool Use64Bits(const char *atomName);
     void Check64BitStatus(const char *atomName);
@@ -954,6 +955,7 @@
     File*    m_file;
     uint64_t m_fileOriginalSize;
     uint32_t m_createFlags;
+    int64_t m_initialSeekOffset;
 
     MP4Atom*          m_pRootAtom;
     MP4Integer32Array m_trakIds;
