我想編碼媒體文件以用於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時可能會忘記一個簡單的選項。
謝謝,我可以,但通過使用Xuggler,我可以快速分段,並且還可以更好地跟蹤編碼進度。 – 2012-05-01 19:44:09
ffmpeg的新版本可以即時分段,但我相信你是對的,使用Xuggler可以更容易地跟蹤編碼進度。 – vipw 2012-05-02 09:19:21
你真的知道哪個版本支持這個嗎?我檢出SVN並構建,但細分選項未知。我或多或少地直接使用FFMPEG,因爲Xuggler看起來非常複雜,如果涉及到編碼器,你完全無法做到。 – 2012-05-02 17:43:07