PDA

View Full Version : Philips PFL7605 TV and FastForward



Mazahs
08-03-2010, 04:18 AM
I've been trying out Mezzmo for my new Philips PFL7605 TV and although it can play everything I thow at it when using the Philips 8000 series profile, it also seems to think it has to transcode it all.
So I've made some changes to the profile and managed to get it to only transcode the files the TV also can't play when using the built in USB.
Now I have the odd problem that I cant use fast forward on any of the files that the TV plays on it own. It works fine when I play the files that get transcoded, but when I play the ones that don't the speed simply stays the same. When I play the same files via USB fast forward works fine.
Is there some setting I can use in the profile that will fix that?

Paul
08-03-2010, 08:41 AM
Can you please post your update profile here or send to support (at) conceiva (dot) com, so that we could include it in the next release of Mezzmo as well? It would be great for other Philips owners to have. Thanks!

Regarding FF/REW - it should allow you to do that for non-transcoded files of course. Maybe there's something in the profile that I'll spot.

Mazahs
08-04-2010, 12:05 AM
It seems all I actually ended up adding to the profile was support for WMV3.
I also changed the user agent so it would autodetect the TV correctly and the contentlength because it would only play the first 30sec or so of each file otherwise.

Paul
08-04-2010, 08:46 AM
That's great - thank you very much! I've merged your changes/additions into our profile and it'll be available with the next update.

Mazahs
08-05-2010, 02:51 AM
I've been trying to tweak the profile a bit, but unfortuantely when I get something to work I break something else :)

I have a number of WMV files in a few different formats. WMV3/WMAV2, WMV3/WMAPro and WMV2/WMAV2.
The only ones the TV will play on its own are WMV3/WMAV2, the rest are all transcoded to MPEG2/AC3 with the current profile, because the TV doesn't seem to support WMAPRO or WMV2.

Since the TV does support WMV3, I don't seen any reason to trancode the WMV3/WMAPro ones to MPEG2 though, that seems like a waste of CPU and disc space. So I've managed to just make it transcode the sound to WMAV2. However that has resulted in the WMV2 files no longer being transcoded, so I can't play those any more :(

The only thing I changed in the previously posted profile was setting encode=1 for the wmv3/wmav2 lines I added.

How do I get it to transcode the WMV2 files to a playable format again, while still only transcoding the sound of the WMV3/WMAPro ones?

As for the FFwd issues, it seems that it is only a problem with WMV/AVI files, MPEG2 works just fine. It would be a shame to have to transcode all the files I have just so I can use FFwd though...

Paul
08-05-2010, 08:36 AM
Can you please post (or send to support) FFmpeg information on the files that play and those that don't (and should be transcoded) and based on that I should be able to make a working device profile.

Mazahs
08-06-2010, 12:06 AM
This is a file that plays without transcoding:

FFmpeg version SVN-r24378, Copyright (c) 2000-2010 the FFmpeg developers
built on Jul 21 2010 12:51:48 with gcc 4.4.0
configuration: --enable-static --disable-shared --enable-memalign-hack --enable-libmp3lame --extra-cflags=-I/c/msys/local/include --extra-ldflags=-L/c/msys/local/lib --enable-zlib --enable-w32threads --extra-cflags=-fno-common --enable-gpl --enable-libx264 --disable-ffplay --disable-ffprobe --disable-ffserver --enable-postproc --enable-runtime-cpudetect --extra-cflags=-U__STRICT_ANSI__
libavutil 50.22. 0 / 50.22. 0
libavcodec 52.84. 0 / 52.84. 0
libavformat 52.76. 0 / 52.76. 0
libavdevice 52. 2. 0 / 52. 2. 0
libavfilter 1.25. 1 / 1.25. 1
libswscale 0.11. 0 / 0.11. 0
libpostproc 51. 2. 0 / 51. 2. 0
[wmv3 @ 02e51110] Extra data: 8 bits left, value: 0

Seems stream 1 codec frame rate differs from container frame rate: 1000.00 (1000/1) -> 29.97 (30000/1001)
Input #0, asf, from 'F:\Film\WMV3_WMAV2.wmv':
Metadata:
AspectRatioX : 1
AspectRatioY : 1
WMFSDKVersion : 11.0.5721.5265
WMFSDKNeeded : 0.0.0.0000
VBR Peak : 115
Buffer Average : 442
IsVBR : 1
MediaFoundationVersion: 2.112
title :
author :
copyright :
comment :
Duration: 00:32:00.65, start: 3.065000, bitrate: 1180 kb/s
Stream #0.0: Audio: wmav2, 44100 Hz, 2 channels, s16, 48 kb/s
Stream #0.1: Video: wmv3, yuv420p, 640x360, 1152 kb/s, PAR 1:1 DAR 16:9, 29.97 tbr, 1k tbn, 1k tbc

This is a file that should only have the audio stream transcoded:

FFmpeg version SVN-r24378, Copyright (c) 2000-2010 the FFmpeg developers
built on Jul 21 2010 12:51:48 with gcc 4.4.0
configuration: --enable-static --disable-shared --enable-memalign-hack --enable-libmp3lame --extra-cflags=-I/c/msys/local/include --extra-ldflags=-L/c/msys/local/lib --enable-zlib --enable-w32threads --extra-cflags=-fno-common --enable-gpl --enable-libx264 --disable-ffplay --disable-ffprobe --disable-ffserver --enable-postproc --enable-runtime-cpudetect --extra-cflags=-U__STRICT_ANSI__
libavutil 50.22. 0 / 50.22. 0
libavcodec 52.84. 0 / 52.84. 0
libavformat 52.76. 0 / 52.76. 0
libavdevice 52. 2. 0 / 52. 2. 0
libavfilter 1.25. 1 / 1.25. 1
libswscale 0.11. 0 / 0.11. 0
libpostproc 51. 2. 0 / 51. 2. 0
[wmv3 @ 02a42590] Extra data: 8 bits left, value: 0
[asf @ 0003cd70] max_analyze_duration reached

Seems stream 1 codec frame rate differs from container frame rate: 1000.00 (1000/1) -> 29.97 (30000/1001)
Input #0, asf, from 'F:\Film\WMV3_WMAPro.wmv':
Metadata:
WMFSDKVersion : 12.0.7600.16385
WMFSDKNeeded : 0.0.0.0000
VBR Peak : 521
Buffer Average : 133
IsVBR : 1
MediaFoundationVersion: 2.112
title :
author :
copyright :
comment :
Duration: 00:30:50.52, start: 3.000000, bitrate: 3615 kb/s
Stream #0.0(eng): Audio: wmapro, 48000 Hz, stereo, flt, 128 kb/s
Stream #0.1(rus): Video: wmv3, yuv420p, 1280x720, 3500 kb/s, PAR 1:1 DAR 16:9, 29.97 tbr, 1k tbn, 1k tbc

And finally this is a file where the video stream should be transcoded:

FFmpeg version SVN-r24378, Copyright (c) 2000-2010 the FFmpeg developers
built on Jul 21 2010 12:51:48 with gcc 4.4.0
configuration: --enable-static --disable-shared --enable-memalign-hack --enable-libmp3lame --extra-cflags=-I/c/msys/local/include --extra-ldflags=-L/c/msys/local/lib --enable-zlib --enable-w32threads --extra-cflags=-fno-common --enable-gpl --enable-libx264 --disable-ffplay --disable-ffprobe --disable-ffserver --enable-postproc --enable-runtime-cpudetect --extra-cflags=-U__STRICT_ANSI__
libavutil 50.22. 0 / 50.22. 0
libavcodec 52.84. 0 / 52.84. 0
libavformat 52.76. 0 / 52.76. 0
libavdevice 52. 2. 0 / 52. 2. 0
libavfilter 1.25. 1 / 1.25. 1
libswscale 0.11. 0 / 0.11. 0
libpostproc 51. 2. 0 / 51. 2. 0

Seems stream 1 codec frame rate differs from container frame rate: 1000.00 (1000/1) -> 29.97 (30000/1001)
Input #0, asf, from 'F:\Film\WMV2_WMAV2.wmv
Metadata:
WMFSDKVersion : 10.00.00.3997
WMFSDKNeeded : 0.0.0.0000
IsVBR : 0
MediaFoundationVersion: 2.112
title :
author :
copyright :
comment :
Duration: 00:38:27.73, start: 5.000000, bitrate: 1371 kb/s
Stream #0.0(eng): Audio: wmav2, 44100 Hz, 2 channels, s16, 64 kb/s
Stream #0.1(eng): Video: wmv2, yuv420p, 640x480, 1300 kb/s, PAR 1:1 DAR 4:3, 29.97 tbr, 1k tbn, 1k tbc

Paul
08-06-2010, 09:29 AM
The problem is that FFmpeg doesn't currently (at least our current build of FFmpeg) transcode to WMV3 (Windows Media Video 9), it transcodes to WMV2 and WMV1 though. If the TV doesn't support WMV2, then looks like we'll have to transcode it to MPEG2... Maybe the TV supports WMV2 in combination with WMAV1, for example?

Mazahs
08-06-2010, 10:36 PM
According to the documentation the TV supports the following:

Picture Playback Formats: JPEG
Music Playback Formats: MP3, WMA (v2 up to v9.2), AAC
Video Playback Formats: Codec support:, H264/MPEG-4 AVC, MPEG-1, MPEG-2, MPEG-4, WMV9/VC1, Containers: AVI, MKV

Just to make sure I tested if it would support WMAV1, but it doesn't.

I did somehow manage to get it to only transcode the sound of the WMV3 files now though, while still transcoding the WMV2 files to MPEG2. :)


<avcontainer id="asf" name="asf" encode="1" mimetype="video/x-ms-wmv" format="asf" supportschunked="0">
<video>
<format id="wmv3" encode="1" codec="wmv3">
</format>
</video>
<audio>
<format id="wmav2" encode="0" codec="wmav2">
</format>
</audio>
<audio>
<format id="other" encode="1" codec="wmav2">
</format>
</audio>
</avcontainer>

It's probably not the proper way to do it but it works :p

Paul
08-09-2010, 08:58 AM
The "id" portion in the device profile is the codec as reported by FFmpeg, so "other" would not be used (it'll be ignored). So, the above is the same as saying:



<avcontainer id="asf" name="asf" encode="1" mimetype="video/x-ms-wmv" format="asf" supportschunked="0">
<video>
<format id="wmv3" encode="1" codec="wmv3">
</format>
</video>
<audio>
<format id="wmav2" encode="1" codec="wmav2">
</format>
</audio>
</avcontainer>


Maybe transcoding to AVC would be a bit faster than to MPEG2 - we can try that, if you wish.

Mazahs
08-09-2010, 04:34 PM
What you posted is exactly what I had in the profile before, which resulted in it trying to play the WMV2 files without transcoding. Probably because the files contained WMAV2 and it figured it would only need to transcode the video, which it couldn't because it should be WMV3.

The 'other' format is not ignored, it somehow makes it think the WMV2 files doesn't contain any formats worth keeping while still providing an audio format for the WMV3 files to transcode to.

Paul
08-09-2010, 04:53 PM
Well, what happens technically is that Mezzmo will look at the file and see that is has (for example) a video stream "wmv3" and an audio stream "wmapro". It will then look at the device profile and see that this is not defined as a combination that the device can play. After that it'll see that "wmv3" actually exists in a combination that can be transcoded to (encode="1"), so it will take that container and use the codec="wmav2" information from the line where encode="1". It'll ignore the "other", because that is only used to match a container to a file, but it's not used to transcode. So, in effect, what I posted is identical to what you had before, that's correct.

It should not have passed the file through to the TV without attempting to transcode, unless transcoding was turned off, so I'd be surprised if it did. If the file is "wmv2" and "wmav2" it will not be considered a native file and should be transcoded to MPEG2 (in the default profile), because the video stream does not match anything and MPEG2 is the preferred transcoding.

Can you please turn on diagnostic logging (see this thread: http://forum.conceiva.com/showthread.php/419-FAQ-How-to-turn-on-diagnostic-logging) and try to stream that file with wmv2 and then send the logs to support (at) conceiva (dot) com, so that I could look at why it's passing the file through instead of transcoding it? Thanks!