0

我想編碼媒體文件以用於HTTP實時流,但迄今沒有太多運氣。當我使用ICodec.ID.CODEC_ID_MPEG2TS或ICodec.ID.CODEC_ID_MPEG4碼流編碼,但我使用蘋果的驗證工具得到一個錯誤:嘗試使用H264進行HTTP實時流編碼

ERROR: (-12971) MPEG2 parser corrupt stream (program 1, track 257) ERROR: (-12971) failed to parse segment as either an MPEG-2 TS or an ES

如果我把它們保存爲.MP4​​,而不是.TS然後他們玩在QuickTime(但不作爲的.ts)

如果我使用ICodec.ID.CODEC_ID_H264編碼時,我得到了以下錯誤:

java.lang.RuntimeException: could not open stream [email protected][index:0;id:1;streamcoder:[email protected][[email protected][type=CODEC_TYPE_VIDEO;id=CODEC_ID_H264;name=libx264;];time base=1/25;frame rate=0/0;pixel type=YUV420P;width=640;height=360;];framerate:0/0;timebase:1/90000;direction:OUTBOUND;]: Operation not permitted

我對編碼器進行如下設置:

 coderSettings.width = 640; 
     coderSettings.height = 360; 
     coderSettings.bitRate = 700000; 
     coderSettings.codec = ICodec.ID.CODEC_ID_H264; 
     coderSettings.globalQuality = 75; 
     coderSettings.sampleRate = 22050; 

我只是想知道如果我做錯了什麼。我不知道那麼多的視頻編碼,所以當試圖編碼到H264時可能會忘記一個簡單的選項。

回答

1

這個問題已經被新版本的Xuggler 5.5修復了。但是,即使指定H264編碼器(基於擴展名),它似乎也使用了mpeg2ts編碼器。這給QT和iOS設備帶來了問題。

使用FFMPEG可能會更好,因爲有更多的控制。

0

xuggler是否需求?如果沒有,可以使用ffmpeg(xuggler的基礎)來準備資產,例如these instructions

+0

謝謝,我可以,但通過使用Xuggler,我可以快速分段,並且還可以更好地跟蹤編碼進度。 – 2012-05-01 19:44:09

+0

ffmpeg的新版本可以即時分段,但我相信你是對的,使用Xuggler可以更容易地跟蹤編碼進度。 – vipw 2012-05-02 09:19:21

+0

你真的知道哪個版本支持這個嗎?我檢出SVN並構建,但細分選項未知。我或多或少地直接使用FFMPEG,因爲Xuggler看起來非常複雜,如果涉及到編碼器,你完全無法做到。 – 2012-05-02 17:43:07

相關問題