Transformer는 미디어 파일 컨테이너를 포함하여 원격 프로그레시브 스트림을 지원함
볼 수 있습니다.
네트워크 상태가 매우 좋지 않으면 버퍼링으로 인해 내보내기에 실패할 수 있습니다.
너무 오랫동안 원격 미디어를 사용하면
파이프라인이 멈췄음을 식별할 수 있습니다 기본 동작을 재정의하는 방법은 다음과 같습니다.
Transformer.Builder에서 maxDelayBetweenMuxerSamplesMs 설정:
C.TIME_UNSET를 전달하면 제한 시간이 완전히 삭제되지만
MediaCodec가 멈출 수 있는 칩셋의 경우 0이 아닌 더 큰 값을 설정하는 것이 좋습니다.
시간 초과
<ph type="x-smartling-placeholder">
Transformer는 8k 입력을 지원하나요?
Transformer는 형식에 구애받지 않는 방식으로 구현되므로
지원하지 않지만 기기의 하드웨어 기능이 작동한다는 것은
내보내기에 성공할 수 없습니다 예를 들어 8k를 캡처할 수 있는 기기에서도
8k 동영상은 해상도가 너무 낮기 때문에 디코딩 및
또는 사용 가능한 하드웨어 코덱 또는 RAM 리소스입니다.
Transformer는 플랫폼 호환 미디어 트랜스코딩과 어떤 관련이 있나요?
호환 미디어 트랜스코딩
Android 12 (API 수준 31)의 Android 플랫폼 기능으로
최대 1분 길이의 미디어를 앱에서 지원하는 형식으로 변환할 수 있습니다. 만약
이 기능을 사용하도록 선택하고 호환되지 않는 형식의 미디어 파일을 읽습니다.
요청 시 트랜스코딩되고 나중에 읽기 위해 결과가 캐시됩니다.
작업을 수행할 수 있습니다
Transformer는 형식
전환이 가능하지만
지원 라이브러리로 사용할 수 있으며 앱에서
트랜스코딩됩니다.
내보내기 지연 시간을 줄이거나 처리량을 늘리려면 어떻게 해야 하나요?
Transformer는 하드웨어 가속 디코딩에 MediaCodec를 사용합니다.
인코딩, 그리고 동영상 프레임을 처리하기 위한 OpenGL입니다. Google에서 측정한
Transformer 처리량의 제한 요인은
과도한 부하 효과가 없는 사용 사례를 위한 MediaCodec 인코더 처리량
가장 적합합니다 이는 다른 구현 방식에도 같은 영향을 미칠 수 있습니다. 대상
예를 들어, 플랫폼 호환 트랜스코딩 기능은
Transformer입니다.
데모 앱의 디버그 미리보기는 처리량을 크게 감소시키므로
프리뷰 기능을 사용해
제시할 수 있습니다.
[[["이해하기 쉬움","easyToUnderstand","thumb-up"],["문제가 해결됨","solvedMyProblem","thumb-up"],["기타","otherUp","thumb-up"]],[["필요한 정보가 없음","missingTheInformationINeed","thumb-down"],["너무 복잡함/단계 수가 너무 많음","tooComplicatedTooManySteps","thumb-down"],["오래됨","outOfDate","thumb-down"],["번역 문제","translationIssue","thumb-down"],["샘플/코드 문제","samplesCodeIssue","thumb-down"],["기타","otherDown","thumb-down"]],["최종 업데이트: 2025-07-27(UTC)"],[],[],null,["# Troubleshooting\n\n- [Why can't I access local files in the demo app?](#local-files)\n- [Why does exporting fail on a specific device?](#device-specific)\n- [Does Transformer support transforming (or recording) remote media](#remote-media)\n- [Does Transformer support 8k input?](#8k-media)\n- [How does Transformer relate to platform compatible media transcoding?](#compatible-transcoding)\n- [How can I reduce export latency or increase throughput?](#throughput)\n\n*** ** * ** ***\n\n#### Why can't I access local files in the demo app?\n\n[Scoped storage enforcement](/about/versions/11/privacy/storage) from Android 11\n(API level 30) prevents direct file system access. For manual testing during\ndevelopment, it's possible to access local files by adding the manage external\nstorage permission in the demo app manifest: \n\n \u003cuses-permission android:name=\"android.permission.MANAGE_EXTERNAL_STORAGE\"/\u003e\n\nThen grant the permission via adb: \n\n```\nadb shell appops set --uid androidx.media3.demo.transformer \\\n MANAGE_EXTERNAL_STORAGE allow\n```\n\n#### Why does exporting fail on a specific device?\n\nPlease file an issue on the [Media3 issue\ntracker](https://github.com/androidx/media/issues) with enough information\nto reproduce the issue. Workarounds for device-specific issues can be added to\nthe library to improve compatibility over time.\n\n#### Does Transformer support transforming (or recording) remote media?\n\nTransformer supports remote progressive streams, including media file containers\nlike MP4.\n\nIn very poor network conditions, exporting may fail because buffering\nremote media for too long triggers checks in the muxer that are intended to\nidentify that the pipeline is stuck. You can override the default behavior by\nsetting `maxDelayBetweenMuxerSamplesMs` on `Transformer.Builder`: \n\n### Kotlin\n\n```kotlin\nTransformer.Builder(context)\n .setMaxDelayBetweenMuxerSamplesMs(C.TIME_UNSET)\n .build()\n```\n\n### Java\n\n```java\nnew Transformer.Builder(context)\n .setMaxDelayBetweenMuxerSamplesMs(C.TIME_UNSET)\n .build();\n```\n\n\u003cbr /\u003e\n\nPassing in `C.TIME_UNSET` removes the timeout entirely, but if your app runs on\nchipsets where `MediaCodec` can get stuck you may want to set a larger non-zero\ntimeout.\n| **[Known Issue #10943:](https://github.com/google/ExoPlayer/issues/10943)** Feature request to officially support transforming remote live streams with unknown duration using protocols like DASH and HLS.\n\n#### Does Transformer support 8k input?\n\nTransformer is implemented in a format-agnostic way, so it doesn't limit\nhandling of 8k video, but hardware capabilities on the device may mean that\nexporting can't succeed. For example, even on devices that can capture 8k,\nit might not be possible to decode and re-encode an 8k video due to exceeding\nthe available hardware codec or RAM resources.\n\n#### How does Transformer relate to platform compatible media transcoding?\n\n[Compatible media transcoding](/guide/topics/media-apps/video-app/compatible-media-transcoding)\nis an Android platform feature from Android 12 (API level 31) that converts\nmedia up to one minute in length into formats supported by the app. If you\nopt-in to using this feature, reading a media file in an incompatible format\ncauses it to be transcoded on demand, and the result is cached for later read\noperations.\n\nTransformer also supports [format\nconversion](/guide/topics/media/transformer/transformations?#transcode), but\nit's available as a support library and the app has full control over the\ntranscoding operation.\n\n#### How can I reduce export latency or increase throughput?\n\nTransformer relies on `MediaCodec` for hardware-accelerated decoding and\nencoding, and OpenGL for processing video frames. Based on our measurements on\ntypical devices, the limiting factor in Transformer's throughput is hardware\n`MediaCodec` encoder throughput for use cases without heavyweight effects\nprocessing. This is likely to impact other implementations in the same way. For\nexample, the platform compatible transcoding feature has similar performance to\nTransformer.\n\nThe demo app's debug preview significantly reduces throughput, so turn off the\npreview feature when testing with a release build of the demo app to get a\nrealistic idea of performance."]]