Tôi đang cố gắng để chơi video mp4 luồng từ một máy chủ sử dụng có nguồn gốc VideoView, thật đáng buồn tôi tiếp tục nhận được một lỗi "Không thể phát video".Android: không thể chơi mp4 video
Điều kỳ lạ là cùng một video phát tốt trên Froyo nhưng sẽ không phát trên HoneyComb. Tôi đã thử cùng một video với Trình phát video MX (trên HC) và nó phát rất tốt.
Một vấn đề lớn khác là tôi không thể mã hóa lại video, vì vậy tôi phải sử dụng các video như cũ.
- Điều gì gây ra lỗi?
- Tôi làm cách nào để phát video?
- Tôi có nên tìm cách đưa thư viện codec vào ứng dụng của mình không?
Dưới đây là chi tiết từ logcat:
E/MediaExtractor( 242): **********MediaExtractor::Create
D/DivXPlugin( 241): DivXPlugin::onInitialize : 75
D/DivXPlugin( 241): DivXPlugin::onSetOnInfoListener : 75
D/DivXPlugin( 241): DivXPlugin::onOpenDecryptSession: Enter : 75
E/DivXPlugin( 241): DivXPlugin::onOpenDecryptSession() Not a Divx File.
E/DrmManager(Native)( 241): DrmManager::openDecryptSession: no capable plug-in found
D/DivXPlugin( 241): DivXPlugin::onTerminate : 75
E/MediaExtractor( 242): ************Autodetected media content as 'video/mpeg4' with confidence 0.40
D/AwesomePlayer( 242): finishSetDataSource_l getDrmInfo
D/AwesomePlayer( 242): setDataSource_l
E/MPEG4Extractor( 242): ftyp chunk found
D/MPEG4Extractor( 242): kKeyAVCC found
E/MPEG4Extractor( 242): ERROR_MALFORMED because ret=-108
E/MPEG4Extractor( 242): return ERROR_UNSUPPORTED
E/MPEG4Extractor( 242): return ERROR_UNSUPPORTED
D/AwesomePlayer( 242): UNKNOWN_ERROR: no Video and no Audio
D/AwesomePlayer( 242): abortPrepare
D/AwesomePlayer( 242): notifyListener_l
E/MediaPlayer(3906): error (1, -2147483648)
E/MediaPlayer(3906): Error (1,-2147483648)
D/VideoView(3906): Error: 1,-2147483648
Và thông số kỹ thuật của video mà không thể chơi được:
General Format : MPEG-4 Format profile : Base Media Codec ID : isom File size : 60.7 MiB Duration : 7mn 3s Overall bit rate mode : Variable Overall bit rate : 1 201 Kbps Writing application : Lavf52.37.0 Video ID : 1 Format : AVC Format/Info : Advanced Video Codec Format profile : [email protected] Format settings, CABAC : Yes Format settings, ReFrames : 4 frames Codec ID : avc1 Codec ID/Info : Advanced Video Coding Duration : 7mn 3s Duration_FirstFrame : 40ms Bit rate : 1 072 Kbps Width : 1 024 pixels Height : 576 pixels Display aspect ratio : 16:9 Frame rate mode : Constant Frame rate : 25.000 fps Color space : YUV Chroma subsampling : 4:2:0 Bit depth : 8 bits Scan type : Progressive Bits/(Pixel*Frame) : 0.073 Stream size : 54.2 MiB (89%) Writing library : x264 core 65 r0+1016 dbc5ef0 Encoding settings : cabac=1/ref=4/deblock=1:0:0/analyse=0x3:0x113/me=umh/subme=8/psy_rd=1.0:0.0/mixed_ref=1/me_range=16/chroma_me=1/trellis=1/8x8dct=1/cqm=0/deadzone=21,11/chroma_qp_offset=-2/threads=6/nr=0/decimate=1/mbaff=0/bframes=16/b_pyramid=0/b_adapt=1/b_bias=0/direct=3/wpredb=1/keyint=125/keyint_min=25/scenecut=40(pre)/rc=2pass/bitrate=1072/ratetol=1.0/qcomp=0.80/qpmin=10/qpmax=51/qpstep=4/cplxblur=20.0/qblur=0.5/ip_ratio=1.41/pb_ratio=1.25/aq=1:1.00 Language : English Audio ID : 2 Format : AAC Format/Info : Advanced Audio Codec Format profile : LC Codec ID : 40 Duration : 7mn 3s Bit rate mode : Variable Bit rate : 122 Kbps Channel(s) : 2 channels Channel positions : Front: L R Sampling rate : 48.0 KHz Compression mode : Lossy Stream size : 6.18 MiB (10%) Language : English
Tôi đã nghĩ đến việc thêm thư viện ffmpeg vào ứng dụng của mình, nhưng tôi biết rất ít về NDK của Android. Bất cứ ai có gợi ý hoặc liên kết để cung cấp? – sebataz