2011-07-04 114 views
1

我無法理解如何使用libavcodec轉換(例如,從avi轉換爲h.264)。我可以轉換視頻在我的C++程序是這樣的:使用ffmpeg在C++流媒體服務器中轉換視頻

file=popen("ffmpeg -i file.avi file.m4v"); 

我可以使用此功能,而無需等待完成視頻轉換過程中動態地流?

+1

如果您不想等待流程執行,最好使用'fork'和'exec'系列函數。 –

回答

2

在轉碼過程中,您無法對m4v文件進行流式處理。 ffmpeg在轉碼過程結束時寫入元數據,這需要流式傳輸視頻。完成轉換後,您必須使用MP4Boxqt-fatsstart將此元數據放在開頭。如果您仍想在轉換過程中流式傳輸視頻,我認爲您必須將視頻轉換爲MPEG傳輸流(mpeg-ts)格式。