> For the complete documentation index, see [llms.txt](https://docs.firework.com/firework-for-developers/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.firework.com/firework-for-developers/android-sdk/integration-guide/feed-sources/channel-video-feed.md).

# Channel Video Feed

Channel Video Feed displays specific videos from a channel by their video IDs. This feed type is perfect for scenarios where you want to hand-pick and showcase a curated set of videos from a particular channel.

## Overview

The Channel Video Feed allows you to display one or more specific videos from a channel using their video IDs. Unlike the Channel Feed which shows all videos from a channel, this feed type gives you precise control over which videos appear, making it ideal for editorial picks, curated collections, or featured video showcases.

## Usage

### Required Parameters

* `channelId` - Your encoded channel identifier (required, non-empty)
* `videoIds` - List of video identifiers to display (required, non-empty list)

### Programmatic Configuration

```kotlin
val videoFeedView = findViewById<FwVideoFeedView>(R.id.videoFeedView)

val videoIds = listOf("video_id_1", "video_id_2", "video_id_3")

val viewOptions = viewOptions {
    baseOptions {
        feedResource(
            FeedResource.ChannelVideo(
                channelId = "Your_Encoded_Channel_Id",
                videoIds = videoIds
            )
        )
    }
    layoutOptions {
        feedLayout(FeedLayout.HORIZONTAL)
    }
}

videoFeedView.init(viewOptions)
```

## Complete Examples

### Curated Video Showcase

```kotlin
class CuratedVideosActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_curated_videos)

        val videoFeedView = findViewById<FwVideoFeedView>(R.id.curatedVideos)

        val viewOptions = viewOptions {
            baseOptions {
                feedResource(
                    FeedResource.ChannelVideo(
                        channelId = "my_channel_id",
                        videoIds = listOf("featured_video_1", "featured_video_2")
                    )
                )
            }
            layoutOptions {
                feedLayout(FeedLayout.HORIZONTAL)
            }
            titleOptions {
                showFeedTitle(true)
            }
        }

        videoFeedView.init(viewOptions)
    }
}
```

### Editorial Picks (Grid Layout)

```kotlin
class EditorialPicksActivity : AppCompatActivity() {
    private fun showEditorialPicks(videoIds: List<String>) {
        val videoFeedView = findViewById<FwVideoFeedView>(R.id.editorialVideos)

        val viewOptions = viewOptions {
            baseOptions {
                feedResource(
                    FeedResource.ChannelVideo(
                        channelId = "my_channel_id",
                        videoIds = videoIds
                    )
                )
            }
            layoutOptions {
                feedLayout(FeedLayout.GRID)
                columnCount(2)
            }
        }

        videoFeedView.init(viewOptions)
    }
}
```

## Important Notes

* **Encoded Channel ID Required** - Channel ID must be an encoded value from Firework
* **Non-Empty Video List** - The `videoIds` list cannot be empty (will throw exception)
* **Multiple Videos Supported** - You can provide one or multiple video IDs
* **Video Ordering** - Videos are displayed in the order determined by the feed service
* **Video Availability** - Only videos that exist and are published will be shown
* **Video ID Format** - Use the video IDs as provided by the Firework platform

## See Also

* [Feed Sources Overview](/firework-for-developers/android-sdk/integration-guide/feed-sources.md) - All available feed types
* [BaseOption Configuration](/firework-for-developers/android-sdk/integration-guide/configuration/base-options.md) - Detailed configuration
* [Channel Feed](/firework-for-developers/android-sdk/integration-guide/feed-sources/channel-feed.md) - Display all videos from a channel
* [FwVideoFeedView](/firework-for-developers/android-sdk/integration-guide/configure-video-feed.md) - Video feed widget
