Xuggleに基づいてサーバーシステムを作成し、受信ファイルをH264にエンコードして分割しました。しかし、クイックタイムでビデオを再生すると、ほとんどの場合(オーディオの小さな問題のため)うまく動作しますが、あるストリームを別のストリームに変更すると、画像が失われます。XuggleでのHTTPライブストリーミングのエンコーディング
だから私は「mediastreamvalidator'andは、次のエラーを得た走った:
ERROR: (-1) Unknown video codec: 1836069494 (program 0, track 0) ERROR: (-1) failed to parse segment as either an MPEG-2 TS or an ES
だから私はコーデックス上のいくつかの情報を取得するためにFFMPEGを使用: 私Xugglerエンコーディングの結果:
Input #0, mpegts, from 'segment_0.ts':
Duration: 00:00:09.40, start: 0.000000, bitrate: 3618 kb/s
Program 1
Metadata:
service_name : Service01
service_provider: FFmpeg
Stream #0.0[0x100]: Video: mpeg2video (Main), yuv420p, 960x540 [PAR 1:1 DAR 16:9], 104857 kb/s, 25 fps, 25 tbr, 90k tbn, 50 tbc
Stream #0.1[0x101]: Audio: mp2, 48000 Hz, stereo, s16, 128 kb/s
を
コンプレッサーによって作成されたファイルの結果:
Seems stream 0 codec frame rate differs from container frame rate: 180000.00 (180000/1) -> 25.00 (25/1)
Input #0, mpegts, from 'fileSequence1.ts':
Duration: 00:00:09.97, start: 19.984578, bitrate: 5308 kb/s
Program 1
Stream #0.0[0x101]: Video: h264 (Main), yuv420p, 960x540, 25 tbr, 90k tbn, 180k tbc
Stream #0.1[0x102]: Audio: aac, 22050 Hz, stereo, s16, 32 kb/s
舞nの違いは、Xugglerでエンコードされたファイルの場合、h264の代わりにVideo:mpeg2videoと表示されるようです。しかし、エンコーディング中に、私は特にコーダをICodec.ID.CODEC_ID_H264に設定しました。
どうすればh264を強制的に使用できますか?オーディオと同じです。私はAACを指定してMP2を取得する。
I以降の使用FFMPEG直接とで結果は:良く見える
Input #0, mpegts, from 'encoded.ts':
Duration: 00:00:24.16, start: 1.400000, bitrate: 360 kb/s
Program 1
Metadata:
service_name : Service01
service_provider: FFmpeg
Stream #0.0[0x100]: Video: h264 (Main), yuv420p, 1920x1080 [PAR 1:1 DAR 16:9], 25 fps, 25 tbr, 90k tbn, 50 tbc
Stream #0.1[0x101](eng): Audio: aac, 48000 Hz, stereo, s16, 57 kb/s
。私はFFMPEGを直接使うことができましたが、Xugglerを使って、ファイルの分割ができ、プロセスの進行状況を追跡しやすくなりました。