PS3 - Targeting Constrained Baseline Profile
I have a file that will not play on the PS3, either from Serviio or from a USB stick. While it plays in my Sony Blu-Ray player without an issue from both Serviio and a USB stick, the PS3 has a problem with it. Since it didn't play from a USB stick, I forced it to transcode in the PS3 profile by adding the following, and then it worked fine:
However, this obviously has the side effect of transcoding all h264 video that is higher than level 4.1, not just those with the "high" and "main" profiles as originally specified in the profile. The video is question uses the Constrained Baseline Profile, so I tried to target it with the following code, but it appears that "baseline" only matches the actual Baseline Profile, not the CBP.
Obviously, this doesn't transcode the video since it isn't the actual Baseline Profile, and I get an error message that "The Data is Corrupted" when I try to play it. Short of using vFourCC to isolate it a little more, I'm not sure of the best transcoding configuration in this case. As of now, I'm just using the first statement to transcode all profiles, but I would prefer if I could isolate it a little more. I appreciate any guidance you can provide.
- Code:
C:\Users\xxxxxxx>"C:\Program Files\Serviio\lib\ffmpeg.exe" -i "D:\ServerFolder
s\TV Shows\Fullmetal Alchemist - Brotherhood\Fullmetal Alchemist Brotherhood - 2
7 - Interlude Party.mp4"
ffmpeg version N-42368-gbf53863 Copyright (c) 2000-2012 the FFmpeg developers
built on Jul 10 2012 03:40:45 with gcc 4.6.3
configuration: --enable-static --disable-shared --disable-ffplay --disable-ffs
erver --enable-memalign-hack --enable-libmp3lame --enable-librtmp --extra-libs='
-lrtmp -lpolarssl -lws2_32 -lwinmm' --arch=x86 --enable-runtime-cpudetect --enab
le-pthreads --target-os=mingw32 --cross-prefix=i686-w64-mingw32- --pkg-config=pk
g-config
libavutil 51. 64.100 / 51. 64.100
libavcodec 54. 33.100 / 54. 33.100
libavformat 54. 15.102 / 54. 15.102
libavdevice 54. 1.100 / 54. 1.100
libavfilter 3. 1.100 / 3. 1.100
libswscale 2. 1.100 / 2. 1.100
libswresample 0. 15.100 / 0. 15.100
[mov,mp4,m4a,3gp,3g2,mj2 @ 0187BD80] max_analyze_duration 5000000 reached at 500
5005
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'D:\ServerFolders\TV Shows\Fullmetal Alc
hemist - Brotherhood\Fullmetal Alchemist Brotherhood - 27 - Interlude Party.mp4'
:
Metadata:
major_brand : M4V
minor_version : 0
compatible_brands: M4V mp42isom
title : Interlude Party
artist : Fullmetal Alchemist: Brotherhood
album_artist : Fullmetal Alchemist: Brotherhood
album : Fullmetal Alchemist: Brotherhood, Season 2, Pt. 1
genre : Animation
track : 1
disc : 1/1
gapless_playback: 0
date : 2010-12-28T08:00:00Z
copyright : © Hiromu Arakawa/FA Project, MBS. Licensed by FUNimation
® Productions, Ltd. All Rights Reserved.
description : Visions of the past play out by a warming fire as Hohenhei
m reflects on the unavoidable follies of man: the pain that comes with a loving
family; the hidden truths of alchemy; and the roots and results of war.
show : Fullmetal Alchemist: Brotherhood
episode_id : 27
season_number : 2
episode_sort : 1
media_type : 10
synopsis : Visions of the past play out by a warming fire as Hohenhei
m reflects on the unavoidable follies of man: the pain that comes with a loving
family; the hidden truths of alchemy; and the roots and results of war.
comment : Uploader: nextday
Duration: 00:24:38.31, start: 0.000000, bitrate: 1533 kb/s
Stream #0:0(eng): Audio: aac (mp4a / 0x6134706D), 44100 Hz, stereo, s16, 125
kb/s
Metadata:
handler_name : Apple Sound Media Handler
Stream #0:1(eng): Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yu
v420p, 640x480 [SAR 4:3 DAR 16:9], 1402 kb/s, 23.98 fps, 23.98 tbr, 2997 tbn, 59
94 tbc
Metadata:
handler_name : Apple Video Media Handler
Stream #0:2: Video: mjpeg, yuvj444p, 600x600 [SAR 72:72 DAR 1:1], 90k tbr, 9
0k tbn, 90k tbc
At least one output file must be specified