Problem with ffmpeg command in serviio 1.0.1
Hi there,
Since 1.0.0 and still valid in 1.0.1, there seems to be a problem with transcoding for mkv files that need it on samsung b/c/d series. Files that worked perfectly fine on pre-1.0 versions don't work anymore.
So I enabled detailed logging and took at look at the output:
As you can see, ffmpeg aborts and there is no file in my tmp to be played back. So I took the ffmpeg command and ran it in a separate console to see what's up. This is what I got:
The first worrying bit is the 'deprecated' warning. The real issue here, though, seems to be the space in the file's path. So I tried escaping it with single quotation marks and got this:
Same happened for double quotation marks.
What's the issue here?
Thanks in advance!
Since 1.0.0 and still valid in 1.0.1, there seems to be a problem with transcoding for mkv files that need it on samsung b/c/d series. Files that worked perfectly fine on pre-1.0 versions don't work anymore.
So I enabled detailed logging and took at look at the output:
- Code:
2012-08-16 13:32:02,438 DEBUG [VideoDeliveryEngine] Retrieving resource information for item 2305, format AVC_TS_MP_SD_AC3_ISO and profile Samsung TV / player (C/D/E-series)
2012-08-16 13:32:02,438 DEBUG [AbstractTranscodingDeliveryEngine] Getting media info for transcoded version of file my.so.called.life.s01e13.pressure.ntsc.dvd.dd.5.1.x264-lightspeed.mkv
2012-08-16 13:32:02,439 DEBUG [VideoDeliveryEngine] Found Format profile for transcoded file my.so.called.life.s01e13.pressure.ntsc.dvd.dd.5.1.x264-lightspeed.mkv: AVC_TS_MP_SD_AC3_ISO
2012-08-16 13:32:02,439 DEBUG [ResourceDeliveryProcessor] Sending HEAD response back
2012-08-16 13:32:02,439 DEBUG [ResourceTransportRequestHandler] HTTP/1.1 200 OK, headers = [[Content-Type: video/mpeg,Content-Length: 50000000000,Date: Thu, 16 Aug 2012 11:32:02 GMT,Server: Linux, UPnP/1.0 DLNADOC/1.50, Serviio/1.0.1,Cache-control: no-cache,contentFeatures.dlna.org: DLNA.ORG_PN=AVC_TS_MP_SD_AC3_ISO;DLNA.ORG_OP=10;DLNA.ORG_CI=1;DLNA.ORG_FLAGS=01500000000000000000000000000000,transferMode.dlna.org: Streaming]]
2012-08-16 13:32:02,443 DEBUG [WebServer] Incoming connection from /192.168.1.128:39655
2012-08-16 13:32:02,443 DEBUG [RendererDAOImpl] Reading a Renderer with ip address 192.168.1.128
2012-08-16 13:32:02,444 DEBUG [ResourceTransportRequestHandler] GET /resource/2305/MEDIA_ITEM/AVC_TS_MP_SD_AC3_ISO-0/ORIGINAL HTTP/1.0, headers = [getcontentFeatures.dlna.org: 1,transferMode.dlna.org: Streaming,getMediaInfo.sec: 1,TimeSeekRange.dlna.org: npt=0-,Host: 192.168.1.150:8895]]
2012-08-16 13:32:02,444 DEBUG [RendererDAOImpl] Reading a Renderer with ip address 192.168.1.128
2012-08-16 13:32:02,444 DEBUG [ResourceDeliveryProcessor] Resource request accepted. Using client 'IPAddress=/192.168.1.128, Profile=Samsung TV / player (C/D/E-series)'
2012-08-16 13:32:02,445 DEBUG [ResourceDeliveryProcessor] Request for resource 2305 and type 'MEDIA_ITEM' received
2012-08-16 13:32:02,445 DEBUG [MediaResourceRetrievalStrategy] Getting information about media item 2305 (local)
2012-08-16 13:32:02,445 DEBUG [MediaItemDAOImpl] Reading a MediaItem (id = 2305)
2012-08-16 13:32:02,445 DEBUG [VideoDAOImpl] Reading a Video (id = 2305)
2012-08-16 13:32:02,445 DEBUG [VideoDeliveryEngine] Delivering item '2305' for client 'IPAddress=/192.168.1.128, Profile=Samsung TV / player (C/D/E-series)'
2012-08-16 13:32:02,446 DEBUG [VideoDeliveryEngine] Delivering file 'my.so.called.life.s01e13.pressure.ntsc.dvd.dd.5.1.x264-lightspeed.mkv' using transcoding
2012-08-16 13:32:02,446 DEBUG [AbstractTranscodingDeliveryEngine] No other client uses transcoding job of file 'transcoding-temp-2304-7-ORIGINAL.stf', will stop the job
2012-08-16 13:32:02,446 DEBUG [AbstractTranscodingDeliveryEngine] Stopping previous transcoding job of file 'transcoding-temp-2304-7-ORIGINAL.stf'
2012-08-16 13:32:02,446 DEBUG [TranscodingJobListener] Deleted temp file '/tmp/Serviio/transcoding-temp-2304-7-ORIGINAL.stf': false
2012-08-16 13:32:02,446 DEBUG [AbstractTranscodingDeliveryEngine] No suitable transcoding job exists yet, start one for client 'IPAddress=/192.168.1.128, Profile=Samsung TV / player (C/D/E-series)'
2012-08-16 13:32:02,446 DEBUG [MediaItemDAOImpl] Getting file of media item 2305
2012-08-16 13:32:02,447 DEBUG [FFMPEGWrapper] Invoking FFmpeg to transcode video file: /mnt/data/TV Series/My So-Called Life/My.So.Called.Life.NTSC.DVD.DD5.1.x264-LiGHTSPEED/my.so.called.life.s01e13.pressure.ntsc.dvd.dd.5.1.x264-lightspeed.mkv
2012-08-16 13:32:02,447 DEBUG [ProcessExecutor] Starting ffmpeg -fflags +genpts -i /mnt/data/TV Series/My So-Called Life/My.So.Called.Life.NTSC.DVD.DD5.1.x264-LiGHTSPEED/my.so.called.life.s01e13.pressure.ntsc.dvd.dd.5.1.x264-lightspeed.mkv -y -copyts -c:v copy -vbsf h264_mp4toannexb -c:a copy -map 0:0 -map 0:1 -sn -f mpegts /tmp/Serviio/transcoding-temp-2305-7-ORIGINAL.stf
2012-08-16 13:32:02,568 WARN [ProcessExecutor] Process ffmpeg has a return code of 1! This is a possible error.
2012-08-16 13:32:02,568 DEBUG [TranscodingJobListener] Transcoding finished; successful: false
2012-08-16 13:32:09,948 ERROR [ResourceTransportRequestHandler] Error while processing resource, sending back 500 error. Message: Transcoded file '/tmp/Serviio/transcoding-temp-2305-7-ORIGINAL.stf' cannot be found, FFmpeg execution probably failed
java.io.IOException: Transcoded file '/tmp/Serviio/transcoding-temp-2305-7-ORIGINAL.stf' cannot be found, FFmpeg execution probably failed
at org.serviio.delivery.resource.transcode.FileBasedTranscodingDeliveryStrategy.createInputStream(FileBasedTranscodingDeliveryStrategy.java:45)
at org.serviio.delivery.resource.transcode.AbstractTranscodingDeliveryEngine.retrieveTranscodedResource(AbstractTranscodingDeliveryEngine.java:125)
at org.serviio.delivery.resource.AbstractDeliveryEngine.deliver(AbstractDeliveryEngine.java:95)
at org.serviio.delivery.MediaResourceRetrievalStrategy.retrieveResource(MediaResourceRetrievalStrategy.java:120)
at org.serviio.delivery.ResourceDeliveryProcessor.deliverContent(ResourceDeliveryProcessor.java:84)
at org.serviio.upnp.webserver.ResourceTransportRequestHandler.handleRequest(ResourceTransportRequestHandler.java:79)
at org.serviio.upnp.webserver.AbstractRequestHandler.handle(AbstractRequestHandler.java:61)
at org.apache.http.protocol.HttpService.doService(HttpService.java:293)
at org.serviio.upnp.webserver.ServiioHttpService.doService(ServiioHttpService.java:58)
at org.apache.http.protocol.HttpService.handleRequest(HttpService.java:212)
at org.serviio.upnp.webserver.WebServer$WorkerThread.run(WebServer.java:191)
As you can see, ffmpeg aborts and there is no file in my tmp to be played back. So I took the ffmpeg command
- Code:
ffmpeg -fflags +genpts -i /mnt/data/TV Series/My So-Called Life/My.So.Called.Life.NTSC.DVD.DD5.1.x264-LiGHTSPEED/my.so.called.life.s01e13.pressure.ntsc.dvd.dd.5.1.x264-lightspeed.mkv -y -copyts -c:v copy -vbsf h264_mp4toannexb -c:a copy -map 0:0 -map 0:1 -sn -f mpegts /tmp/Serviio/transcoding-temp-2305-7-ORIGINAL.stf
- Code:
$ ffmpeg -fflags +genpts -i /mnt/data/TV Series/My So-Called Life/My.So.Called.Life.NTSC.DVD.DD5.1.x264-LiGHTSPEED/my.so.called.life.s01e10.other.peoples.mothers.ntsc.dvd.dd.5.1c.x264-lightspeed.mkv -y -copyts -c:v copy -vbsf h264_mp4toannexb -c:a copy -map 0:0 -map 0:1 -sn -f mpegts /tmp/Serviio/transcoding-temp-2302-7-ORIGINAL.stf
ffmpeg version 0.8.3-6:0.8.3-6, Copyright (c) 2000-2012 the Libav developers
built on Aug 4 2012 09:31:29 with gcc 4.7.1
*** THIS PROGRAM IS DEPRECATED ***
This program is only provided for compatibility and will be removed in a future release. Please use avconv instead.
/mnt/data/TV: No such file or directory
The first worrying bit is the 'deprecated' warning. The real issue here, though, seems to be the space in the file's path. So I tried escaping it with single quotation marks and got this:
- Code:
$ ffmpeg -fflags +genpts -i '/mnt/data/TV Series/My So-Called Life/My.So.Called.Life.NTSC.DVD.DD5.1.x264-LiGHTSPEED/my.so.called.life.s01e10.other.peoples.mothers.ntsc.dvd.dd.5.1c.x264-lightspeed.mkv' -y -copyts -c:v copy -vbsf h264_mp4toannexb -c:a copy -map 0:0 -map 0:1 -sn -f mpegts /tmp/Serviio/transcoding-temp-2302-7-ORIGINAL.stf
ffmpeg version 0.8.3-6:0.8.3-6, Copyright (c) 2000-2012 the Libav developers
built on Aug 4 2012 09:31:29 with gcc 4.7.1
*** THIS PROGRAM IS DEPRECATED ***
This program is only provided for compatibility and will be removed in a future release. Please use avconv instead.
[matroska,webm @ 0xc44fa0] Estimating duration from bitrate, this may be inaccurate
Input #0, matroska,webm, from '/mnt/data/TV Series/My So-Called Life/My.So.Called.Life.NTSC.DVD.DD5.1.x264-LiGHTSPEED/my.so.called.life.s01e10.other.peoples.mothers.ntsc.dvd.dd.5.1c.x264-lightspeed.mkv':
Duration: 00:47:39.28, start: 0.000000, bitrate: 640 kb/s
Stream #0.0(eng): Video: h264 (High), yuv420p, 708x480 [PAR 10:11 DAR 59:44], 23.98 fps, 23.98 tbr, 1k tbn, 47.95 tbc (default)
Stream #0.1: Audio: ac3, 48000 Hz, 5.1, s16, 448 kb/s (default)
Stream #0.2: Audio: ac3, 48000 Hz, stereo, s16, 192 kb/s
Unrecognized option 'c:v'
Failed to set value 'copy' for option 'c:v'
Same happened for double quotation marks.
What's the issue here?
Thanks in advance!