Live http stream to C Samsung TV: 5.1 audio downmixed to 2.0
Actually I'm able to play the stream, but 5.1 ac3 audio track is downmixed to 2.0 ac3 and I'd like to keep the original audio track.
I did this with Wild Media Server, trascoding the stream on a temp file, so my TV can handle the original tracks, but I'd prefer to do it with Serviio.
The original stream is a udp stream, that I re-stream with vlc in http.
Inspecting it with ffmpeg.exe -i "http://192.168.0.2:2345" I have this result:
- Code:
Seems stream 1 codec frame rate differs from container frame rate: 100.00 (100/1) -> 50.08 (601/12)
Input #0, mpegts, from 'http://192.168.0.2:2345':
Duration: N/A, start: 15291.098189, bitrate: 448 kb/s
Program 1
Stream #0:0[0x44](deu): Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, 5.1(side), s16, 448 kb/s
Stream #0:1[0x45]: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], 52.91 fps, 50.08 tbr, 90k tbn, 100 tbc
I think I can play the stream from my Popcorn Hour A110 without transcoding, because in log file I found these lines:
I don't know if my TV can handle this native format, but I think the stream is transcoded because the audio track on the TV is 2.0 and I found these lines in the log file:
- Code:
2012-06-11 16:50:46,140 DEBUG [WebServer] Incoming connection from /192.168.0.4:43461
2012-06-11 16:50:46,140 DEBUG [ResourceTransportRequestHandler] HEAD /resource/1000000000010001/MEDIA_ITEM/MPEG_TS_SD_KO_ISO*0 HTTP/1.0, headers = [getcontentFeatures.dlna.org: 1,Host: 192.168.0.2:8895]]
2012-06-11 16:50:46,140 DEBUG [RendererDAOImpl] Reading a Renderer with ip address 192.168.0.4
2012-06-11 16:50:46,140 DEBUG [ResourceTransportRequestHandler] Resource request accepted. Using client 'IPAddress=/192.168.0.4, Profile=Samsung TV / player (C/D-series)'
2012-06-11 16:50:46,140 DEBUG [ResourceTransportRequestHandler] Request for resource 1000000000010001 and type 'MEDIA_ITEM' received
2012-06-11 16:50:46,140 DEBUG [MediaResourceRetrievalStrategy] Getting information about media item 1000000000010001 (online)
2012-06-11 16:50:46,140 DEBUG [OnlineRepositoryDAOImpl] Reading an OnlineRepository (id = 1)
2012-06-11 16:50:46,140 DEBUG [VideoDeliveryEngine] Retrieving resource information for item 1000000000010001, format MPEG_TS_SD_KO_ISO and profile Samsung TV / player (C/D-series)
2012-06-11 16:50:46,140 DEBUG [AbstractTranscodingDeliveryEngine] Getting media info for transcoded version of file http://192.168.0.2:2345
2012-06-11 16:50:46,140 DEBUG [VideoDeliveryEngine] Found Format profile for transcoded file http://192.168.0.2:2345: MPEG_TS_SD_EU_ISO
2012-06-11 16:50:46,140 DEBUG [VideoDeliveryEngine] Found Format profile for transcoded file http://192.168.0.2:2345: MPEG_TS_SD_NA_ISO
2012-06-11 16:50:46,140 DEBUG [VideoDeliveryEngine] Found Format profile for transcoded file http://192.168.0.2:2345: MPEG_TS_SD_KO_ISO
2012-06-11 16:50:46,140 DEBUG [ResourceTransportRequestHandler] Sending HEAD response back
2012-06-11 16:50:46,140 DEBUG [ResourceTransportRequestHandler] HTTP/1.1 200 OK, headers = [[Content-Type: video/mpeg,Content-Length: 50000000000,Date: Mon, 11 Jun 2012 14:50:46 GMT,Server: Windows XP, UPnP/1.0 DLNADOC/1.50, Serviio/0.6.2,Cache-control: no-cache,contentFeatures.dlna.org: DLNA.ORG_PN=MPEG_TS_SD_KO_ISO;DLNA.ORG_OP=00;DLNA.ORG_CI=1;DLNA.ORG_FLAGS=8D500000000000000000000000000000,transferMode.dlna.org: Streaming]]
2012-06-11 16:50:46,156 DEBUG [WebServer] Incoming connection from /192.168.0.4:51431
2012-06-11 16:50:46,156 DEBUG [ResourceTransportRequestHandler] GET /resource/1000000000010001/MEDIA_ITEM/MPEG_TS_SD_KO_ISO*0 HTTP/1.0, headers = [getcontentFeatures.dlna.org: 1,transferMode.dlna.org: Streaming,getMediaInfo.sec: 1,Host: 192.168.0.2:8895]]
2012-06-11 16:50:46,156 DEBUG [RendererDAOImpl] Reading a Renderer with ip address 192.168.0.4
2012-06-11 16:50:46,156 DEBUG [ResourceTransportRequestHandler] Resource request accepted. Using client 'IPAddress=/192.168.0.4, Profile=Samsung TV / player (C/D-series)'
2012-06-11 16:50:46,156 DEBUG [ResourceTransportRequestHandler] Request for resource 1000000000010001 and type 'MEDIA_ITEM' received
2012-06-11 16:50:46,156 DEBUG [MediaResourceRetrievalStrategy] Getting information about media item 1000000000010001 (online)
2012-06-11 16:50:46,156 DEBUG [OnlineRepositoryDAOImpl] Reading an OnlineRepository (id = 1)
2012-06-11 16:50:46,156 DEBUG [VideoDeliveryEngine] Delivering item '1000000000010001' for client 'IPAddress=/192.168.0.4, Profile=Samsung TV / player (C/D-series)'
2012-06-11 16:50:46,156 DEBUG [VideoDeliveryEngine] Delivering file 'http://192.168.0.2:2345' using transcoding
2012-06-11 16:50:46,156 DEBUG [AbstractTranscodingDeliveryEngine] No suitable transcoding job exists yet, start one for client 'IPAddress=/192.168.0.4, Profile=Samsung TV / player (C/D-series)'
2012-06-11 16:50:46,156 DEBUG [FFMPEGWrapper] Invoking FFmpeg to transcode video file: http://192.168.0.2:2345
2012-06-11 16:50:46,156 DEBUG [ProcessExecutor] Starting g:\Program Files\Serviio\bin\\..\lib/ffmpeg.exe -i http://192.168.0.2:2345 -y -async 1 -vcodec copy -copyts -acodec ac3 -ab 192k -ac 2 -map 0:1 -map 0:0 -sn -f mpegts pipe:
From what I understand from the last line, the stream is transcoded with ffmpeg, the video track is copied (-vcodec copy) and the audio track is transcoded and downmixed to 2.0 192kbs (-acodec ac3 -ab 192k -ac 2).
I think it would be enough to modify this ffmpeg call, replacing "-acodec ac3 -ab 192k -ac 2" with "-acodec copy", but I don't know how to do that.
Can someone please help me?
Thanks in advance.
Frank
