PDA

View Full Version : Samsung ES type (UA40ES6200) "Not Supported File Format" for some mp4 files



aklempn
05-24-2015, 11:02 PM
Hi,

I am using Mezzmo latest release with my Samsung UA40ES6200 TV.
Some of the MP4 file format are not working and the TV report not supported file format.
Other MP4 are working with no problem without transcoding
I noticed that even for the unsupported files, Mezzmon send them with no transcoding to the TV

The TV recognized automatically as Samsung E type.

The FFmpeg info for that file:


ffmpeg version N-66094-gbb8b752 Copyright (c) 2000-2014 the FFmpeg developers
built on Sep 4 2014 16:23:51 with gcc 4.8.2 (GCC)
configuration: --enable-memalign-hack --arch=x86_64 --target-os=mingw32 --cross-prefix=x86_64-w64-mingw32- --enable-static --disable-shared --enable-zlib --disable-postproc --prefix=/home/peter/ffmpeg/build/gpl64 --enable-libmp3lame --enable-libx264 --enable-gpl --extra-libs='-lx264 -lpthread' --enable-runtime-cpudetect --extra-cflags=-I/home/peter/cc32/include --extra-ldflags=-L/home/peter/cc64/lib --pkg-config=pkg-config --disable-w32threads --enable-libvpx --enable-libvorbis
libavutil 54. 7.100 / 54. 7.100
libavcodec 56. 1.100 / 56. 1.100
libavformat 56. 4.100 / 56. 4.100
libavdevice 56. 0.100 / 56. 0.100
libavfilter 5. 0.103 / 5. 0.103
libswscale 3. 0.100 / 3. 0.100
libswresample 1. 1.100 / 1. 1.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'C:\Users\aklempn.COMVERSE\Videos\Test_Transcoding _1111.mp4':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
encoder : Lavf55.33.100
Duration: 00:23:31.70, start: 0.023220, bitrate: 6362 kb/s
Stream #0:0(rus): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1920x1080, 6241 kb/s, 29.97 fps, 29.97 tbr, 30k tbn, 59.94 tbc (default)
Metadata:
handler_name : VideoHandler
Stream #0:1(rus): Audio: aac (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 112 kb/s (default)
Metadata:
handler_name : SoundHandler
At least one output file must be specified

<MEZZMO>: Child process ended with code: 109, ExitCode=1


---> DB Level Info: 50, 100
---> Frame rate: 29.97
---> Aspect ratio:
---> Duration: 00:23:31

How can I edit the device profile to support transcoding for that specific mp4 format, while others will still be with no transcoding.
BTW - I have played with the device profile causing it to transcode all mp4, but the transcoded file (mkv) was not playable as well, I guess the transcoding parameters for that action should be tune as well.

I am moving from serviio, I had no problem with this file over there, it was transcoded on the fly during play.

Will appreciate your support on this.
Attached the loges trying to stream this file

Avi

Paul
05-25-2015, 02:48 PM
The problem is most likely the h264 level. Try this:


Stop your Mezzmo server and exit Mezzmo (Windows) app.
Using Windows Explorer, go to the DeviceProfiles folder (see http://forum.conceiva.com/showthread.php/467-FAQ-Where-are-device-profiles-located).
Using a text-based editor like Notepad, edit the SamsungE.prf file.
Change the following line:

<avcontainer id="mov,mp4,m4a,3gp,3g2,mj2" name="h264aac" mimetype="video/mp4" encode="0" supportschunked="0">

to

<avcontainer id="mov,mp4,m4a,3gp,3g2,mj2" name="h264aac" mimetype="video/mp4" encode="0" supportschunked="0" level="41">

Save the changes. Run Mezzmo app and start your Mezzmo server. Try streaming the video now.

aklempn
05-25-2015, 03:51 PM
True, the problem is around the h264 level, the serviio also transcode each h264 above 4.2 and it works over there.

Now for the Mezzmo, I have made the change and now there is transcoding activity, but the transcoded file is still not supported:

ffmpeg version N-66094-gbb8b752 Copyright (c) 2000-2014 the FFmpeg developers
built on Sep 4 2014 16:23:51 with gcc 4.8.2 (GCC)
configuration: --enable-memalign-hack --arch=x86_64 --target-os=mingw32 --cross-prefix=x86_64-w64-mingw32- --enable-static --disable-shared --enable-zlib --disable-postproc --prefix=/home/peter/ffmpeg/build/gpl64 --enable-libmp3lame --enable-libx264 --enable-gpl --extra-libs='-lx264 -lpthread' --enable-runtime-cpudetect --extra-cflags=-I/home/peter/cc32/include --extra-ldflags=-L/home/peter/cc64/lib --pkg-config=pkg-config --disable-w32threads --enable-libvpx --enable-libvorbis
libavutil 54. 7.100 / 54. 7.100
libavcodec 56. 1.100 / 56. 1.100
libavformat 56. 4.100 / 56. 4.100
libavdevice 56. 0.100 / 56. 0.100
libavfilter 5. 0.103 / 5. 0.103
libswscale 3. 0.100 / 3. 0.100
libswresample 1. 1.100 / 1. 1.100
Input #0, matroska,webm, from 'C:\Users\aklempn.COMVERSE\AppData\Local\Conceiva\ Mezzmo\TranscodingFiles\3D36079E-BCFC-4e51-940A-775739F8CC3F\Video\2-matroska_webm-libx264-ac3-sn.mzt':
Metadata:
COMPATIBLE_BRANDS: isomiso2avc1mp41
MAJOR_BRAND : isom
MINOR_VERSION : 512
ENCODER : Lavf56.4.100
Duration: 00:23:31.77, start: 0.061000, bitrate: 6692 kb/s
Stream #0:0(rus): Video: h264 (High), yuv420p, 1920x1080, SAR 1:1 DAR 16:9, 29.97 fps, 29.97 tbr, 1k tbn, 59.94 tbc (default)
Metadata:
LANGUAGE : rus
HANDLER_NAME : VideoHandler
Stream #0:1(rus): Audio: ac3, 44100 Hz, stereo, fltp, 448 kb/s (default)
Metadata:
LANGUAGE : rus
HANDLER_NAME : SoundHandler
ENCODER : Lavc56.1.100 ac3_fixed
At least one output file must be specified

<MEZZMO>: Child process ended with code: 109, ExitCode=1

Paul
05-25-2015, 04:10 PM
It could be the encoding of the original video itself that may be causing the problem. By default, Mezzmo will re-mux compatible streams within the original video file to the transcoded video (the reason for re-muxing is for fast transcoding). But re-muxing may transfer the badly encoded or incompatible stream and stop playback as you are getting. As a test, right-click on the video and click 'Pre-transcode Files'. On the Pre-transcode Files dialog, select your TV and click 'Choose Files'. On the Transcoding Formats dialog, select the bolded format and select the 'Force full transcode of all channels' checkbox. Click OK to start transcoding. Wait until transcoding has completed and then try streaming the video now on your TV. Let us know if it plays OK.

aklempn
05-25-2015, 04:19 PM
Will do what you suggested, but looking at the transcoded file is your first suggestion I can see the the h264 level is still high (5)

C:\Users\aklempn.COMVERSE\Google Drive\YAMJ\MediaInfo>MediaInfo.exe 'C:\Users\ak
lempn.COMVERSE\AppData\Local\Conceiva\Mezzmo\Trans codingFiles\3D36079E-BCFC-4e51
-940A-775739F8CC3F\Video\2-matroska_webm-libx264-ac3-sn.mzt


C:\Users\aklempn.COMVERSE\Google Drive\YAMJ\MediaInfo>MediaInfo.exe C:\Users\akl
empn.COMVERSE\AppData\Local\Conceiva\Mezzmo\Transc odingFiles\3D36079E-BCFC-4e51-
940A-775739F8CC3F\Video\2-matroska_webm-libx264-ac3-sn.mzt
General
Unique ID : 2554232018167722173406702600429430401
00 (0xC028B82331AD4107058E9B6881320A64)
Complete name : C:\Users\aklempn.COMVERSE\AppData\Loc
al\Conceiva\Mezzmo\TranscodingFiles\3D36079E-BCFC-4e51-940A-775739F8CC3F\Video\2
-matroska_webm-libx264-ac3-sn.mzt
Format : Matroska
Format version : Version 4 / Version 2
File size : 1.10 GiB
Duration : 23mn 31s
Overall bit rate : 6 693 Kbps
Writing application : Lavf56.4.100
Writing library : Lavf56.4.100

Video
ID : 1
Format : AVC
Format/Info : Advanced Video Codec
Format profile : High@L5.0
Format settings, CABAC : Yes
Format settings, ReFrames : 5 frames
Codec ID : V_MPEG4/ISO/AVC
Duration : 23mn 31s
Bit rate : 6 111 Kbps
Width : 1 920 pixels
Height : 1 080 pixels
Display aspect ratio : 16:9
Frame rate mode : Constant
Frame rate : 29.970 fps
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Bits/(Pixel*Frame) : 0.098
Stream size : 1.00 GiB (91%)
Writing library : x264 core 138
Encoding settings : cabac=1 / ref=5 / deblock=1:-1:-1 / a
nalyse=0x3:0x113 / me=umh / subme=8 / psy=1 / psy_rd=1.00:0.15 / mixed_ref=1 / m
e_range=16 / chroma_me=1 / trellis=1 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_
pskip=1 / chroma_qp_offset=-3 / threads=8 / lookahead_threads=1 / sliced_threads
=0 / nr=0 / decimate=1 / interlaced=0 / bluray_compat=0 / constrained_intra=0 /
bframes=3 / b_pyramid=2 / b_adapt=2 / b_bias=0 / direct=3 / weightb=1 / open_gop
=0 / weightp=2 / keyint=250 / keyint_min=25 / scenecut=40 / intra_refresh=0 / rc
_lookahead=50 / rc=crf / mbtree=1 / crf=20.0 / qcomp=0.60 / qpmin=0 / qpmax=69 /
qpstep=4 / ip_ratio=1.40 / aq=1:1.00
Language : Russian
Default : Yes
Forced : No
HANDLER_NAME : VideoHandler

Audio
ID : 2
Format : AC-3
Format/Info : Audio Coding 3
Mode extension : CM (complete main)
Format settings, Endianness : Big
Codec ID : A_AC3
Duration : 23mn 31s
Bit rate mode : Constant
Bit rate : 448 Kbps
Channel(s) : 2 channels
Channel positions : Front: L R
Sampling rate : 44.1 KHz
Bit depth : 16 bits
Compression mode : Lossy
Delay relative to video : 1mn 5s
Stream size : 75.4 MiB (7%)
Writing library : Lavc56.1.100 ac3_fixed
Language : Russian
Default : Yes
Forced : No
HANDLER_NAME : SoundHandler

That might explain why is is still not showing, since the video stream is still lat a higher level

aklempn
05-25-2015, 04:32 PM
I have started your pre-transcoding option, it is taking a lot of time....

Is there any configuration for transcoding the video stream level for level 4.2 and not the only thecontainer.
As seen from my last message the container did transcode to mkv level 4.2 but the internal video stream remains on level 5, and that might cause the file still be unsupported

having Serviio as the reference, I know that is been done there and it is very quick

Thanks for your support, much appreciated!

Avi

aklempn
05-25-2015, 10:25 PM
Well, It took 2 hours to transcode 23 min of video, I guess this is not realistic....anyhow it crashed near the end so I do not have been able to test the output file

But...

I have found what serviio is doing that allows the file to be transcoded and screen on the fly:

For each video stream level higher then 4.2 they are running transcoding as below:

ffmpeg -analyzeduration 10000000 -i input -y -c:v mpeg2video -pix_fmt yuv420p -qscale:v 1 -g 15 -c:a ac3 -b:a 64k -ac 2 -map 0:0 -map 0:1 -sn -f mpegts output.mpg

How can I modify the configuration for running such transcoding (which I know it works) each time h264 level is higher then 4.2?

Or can you suggest any other online transcoding faster enough to support streaming?

Thanks
Avi

Paul
05-26-2015, 08:41 AM
Hi Avi,

Serviio is transcoding your MP4 (h264, AAC) to MPEG-TS (MPEG-2, AC-3). You can try this in Mezzmo as well. Change the device profile to "Sharp Aquos (NTSC)". This will transcode your MP4 file to MPEG-TS (MPEG-2, AC-3). If that works well, then we can tweak your Samsung E device profile to match this.

aklempn
05-26-2015, 02:05 PM
Hi Paul,

Two answers

1. Pre-transcoding as you suggested did work, but it took very very long time to pre-transcode 23 min video more then an hour, so I do not thing this is relevant...
2. Changing the profile to "Sharp Aquos" did work, on the fly transcoding to MPEG-TS started but it is reported as too slow (~22 FPS), the ffmpeg command that I run manually (the above one) has produced better fps (~72) and the output file was playable in Mezzmo, can we tweak the Samsung profile to use that specific transcoding?

Thanks,
Avi

Paul
05-26-2015, 02:43 PM
Hi Avi,

You can decrease the output video bitrate and this should increase transcoding speed. To do this:


Go to the Media Devices dialog and edit your TV.
On the Media Devices dialog, go to the Performance tab and move the Video bitrate slider halfway.
On the Media Devices dialog, go to the Transcoding tab and delete your transcoded files.
Restart your Mezzmo server and try streaming the video now.
Check the transcoding speed now. Repeat the above steps by further adjusting the Video bitrate slider to gauge its effect.

aklempn
05-26-2015, 03:22 PM
Hi Paul,

Did that, and even when moving the bit rate to the middle it is doing 26 fps which is far from the ffmpeg I run manually that did 72.
Looking at the media info of both files I see that strangely the ffmpeg that is faster and doing 72 fps has better video quality

Can we try and tweak the profile to execute the:

ffmpeg -analyzeduration 10000000 -i input -y -c:v mpeg2video -pix_fmt yuv420p -qscale:v 1 -g 15 -c:a ac3 -b:a 64k -ac 2 -map 0:0 -map 0:1 -sn -f mpegts output.mpg

For such transcoding and check the fps with that configuration?

Attached the MediaInfo files for both outputs