# background
I have a bunch of video files that I would like to play on my roku through it's "Roku Media Player." However many of them simply do not appear in the list of available videos on my roku which would suggest they are not in the correct format. According to roku it supports the following formats:

> The following file formats are supported:
> - Video – H.264/AVC (.MKV, .MP4, .MOV)
> - Audio – AAC (.MKV, .MP4, .MOV); MP3(.MP3, .MKV); WMA (.ASF, .WMA, .MKV), FLAC (.FLAC, .MKV), PCM (.WAV, .MKV, .MP4, .MOV), AC3/EAC3 (.MKV,.MP4. .MOV, .AC3), DTS (.MKV, .MP4, .MOV,.DTS), ALAC (.MKV, .MP4, .MOV, .M4A), Vorbis (.OGG,.MKV,.WEBM)
> - Playlists –.M3U, .M3U8, .PLS
> - Image – JPG, PNG, GIF (non-animated)

> The following media formats are supported on Roku devices that support 4K
> - 4K Video – H.265/HEVC (.MKV, .MP4, .MOV); VP9 (.MKV, .WEBM)
> - 4K Video – H.264 (Roku Premiere, Premiere+, and Ultra only)

> The following media formats are supported on Roku TVs and some Roku players
> - Video – H.262 (.MKV)


# issue

Many, if not all, of the videos are using H.264 AVC1 as far as I can tell, this includes both the working and non working videos. Video and audio codec information is mostly Greek to me so I'm not entirely sure what I'm looking at but below is a sample of both a working video and a non working video:

## working

 $ ffprobe 21\ Jump\ Street.mp4
 ffprobe version 4.2.4-1ubuntu0.1 Copyright (c) 2007-2020 the FFmpeg developers
 built with gcc 9 (Ubuntu 9.3.0-10ubuntu2)
 configuration: --prefix=/usr --extra-version=1ubuntu0.1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --enable-avresample --disable-filter=resample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librsvg --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opencl --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-nvenc --enable-chromaprint --enable-frei0r --enable-libx264 --enable-shared
 libavutil 56. 31.100 / 56. 31.100
 libavcodec 58. 54.100 / 58. 54.100
 libavformat 58. 29.100 / 58. 29.100
 libavdevice 58. 8.100 / 58. 8.100
 libavfilter 7. 57.100 / 7. 57.100
 libavresample 4. 0. 0 / 4. 0. 0
 libswscale 5. 5.100 / 5. 5.100
 libswresample 3. 5.100 / 3. 5.100
 libpostproc 55. 5.100 / 55. 5.100
 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '21 Jump Street.mp4':
 Metadata:
 major_brand : isom
 minor_version : 1
 compatible_brands: isomavc1
 creation_time : 2012-06-09T07:12:42.000000Z
 Duration: 01:49:37.66, start: 0.000000, bitrate: 1956 kb/s
 Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1920x816 [SAR 1:1 DAR 40:17], 1859 kb/s, 23.98 fps, 23.98 tbr, 96k tbn, 47.95 tbc (default)
 Metadata:
 creation_time : 2012-06-09T07:12:42.000000Z
 Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 93 kb/s (default)
 Metadata:
 creation_time : 2012-06-09T07:20:20.000000Z
 handler_name : GPAC ISO Audio Handler

## non working

 $ ffprobe Over\ the\ Hedge.mp4
 ffprobe version 4.2.4-1ubuntu0.1 Copyright (c) 2007-2020 the FFmpeg developers
 built with gcc 9 (Ubuntu 9.3.0-10ubuntu2)
 configuration: --prefix=/usr --extra-version=1ubuntu0.1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --enable-avresample --disable-filter=resample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librsvg --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opencl --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-nvenc --enable-chromaprint --enable-frei0r --enable-libx264 --enable-shared
 libavutil 56. 31.100 / 56. 31.100
 libavcodec 58. 54.100 / 58. 54.100
 libavformat 58. 29.100 / 58. 29.100
 libavdevice 58. 8.100 / 58. 8.100
 libavfilter 7. 57.100 / 7. 57.100
 libavresample 4. 0. 0 / 4. 0. 0
 libswscale 5. 5.100 / 5. 5.100
 libswresample 3. 5.100 / 3. 5.100
 libpostproc 55. 5.100 / 55. 5.100
 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'Over the Hedge.mp4':
 Metadata:
 major_brand : isom
 minor_version : 1
 compatible_brands: isom
 creation_time : 2013-09-23T12:11:59.000000Z
 Duration: 01:19:46.62, start: 0.000000, bitrate: 1140 kb/s
 Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709), 1280x720 [SAR 1:1 DAR 16:9], 1012 kb/s, 25 fps, 25 tbr, 90k tbn, 180k tbc (default)
 Metadata:
 creation_time : 2013-09-23T11:35:14.000000Z
 encoder : JVT/AVC Coding
 Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 124 kb/s (default)
 Metadata:
 creation_time : 2013-09-23T01:31:19.000000Z
 handler_name : Sound Media Handler


----------

# troubleshooting

I have found a few forum posts of people having the same or similar issues with their roku and many are unsolved. Others have suggested converting from mp4 to mkv, or vice versa, or from one to the other and then back. I have tried this without any luck.

Another post (which I can't seem to find now) I found suggested it may have something to do with the metadata such as cover art not being supported but I'm not even sure how to see that information and as far as I can tell it doesn't exist on at least the above example.

# question

What ffmpeg command can I use to make the non working file more similar to the working file in hopes that it will be supported by my roku?