Sample Header Ad - 728x90

How to convert/understand video files with ffmpeg

1 vote
0 answers
344 views
# 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 seems 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?
Asked by jesse_b (41447 rep)
Dec 26, 2020, 12:20 PM
Last activity: Dec 27, 2020, 04:09 AM