2012-02-06 13 views
0

我們剛剛爲我們的一個系統創建了一個iPhone應用程序,允許用戶將圖片和視頻內容上傳到我們的服務中。我們遇到的最後一個主要問題是如何處理以橫向右側以外的方向上傳的視頻。顯然,如果您的播放系統沒有考慮與視頻一起發送的方向標誌,那麼它將會顛倒或橫向播放。基於Web的方向標記iOS視頻回放

正確的方法出現是因爲回放系統應該在回放之前考慮方向標誌。這就是Apple直接在設備上以及通過Quicktime處理它的方式。

因此,我的第一個希望是有人知道基於網絡(HTML5或Flash)的播放器能夠在播放期間根據視頻方向元數據或基於通過的標誌旋​​轉視頻(我們已經擁有如果我們需要手動傳遞它,必要的標誌在數據庫中可用)。如果你知道任何這樣的球員,然後請分享!

如果你不知道這樣的球員,那麼有沒有人有幸使用FFMPEG或MEncoder旋轉他們的視頻?我們上週進行了幾個小時的測試,並沒有能夠從那裏提到的兩名重擊手得到任何體面的結果。

失敗所有這一切,有可能讓iPhone在指定的方向上傳視頻或圖像?

這三者中的任何一個都適合我,但我寧願做任何標準的事情(如果存在的話)。

任何幫助非常感謝!

回答

1
Maybe I am missing what you asking but if you are using ffmpeg on the iPhone or android which uses opengl couldn't you read the metadata in the stream and adjust the orientation accordingly with glrotate, we had a similar issue on the ipad/iphone when someone changes the orientation. We watch for the orientation change notification and rotate the display. 


    #ifdef LANDSCAPE 
    glMatrixMode(GL_PROJECTION); 
    glLoadIdentity(); 
    glMatrixMode(GL_MODELVIEW); 
    glLoadIdentity(); 
    #ifdef __IPAD__ 
    printf("got to ipad"); 

    glViewport(0, 0, 768, 1024); 
    if (isFlipped()) 
    glRotatef(90, 0, 0, 1); 
    else 
    glRotatef(-90, 0, 0, 1); 
    glOrthof(0.0, (GLfloat) 1024, (GLfloat) 768, 0.0, 0, 100.0f); 
    #else 
    glViewport(0, 0, 320, 480); 
    if (isFlipped()) 
    glRotatef(90, 0, 0, 1); 
    else 
    glRotatef(-90, 0, 0, 1); 
    glOrthof(0.0, (GLfloat) 480, (GLfloat) 320, 0.0, 0, 100.0f); 
    #endif 
    #else 
    data->glMatrixMode(GL_PROJECTION); 
    data->glLoadIdentity(); 
    data->glMatrixMode(GL_MODELVIEW); 
    data->glLoadIdentity(); 
    data->glViewport(0, 0, window->w, window->h); 
    data->glOrthof(0.0, (GLfloat) window->w, (GLfloat) window->h, 0.0, 
    0, 1.0); 
    #endif 
    data->updateSize = SDL_FALSE; 
    } 

    You can also check out or iOS video player project for ways to extract metadata from the video stream. 

    www.mooncatventures.org/mediawiki 

+0

感謝中號大炮!我們最終通過在我們的服務器上手動編譯FFMPEG並啓用vfilter選項來解決此問題。 RedHat當前版本的FFMPEG很舊,沒有vfilter選項。您的答案可能很好,可以將流程卸載到手機端,並確保視頻保持在我們尚未考慮的正確方向。我很感激! – Shane 2012-03-05 20:06:28