
Recherche avancée
Autres articles (38)
-
Les autorisations surchargées par les plugins
27 avril 2010, parMediaspip core
autoriser_auteur_modifier() afin que les visiteurs soient capables de modifier leurs informations sur la page d’auteurs -
Publier sur MédiaSpip
13 juin 2013Puis-je poster des contenus à partir d’une tablette Ipad ?
Oui, si votre Médiaspip installé est à la version 0.2 ou supérieure. Contacter au besoin l’administrateur de votre MédiaSpip pour le savoir -
Keeping control of your media in your hands
13 avril 2011, parThe vocabulary used on this site and around MediaSPIP in general, aims to avoid reference to Web 2.0 and the companies that profit from media-sharing.
While using MediaSPIP, you are invited to avoid using words like "Brand", "Cloud" and "Market".
MediaSPIP is designed to facilitate the sharing of creative media online, while allowing authors to retain complete control of their work.
MediaSPIP aims to be accessible to as many people as possible and development is based on expanding the (...)
Sur d’autres sites (7767)
-
Android Exoplayer garbled mp4 video output on imagereader surface while playing fine on SurfaceView (Samsung galaxy tab s7)
29 mars 2023, par OrcunProblem :


I am trying to play an mp4 video file on Samsung Galaxy Tab S7 for video processing purposes. For the purpose, I use Exoplayer(v2.18.4) library to be able to play the video onto an ImageReader surface so that I can grab the frames in
ImageReader.OnImageAvailableListener
.

I do not have any problems in getting the frames. However, the frames I acquire are garbled/corrupted like :




When I saw this frame, it made me think that it is some sort of color format or codec issue for the mp4 file or device I use. In logcat, there are no errors reported.
Device uses
[OMX.qcom.video.decoder.avc]
decoder. Also, same video plays nicely on some other devices that use exactly the same decoder.

What I tried so far :


I tried a lot of things to understand the root cause and also find a solution, so my brain currently is free flowing stream. I will try to summarise, please bear with me.


I use a
CustomMediaCodecVideoRenderer
in my app which overridesMediaCodecVideoRenderer.getMediaFormat
of Exoplayer to set color format like :

setInteger(MediaFormat.KEY_COLOR_FORMAT, MediaCodecInfo.CodecCapabilities.COLOR_FormatYUV420Flexible)



This step proved itself necessary. Without it I get a crash simply because I cannot access the image planes of an image frame in expected YUV image format.
This unfortunately was not enough for the Samsung Galaxy Tab 7 although it was already enough for another device like Xiaomi to render the image correctly.


Then I decided to use a library like
ffmpeg
to modify the mp4 file itself to maybe use a different profile, color format, resolution that is widely compatible in android devices. No luck so far.
a quickffprobe
on my mp4 file shows :

Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'outputyuv169.mp4':
Metadata:
 major_brand : isom
 minor_version : 512
 compatible_brands: isomiso2avc1mp41
 encoder : Lavf59.16.100
Duration: 00:03:00.02, start: 0.000000, bitrate: 4823 kb/s
Stream #0:0[0x1](und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(progressive), 
1280x720 [SAR 1:1 DAR 16:9], 4820 kb/s, 30 fps, 30 tbr, 360k tbn (default)



I tried even recording a simple video on the tablet itself and using that as my input file. Nevertheless, still getting similarly garbled frames.


One thing I keep noticing in logcat is this line :


[OMX.qcom.video.decoder.avc] using color format 0x7fa30c04 in place of 0x7f420888


and


[OMX.qcom.video.decoder.avc] Requested output format 0x7f420888 and got 0x7fa30c04


where
0x7fa30c04
refers toYCbCr_420_SP_VENUS_UBWC
. Not really sure If this has anything to do with it. I did not dive too deep into that because same log is present also on other device that renders the mp4 correctly.

I would be grateful for any clue.


-
video uploading from app using ffmpeg showing error
9 juillet 2020, par Dhananjay AcharyaI am trying to implement video upload from app using ffmpeg. when I m trying to upload video showing this errors. sometime video upload keep on loading. any help.


sometimes app freezes and for some videos showing out of memory error


when i run in a real device logcat details


2020-07-09 12:48:14.240 5226-7065/com.mik I/OMXClient: MuxOMX ctor
2020-07-09 12:48:14.369 5226-5226/com.mik I/Choreographer: Skipped 32 frames! The application may be doing too much work on its main thread.
2020-07-09 12:48:14.377 5226-5857/com.mik D/AudioManager: getStreamVolume isRestricted mode = 0
2020-07-09 12:48:14.401 5226-7067/com.mik D/AudioManager: getStreamVolume isRestricted mode = 0
2020-07-09 12:48:14.468 5226-7065/com.mik E/ACodec: [OMX.qcom.video.encoder.avc] storeMetaDataInBuffers (output) failed w/ err -1010
2020-07-09 12:48:14.468 5226-7065/com.mik I/ExtendedACodec: setupVideoEncoder()
2020-07-09 12:48:14.469 5226-7065/com.mik W/ACodec: do not know color format 0x7fa30c04 = 2141391876
2020-07-09 12:48:14.471 5226-7065/com.mik W/ACodec: do not know color format 0x7f000789 = 2130708361
2020-07-09 12:48:14.521 5226-7065/com.mik I/ACodec: setupAVCEncoderParameters with [profile: Baseline] [level: Level1]
2020-07-09 12:48:14.543 5226-7065/com.mik I/ACodec: [OMX.qcom.video.encoder.avc] cannot encode HDR static metadata. Ignoring.
2020-07-09 12:48:14.543 5226-7065/com.mik I/ACodec: setupVideoEncoder succeeded
2020-07-09 12:48:14.544 5226-7065/com.mik I/ExtendedACodec: [OMX.qcom.video.encoder.avc] configure, AMessage : AMessage(what = 'conf', target = 13) = {
 int32_t width = 720
 int32_t height = 1280
 int32_t bitrate = 2073600
 string mime = "video/avc"
 int32_t frame-rate = 30
 int32_t i-frame-interval = 1
 int32_t color-format = 2130708361
 int32_t encoder = 1
 }
2020-07-09 12:48:14.549 5226-7065/com.mik W/ACodec: do not know color format 0x7f000789 = 2130708361
2020-07-09 12:48:14.556 5226-6625/com.mik D/FA: Connected to remote service
2020-07-09 12:48:14.557 5226-6625/com.mik V/FA: Processing queued up service tasks: 1
2020-07-09 12:48:14.877 5226-7104/com.mik I/OMXClient: MuxOMX ctor
2020-07-09 12:48:14.946 5226-7103/com.mik I/MediaCodec: [OMX.qcom.video.decoder.avc] setting surface generation to 5351428
2020-07-09 12:48:14.948 5226-7104/com.mik I/ExtendedACodec: setupVideoDecoder()
2020-07-09 12:48:14.948 5226-7104/com.mik I/ExtendedACodec: vpp-enable search is 0 and value is 0
2020-07-09 12:48:14.955 5226-7104/com.mik I/ExtendedACodec: Decoder will be in frame by frame mode
2020-07-09 12:48:14.980 5226-7104/com.mik D/SurfaceUtils: set up nativeWindow 0x7f84499e10 for 352x640, color 0x7fa30c06, rotation 0, usage 0x2002900
2020-07-09 12:48:15.065 5226-7028/com.mik D/resp: 0
2020-07-09 12:48:15.072 5226-7104/com.mik D/SurfaceUtils: set up nativeWindow 0x7f84499e10 for 352x640, color 0x7fa30c06, rotation 0, usage 0x2002900
2020-07-09 12:48:15.152 5226-7065/com.mik D/ACodec: dataspace changed to 0x10c10000 (R:2(Limited), P:3(BT601_6_625), M:3(BT601_6), T:3(SMPTE170M)) (R:2(Limited), S:1(BT709), T:3(SMPTE_170M))

2020-07-09 12:48:15.469 5226-7028/com.mik V/MuxRender: Added track #0 with video/avc to muxer
2020-07-09 12:48:15.469 5226-7028/com.mik V/MuxRender: Added track #1 with audio/mp4a-latm to muxer
2020-07-09 12:48:15.646 5226-7028/com.mik I/MPEG4Writer: limits: 4294967295/0 bytes/us, bit rate: -1 bps and the estimated moov size 3195 bytes
2020-07-09 12:48:15.647 5226-7028/com.mik V/MuxRender: Output format determined, writing 15 samples / 6054 bytes to muxer.
2020-07-09 12:48:15.647 5226-7140/com.mik I/MPEG4Writer: setStartTimestampUs: 0
2020-07-09 12:48:15.647 5226-7140/com.mik I/MPEG4Writer: Earliest track starting time: 0
2020-07-09 12:48:15.650 5226-7139/com.mik I/MPEG4Writer: setStartTimestampUs: 0
2020-07-09 12:48:27.318 5226-7028/com.mik D/MPEG4Writer: Video track stopping
2020-07-09 12:48:27.318 5226-7139/com.mik I/MPEG4Writer: Received total/0-length (401/1) buffers and encoded 401 frames. - Video
2020-07-09 12:48:27.326 5226-7140/com.mik I/MPEG4Writer: Received total/0-length (641/1) buffers and encoded 641 frames. - Audio
2020-07-09 12:48:27.326 5226-7140/com.mik I/MPEG4Writer: Audio track drift time: 0 us
2020-07-09 12:48:27.327 5226-7028/com.mik D/MPEG4Writer: Audio track stopped
2020-07-09 12:48:27.327 5226-7028/com.mik D/MPEG4Writer: Duration from tracks range is [14850005, 14883989] us
2020-07-09 12:48:27.327 5226-7028/com.mik D/MPEG4Writer: Stopping writer thread
2020-07-09 12:48:27.329 5226-7138/com.mik D/MPEG4Writer: 1 chunks are written in the last batch
2020-07-09 12:48:27.329 5226-7028/com.mik D/MPEG4Writer: Writer thread stopped
2020-07-09 12:48:27.332 5226-7028/com.mik I/MPEG4Writer: The mp4 file will not be streamable.
2020-07-09 12:48:27.378 5226-7104/com.mik E/BufferQueueProducer: [SurfaceTexture-1-5226-2] cancelBuffer: BufferQueue has been abandoned
2020-07-09 12:48:27.465 5226-7028/com.mik D/MPEG4Writer: Video track stopping
2020-07-09 12:48:27.494 5226-5226/com.mik I/Timeline: Timeline: Activity_launch_request time:148842468 intent:Intent { cmp=com.mik/.Video_Recording.GallerySelectedVideo.GallerySelectedVideo_A (has extras) }
2020-07-09 12:48:27.541 5226-6625/com.mik V/FA: Recording user engagement, ms: 13774
2020-07-09 12:48:27.561 5226-6625/com.mik V/FA: Connecting to remote service
2020-07-09 12:48:27.578 5226-5857/com.mik D/AudioManager: getStreamVolume isRestricted mode = 0
2020-07-09 12:48:27.584 5226-6625/com.mik V/FA: Activity paused, time: 160261301
2020-07-09 12:48:27.652 5226-6625/com.mik V/FA: Connection attempt already in progress
2020-07-09 12:48:27.727 5226-5226/com.mik I/ExoPlayerImpl: Init d0eca9e [ExoPlayerLib/2.11.1] [oxygen, MI MAX 2, Xiaomi, 25]



-
lavfi/framequeue : remove redundant logic code
14 septembre 2023, par 杨亚磊 via ffmpeg-devellavfi/framequeue : remove redundant logic code
In this logical branch, fq->queued and fq->allocated must be equal.
Deleting this code will make it easier to understand the logic
(copy the data before tail to the newly requested space)Signed-off-by : yangyalei <yangyalei@xiaomi.com>