I'm having a bit of a problem with this. For local material the Samsung C/D-profile works fine with my BD-D6500 bluray player, but for online material it's not been all plain sailing. It seems it can play some flv/h264 streams natively but not all.
I installed the LiveFeeds plugin and configured a bunch of the Livestream folders. Sadly most of the channels didn't work, the only HD-channel I got somewhat working was RCI TV for some reason, all other HD channels failed in a variety of ways (unsupported file format, unsupported video codec, black screen but the time count on the display incrementing at seemingly random intervals).
When I found this thread I had a look at profiles.xml and found that this line was not commented out, I changed this and suddenly a lot of the channels started working. I haven't really grasped all of how the profiles work, but my understanding is that if I comment out the flv@h264 line as in the code below, then the flv "catch all" in the next section will cause the file to be transcoded to mpeg2video?
- Code:
<Video targetContainer="mpegts" targetACodec="ac3">
<Matches container="mpegts" aCodec="mp2" />
<Matches container="mp4" aCodec="lpcm" />
<!-- <Matches container="flv" vCodec="h264" /> looks like some (D?) devices play FLV@H264 natively so this could be removed -->
<Matches container="matroska" vCodec="h264" aCodec="flac" />
<Matches container="matroska" vCodec="h264" aCodec="vorbis" />
<Matches container="matroska" vCodec="h264" aCodec="truehd" />
<Matches container="matroska" vCodec="vc1" />
<Matches container="ogg" vCodec="mpeg4" />
<Matches container="3gp" aCodec="amrnb" />
</Video>
<!-- transcode MKV with MPEG2 video, remux into mpeg2ts -->
<!-- transcode AVI with AVC video -->
<Video targetContainer="mpegts" targetACodec="ac3" targetVCodec="mpeg2video" maxVBitrate="20000">
<Matches container="matroska" vCodec="mpeg2video" />
<Matches container="matroska" vCodec="vp8" />
<Matches container="avi" vCodec="h264" />
<Matches container="avi" vCodec="mjpeg" />
<Matches container="avi" vCodec="dvvideo" />
<Matches container="flv" />
<Matches container="ogg" />
</Video>
Since I'm still having the occasional problem, and was hoping to avoid unnecessary network load and cpu cycles caused by transcoding I'd like to understand why some streams work without transcoding and some not. I enabled debugging with transcoding enabled and checked how ffmpeg was invoked, but that didn't give any clues, or maybe I'm not looking at the right place.
In this case with transcoding both streams worked:
- Code:
2012-04-09 10:32:02,124 DEBUG [FFMPEGWrapper] Invoking FFmpeg to transcode video file: rtmp://93.114.44.21:1936/live/ swfUrl=http://veohcast.tv/veohcast.tv.swf pageurl=http://www.veohcast.tv playpath=eventtv swfVfy=0 live=1
2012-04-09 10:32:02,124 DEBUG [ProcessExecutor] Starting C:\Program Files\Serviio\bin\\..\lib/ffmpeg.exe -i rtmp://93.114.44.21:1936/live/ swfUrl=http://veohcast.tv/veohcast.tv.swf pageurl=http://www.veohcast.tv playpath=eventtv swfVfy=0 live=1 -y -threads 1 -async 1 -vcodec mpeg2video -b 20000k -maxrate 20000k -bufsize 20000k -r 24000/1001 -g 15 -copyts -acodec ac3 -ab 192k -ac 2 -map 0:0 -map 0:1 -sn -f mpegts pipe:
2012-04-09 10:33:40,077 DEBUG [FFMPEGWrapper] Invoking FFmpeg to transcode video file: rtmp://s7.webport.tv/live/z050226.stream pageUrl=http://www.tvsector.com/ swfVfy=0 live=1
2012-04-09 10:33:40,078 DEBUG [ProcessExecutor] Starting C:\Program Files\Serviio\bin\\..\lib/ffmpeg.exe -i rtmp://s7.webport.tv/live/z050226.stream pageUrl=http://www.tvsector.com/ swfVfy=0 live=1 -y -threads 1 -async 1 -vcodec mpeg2video -b 20000k -maxrate 20000k -bufsize 20000k -r 25 -g 15 -copyts -acodec ac3 -ab 192k -ac 2 -map 0:0 -map 0:1 -sn -f mpegts pipe:
In this case without transcoding, only the first stream worked:
- Code:
2012-04-09 11:24:40,200 DEBUG [FFMPEGWrapper] Invoking FFmpeg to transcode video file: rtmp://93.114.44.21:1936/live/ swfUrl=http://veohcast.tv/veohcast.tv.swf pageurl=http://www.veohcast.tv playpath=eventtv swfVfy=0 live=1
2012-04-09 11:24:40,200 DEBUG [ProcessExecutor] Starting C:\Program Files\Serviio\bin\\..\lib/ffmpeg.exe -i rtmp://93.114.44.21:1936/live/ swfUrl=http://veohcast.tv/veohcast.tv.swf pageurl=http://www.veohcast.tv playpath=eventtv swfVfy=0 live=1 -y -async 1 -vcodec copy -vbsf h264_mp4toannexb -copyts -acodec ac3 -ab 192k -ac 2 -map 0:0 -map 0:1 -sn -f mpegts pipe:
2012-04-09 11:26:09,218 DEBUG [FFMPEGWrapper] Invoking FFmpeg to transcode video file: rtmp://s7.webport.tv/live/z050226.stream pageUrl=http://www.tvsector.com/ swfVfy=0 live=1
2012-04-09 11:26:09,220 DEBUG [ProcessExecutor] Starting C:\Program Files\Serviio\bin\\..\lib/ffmpeg.exe -i rtmp://s7.webport.tv/live/z050226.stream pageUrl=http://www.tvsector.com/ swfVfy=0 live=1 -y -async 1 -vcodec copy -vbsf h264_mp4toannexb -copyts -acodec ac3 -ab 192k -ac 2 -map 0:0 -map 0:1 -sn -f mpegts pipe:
FFMPEG has the following to say about the two streams:
- Code:
Input #0, flv, from 'rtmp://93.114.44.21:1936/live/ swfUrl=http://veohcast.tv/veohcast.tv.swf pageurl=http://www.veohcast.tv playpath=eventtv swfVfy=0 live=1':
Duration: N/A, start: 0.000000, bitrate: N/A
Stream #0:0: Video: h264 (Main), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], 25 tbr, 1k tbn, 50 tbc
Stream #0:1: Audio: aac, 44100 Hz, stereo, s16
Input #0, flv, from 'rtmp://s7.webport.tv/live/z050226.stream pageUrl=http://www.tvsector.com/ swfVfy=0 live=1':
Duration: N/A, start: 0.000000, bitrate: N/A
Stream #0:0: Video: h264 (Constrained Baseline), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], 25 tbr, 1k tbn, 50 tbc
Stream #0:1: Audio: aac, 44100 Hz, stereo, s16
(The latter stream produced quite a lot of printout from ffmpeg that I omitted) Could it be something with the "constrained baseline" that's causing the problems? Is there any way I could find out more about the streams.
In the end, I might have to conclude that my player isn't really up to scratch, but first I'd like to see if it's possible to isolate the issue and if possible find a different workaround.