PDA

View Full Version : Xbox 360 and mpegts



preacher65
05-28-2014, 02:48 AM
I'm having a few problems understanding how Mezzmo decides how to transcode files to my Xbox 360, and how I can change that behaviour. It seems to choose mpegts as its default, which plays fine, but doesn't allow fast forward or rewind. I understand this to be because the Xbox is sending a request for the start of the file, instead of the current playback position. I can workaround this by pre-transcoding to mp4.

My question is, how do I get Mezzmo to choose mp4 as its default instead of mpegts? Can I set it to transcode to mp4 on the fly? I assume this is something in the profile file for the Xbox, but I couldn't work out how to tweak it.

And also, I guess, why is mpegts the default when it doesn't support rewind etc., rather than mp4 which does support it? :) Is it because mpegts is faster than mp4, and some PCs might not be able to transcode to mp4 fast enough for on the fly transcoding? Just curious!

Many thanks.

preacher65
05-28-2014, 04:18 AM
A bit of additional info - I've done a little testing with some files I've recently had to pre-transcode. If I turn off transcoding in settings, and delete the pre-transcoded file, the video plays fine and rewind/fast-forward works. So it seems as if Mezzmo is transcoding the file when it doesn't need to.

I'd still like to know how to change the default from mpegts to mp4, but can someone please help me figure out why Mezzmo has decided to transcode this file? Thanks!
Edit: Just realised it may be because I have settings to enable English subtitles, and this may require transcoding on the Xbox - could that be it? If so, I'm back to - how do I force mp4 instead of mpegts? :)

Here's the ffmpeg output from when it transcodes the source video on the fly (with transcoding turned back on, but no pre-transcoded copy):

C:\Program Files (x86)\Conceiva\Mezzmo\ffmpeg64\ffmpeg.exe -y -i "E:\Users\John\Videos\Archived TV\Castle (2009)\Season 06 (2013-2014)\Castle - 6x01 - Valkyrie, Part 1 [2013-09-23] [576p] [HDTV] [x264] [2ch] [AAC] [LOL].mp4" -map 0:v:0 -map 0:a:0 -c:v:0 mpeg2video -b:v 12000000 -r 29.97 -copyts -filter:v "yadif,mezzmo=i=C:/Users/John/AppData/Local/Conceiva/Mezzmo/TranscodingFiles/73DBA4DC\-58B6\-4754\-857D\-D35FA5E058D4/Video/1399\-mpegts\-mpeg2video\-ac3\-sb357.mzf|u=0xC0C0C0ff" -pix_fmt yuv420p -copyinkf -sc_threshold 1000000000 -coder ac -qmin 1 -cmp 2 -subcmp 2 -flags +mv0 -mbd bits -c:a:0 ac3_fixed -ac 2 -ab 448000 -ar 48000 -sn -threads 0 -async 0 -f mpegts "C:\Users\John\AppData\Local\Conceiva\Mezzmo\Transc odingFiles\73DBA4DC-58B6-4754-857D-D35FA5E058D4\Video\1399-mpegts-mpeg2video-ac3-sb357.mzt"

ffmpeg version N-50460-g393dcbf Copyright (c) 2000-2013 the FFmpeg developers
built on Jun 27 2013 17:20:20 with gcc 4.6.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/cc64/include --extra-ldflags=-L/home/peter/cc64/lib --pkg-config=pkg-config --disable-w32threads --enable-zlib
libavutil 52. 17.103 / 52. 17.103
libavcodec 54. 92.100 / 54. 92.100
libavformat 54. 63.102 / 54. 63.102
libavdevice 54. 3.103 / 54. 3.103
libavfilter 3. 41.100 / 3. 41.100
libswscale 2. 2.100 / 2. 2.100
libswresample 0. 17.102 / 0. 17.102
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'E:\Users\John\Videos\Archived TV\Castle (2009)\Season 06 (2013-2014)\Castle - 6x01 - Valkyrie, Part 1 [2013-09-23] [576p] [HDTV] [x264] [2ch] [AAC] [LOL].mp4':
Metadata:
major_brand : isom
minor_version : 1
compatible_brands: isom
creation_time : 2013-09-21 17:32:19
Duration: 00:42:47.10, start: 0.000000, bitrate: 878 kb/s
Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 720x404, 755 kb/s, 23.98 fps, 23.98 tbr, 24k tbn, 47.95 tbc
Metadata:
creation_time : 2013-09-22 15:53:48
handler_name : GPAC ISO Video Handler
Stream #0:1(und): Audio: aac (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 118 kb/s
Metadata:
creation_time : 2013-09-21 17:32:23
handler_name : GPAC ISO Audio Handler
Input #0, Mezzmo Fifo, from 'C:/Users/John/AppData/Local/Conceiva/Mezzmo/TranscodingFiles/73DBA4DC-58B6-4754-857D-D35FA5E058D4/Video/1399-mpegts-mpeg2video-ac3-sb357.mzf'.
Output #0, mpegts, to 'C:\Users\John\AppData\Local\Conceiva\Mezzmo\Trans codingFiles\73DBA4DC-58B6-4754-857D-D35FA5E058D4\Video\1399-mpegts-mpeg2video-ac3-sb357.mzt':
Metadata:
major_brand : isom
minor_version : 1
compatible_brands: isom
encoder : Lavf54.63.102
Stream #0:0(und): Video: mpeg2video (hq), yuv420p, 720x404, q=1-31, 12000 kb/s, 90k tbn, 29.97 tbc
Metadata:
creation_time : 2013-09-22 15:53:48
handler_name : GPAC ISO Video Handler
Stream #0:1(und): Audio: ac3, 48000 Hz, stereo, s16p, 448 kb/s
Metadata:
creation_time : 2013-09-21 17:32:23
handler_name : GPAC ISO Audio Handler
Stream mapping:
Stream #0:0 -> #0:0 (h264 -> mpeg2video)
Stream #0:1 -> #0:1 (aac -> ac3_fixed)
Press [q] to stop, [?] for help

Paul
05-28-2014, 09:30 AM
I'll explain the problem with streaming on Xbox 360 consoles. Our Xbox 360 device profiles choose to transcode incompatible video files to MPEG-TS since this format can be transcoded on-the-fly and your Xbox 360 can play it whilst transcoding. So, you can start watching the video immediately. However the Xbox 360 firmware does not allow for FF/REW with MPEG-TS files - as you have discovered. On the other hand, you can FF/REW MPEG-4 files. But MPEG-4 playback has a major problem as well. MPEG-4 files cannot be played by your Xbox 360 whilst transcoding on-the-fly. So you cannot watch them immediately - you have to wait until the MPEG-4 file has been completely transcoded and then you can play the MPEG-4. This is a limitation in the Xbox 360 firmware - i.e. your Xbox 360 is looking for the MOOV atom in the MPEG-4 file and this atom contains the index of the video & audio channels. This index tells your Xbox 360 firmware how to play the file. However, most audio/video encoders (including ffmpeg.exe, which Mezzmo uses to transcode audio/video files) only writes the MOOV atom into the MPEG-4 after all the file has been fully transcoded.

So, I recommend that you stick with the current Xbox 360 device profile. If you require FF/REW, then pre-transcode your video to MPEG-4. If you want immediate playback, then let Mezzmo transcode your video on-the-fly (to MPEG-TS). As mentioned, these limitations are limitations in the Xbox 360 firmware and not Mezzmo.

preacher65
05-28-2014, 09:08 PM
Thanks for such a detailed explanation, I really appreciate it! I guess I should have realised there'd be good reasons for everything, but it helps to get the most out of Mezzmo if I understand what's going on. I knew the Xbox was limited, but it seems to connect more reliably than the PS3. Will have to experiment, but maybe it's time to switch to an HTPC... Meanwhile I'll just keep pre-transcoding.

I don't want to pre-transcode the whole library, so is there any way to have Mezzmo pre-transcode any new files as they're added, but leave existing ones as they are?

Thanks again.

Paul
05-30-2014, 11:38 AM
In the current version of Mezzmo (v3.4.4.0), there's no way to auto pre-transcode files. We have this suggestion in our development plans for a future version of Mezzmo.

Rather than building a dedicated HTPC, you could consider getting a small media player like one of the WD TV Live models. They are cheap (~$90), have good format support and work well with Mezzmo. Many Mezzmo users own them & seem to be happy with their performance.

preacher65
06-09-2014, 09:05 AM
In the current version of Mezzmo (v3.4.4.0), there's no way to auto pre-transcode files. We have this suggestion in our development plans for a future version of Mezzmo.

Rather than building a dedicated HTPC, you could consider getting a small media player like one of the WD TV Live models. They are cheap (~$90), have good format support and work well with Mezzmo. Many Mezzmo users own them & seem to be happy with their performance.
Thanks. I look forward to the possibility of seeing auto pre-transcode in future builds. :)

I've been thinking about an HTPC for a while, as I wanted a project to work on, but of course it's kind of expensive. How much of the metadata Mezzmo provides does the WD TV support? I've tried to find some photos of the WD TV Live using Mezzmo, but couldn't find any.

Thanks.

Paul
06-09-2014, 09:38 AM
How much of the metadata Mezzmo provides does the WD TV support?

Basically the same as most DLNA hardware devices (= not much) - i.e. title and artwork for video & photos; title, artist, album and artwork for music.

If want to see all your metadata, then I'd recommend checking out our new Mezzmo Android app. Install it on your Android smartphone or tablet, and you can browse your Mezzmo library, see all metadata and then push/play selected files onto your DLNA devices in your home.