Jump to content

Unable to download transcoded Recordings to iPad


SteveFintel

Recommended Posts

SteveFintel

I have been unable download any transcoded LiveTV Recordings to my iPad. If I set transcoding to Original quality, they download but playback is only a black screen (I don't think the iPad has a codec for .TS files). If I set transcoding to any bit rate, it fails almost instantly. I've attached a log file that includes a failed download attempt from earlier today.

Note that I can download other content (with and without transcoding) without issue. It's just the .TS files that fail.

embyserver.txt

Link to comment
Share on other sites

  • 1 month later...
1 hour ago, SteveFintel said:

I'm running the 4.8.0.19 beta and it's still happening.

Can you please provide a server log example from the beta? I just tested this now and didn't have any problem. Thanks.

Link to comment
Share on other sites

SteveFintel

I have the plugin installed, but I don't think I have any options enabled. Do you have any screen shots of what the unaltered settings should look like so I can check? Also, I'm running Emby in a TruNAS jail. Is this feature tested in TruNAS? I noticed that any download I attempt that includes transcoding fails immediately.

Link to comment
Share on other sites

SteveFintel

BTW, I was just looking through the log file:

	*** Error Report ***
	Version: 4.8.0.19
	Command line: /usr/local/lib/emby-server/system/EmbyServer.dll -os freebsd -ffdetect /usr/local/lib/emby-server/bin/ffdetect -ffmpeg /usr/local/lib/emby-server/bin/ffmpeg -ffprobe /usr/local/lib/emby-server/bin/ffprobe -programdata /var/db/emby-server -updatepackage emby-server-freebsd12_{version}_amd64.pkg
	Operating system: FreeBSD 13.1-RELEASE-p2 FreeBSD 13.1-RELEASE-p2 n245412-484f039b1d0 TRUENAS
	Framework: .NET 6.0.5
	OS/Process: x64/x64
	Runtime: usr/local/lib/emby-server/system/System.Private.CoreLib.dll
	Processor count: 8
	Data path: /var/db/emby-server
	Application path: /usr/local/lib/emby-server/system
	Emby.Server.MediaEncoding.Unified.Ffmpeg.FfRunException: Emby.Server.MediaEncoding.Unified.Ffmpeg.FfRunException: Output stream (input stream id 100) not found.
	
	
	
	
	 ---> System.ApplicationException: Output stream (input stream id 100) not found.
	   at Emby.Server.MediaEncoding.Encoder.Pipelines.Subtitles.SubtitlePipelineBuilderDefault.SetupSubtitleOutputCodec(InputStreamSubtitle inputStream, FfmpegCommand command, ConfiguredSubtitleEncoder subtitleEncoder)
	   at Emby.Server.MediaEncoding.Encoder.Pipelines.Subtitles.SubtitlePipelineBuilderBase.SetupSubtitlePipeline(DemandsList demands, FfmpegCommand command, ConfiguredSubtitleDecoder subtitleDecoder, ConfiguredSubtitleEncoder subtitleEncoder)
	   at Emby.Server.MediaEncoding.Encoder.TranscodingCommandBuilder.SetupSubtitleStreams(EncodingJobInfo state, FfmpegCommand command)
	   at Emby.Server.MediaEncoding.Encoder.TranscodingCommandBuilder.GetProgressiveVideoFullCommandLine(EncodingJobInfo state, String outputPath)
	   at Emby.Server.MediaEncoding.Encoder.VideoEncoder.GetCommandLineArguments(EncodingJobInfo state, TranscodingCommandBuilder transcodingCommandBuilder)
	   at Emby.Server.MediaEncoding.Encoder.BaseEncoder.Start(EncodingJobOptions options, IProgress`1 progress, CancellationToken cancellationToken)
	   --- End of inner exception stack trace ---
	   at Emby.Server.MediaEncoding.Encoder.BaseEncoder.Start(EncodingJobOptions options, IProgress`1 progress, CancellationToken cancellationToken)
	   at Emby.Server.MediaEncoding.Encoder.MediaEncoder.EncodeVideo(EncodingJobOptions options, IProgress`1 progress, CancellationToken cancellationToken)
	   at Emby.Server.Sync.SyncJobProcessor.SyncVideo(SyncJobItem jobItem, Video item, User user, Boolean enableConversion, Boolean forceConversion, SyncOptions syncOptions, ISyncProvider provider, IProgress`1 progress, CancellationToken cancellationToken)
	Source: Emby.Server.MediaEncoding
	TargetSite: Void MoveNext()
	InnerException: System.ApplicationException: Output stream (input stream id 100) not found.
	Source: Emby.Server.MediaEncoding
	TargetSite: Emby.Ffmpeg.Model.Output.OutputStreamSubtitle SetupSubtitleOutputCodec(Emby.Ffmpeg.Model.Input.InputStreamSubtitle, Emby.Ffmpeg.Model.FfmpegCommand, Emby.Server.MediaEncoding.Codecs.Common.Types.ConfiguredSubtitleEncoder)
	   at Emby.Server.MediaEncoding.Encoder.Pipelines.Subtitles.SubtitlePipelineBuilderDefault.SetupSubtitleOutputCodec(InputStreamSubtitle inputStream, FfmpegCommand command, ConfiguredSubtitleEncoder subtitleEncoder)
	   at Emby.Server.MediaEncoding.Encoder.Pipelines.Subtitles.SubtitlePipelineBuilderBase.SetupSubtitlePipeline(DemandsList demands, FfmpegCommand command, ConfiguredSubtitleDecoder subtitleDecoder, ConfiguredSubtitleEncoder subtitleEncoder)
	   at Emby.Server.MediaEncoding.Encoder.TranscodingCommandBuilder.SetupSubtitleStreams(EncodingJobInfo state, FfmpegCommand command)
	   at Emby.Server.MediaEncoding.Encoder.TranscodingCommandBuilder.GetProgressiveVideoFullCommandLine(EncodingJobInfo state, String outputPath)
	   at Emby.Server.MediaEncoding.Encoder.VideoEncoder.GetCommandLineArguments(EncodingJobInfo state, TranscodingCommandBuilder transcodingCommandBuilder)
	   at Emby.Server.MediaEncoding.Encoder.BaseEncoder.Start(EncodingJobOptions options, IProgress`1 progress, CancellationToken cancellationToken)
	

It appears that it cannot find the input stream. Shouldn't the command line include a pointer to the input stream?

Link to comment
Share on other sites

SteveFintel

I've noticed one other bit of odd behavior. These failed downloads leave temporary folders in the working folder. Only the top level folders are created. They are not deleted. When a successful download occurs, the folder and all subfolders are deleted.

Link to comment
Share on other sites

1 hour ago, SteveFintel said:

BTW, I was just looking through the log file:

	*** Error Report ***
	Version: 4.8.0.19
	Command line: /usr/local/lib/emby-server/system/EmbyServer.dll -os freebsd -ffdetect /usr/local/lib/emby-server/bin/ffdetect -ffmpeg /usr/local/lib/emby-server/bin/ffmpeg -ffprobe /usr/local/lib/emby-server/bin/ffprobe -programdata /var/db/emby-server -updatepackage emby-server-freebsd12_{version}_amd64.pkg
	Operating system: FreeBSD 13.1-RELEASE-p2 FreeBSD 13.1-RELEASE-p2 n245412-484f039b1d0 TRUENAS
	Framework: .NET 6.0.5
	OS/Process: x64/x64
	Runtime: usr/local/lib/emby-server/system/System.Private.CoreLib.dll
	Processor count: 8
	Data path: /var/db/emby-server
	Application path: /usr/local/lib/emby-server/system
	Emby.Server.MediaEncoding.Unified.Ffmpeg.FfRunException: Emby.Server.MediaEncoding.Unified.Ffmpeg.FfRunException: Output stream (input stream id 100) not found.
	
	
	
	
	 ---> System.ApplicationException: Output stream (input stream id 100) not found.
	   at Emby.Server.MediaEncoding.Encoder.Pipelines.Subtitles.SubtitlePipelineBuilderDefault.SetupSubtitleOutputCodec(InputStreamSubtitle inputStream, FfmpegCommand command, ConfiguredSubtitleEncoder subtitleEncoder)
	   at Emby.Server.MediaEncoding.Encoder.Pipelines.Subtitles.SubtitlePipelineBuilderBase.SetupSubtitlePipeline(DemandsList demands, FfmpegCommand command, ConfiguredSubtitleDecoder subtitleDecoder, ConfiguredSubtitleEncoder subtitleEncoder)
	   at Emby.Server.MediaEncoding.Encoder.TranscodingCommandBuilder.SetupSubtitleStreams(EncodingJobInfo state, FfmpegCommand command)
	   at Emby.Server.MediaEncoding.Encoder.TranscodingCommandBuilder.GetProgressiveVideoFullCommandLine(EncodingJobInfo state, String outputPath)
	   at Emby.Server.MediaEncoding.Encoder.VideoEncoder.GetCommandLineArguments(EncodingJobInfo state, TranscodingCommandBuilder transcodingCommandBuilder)
	   at Emby.Server.MediaEncoding.Encoder.BaseEncoder.Start(EncodingJobOptions options, IProgress`1 progress, CancellationToken cancellationToken)
	   --- End of inner exception stack trace ---
	   at Emby.Server.MediaEncoding.Encoder.BaseEncoder.Start(EncodingJobOptions options, IProgress`1 progress, CancellationToken cancellationToken)
	   at Emby.Server.MediaEncoding.Encoder.MediaEncoder.EncodeVideo(EncodingJobOptions options, IProgress`1 progress, CancellationToken cancellationToken)
	   at Emby.Server.Sync.SyncJobProcessor.SyncVideo(SyncJobItem jobItem, Video item, User user, Boolean enableConversion, Boolean forceConversion, SyncOptions syncOptions, ISyncProvider provider, IProgress`1 progress, CancellationToken cancellationToken)
	Source: Emby.Server.MediaEncoding
	TargetSite: Void MoveNext()
	InnerException: System.ApplicationException: Output stream (input stream id 100) not found.
	Source: Emby.Server.MediaEncoding
	TargetSite: Emby.Ffmpeg.Model.Output.OutputStreamSubtitle SetupSubtitleOutputCodec(Emby.Ffmpeg.Model.Input.InputStreamSubtitle, Emby.Ffmpeg.Model.FfmpegCommand, Emby.Server.MediaEncoding.Codecs.Common.Types.ConfiguredSubtitleEncoder)
	   at Emby.Server.MediaEncoding.Encoder.Pipelines.Subtitles.SubtitlePipelineBuilderDefault.SetupSubtitleOutputCodec(InputStreamSubtitle inputStream, FfmpegCommand command, ConfiguredSubtitleEncoder subtitleEncoder)
	   at Emby.Server.MediaEncoding.Encoder.Pipelines.Subtitles.SubtitlePipelineBuilderBase.SetupSubtitlePipeline(DemandsList demands, FfmpegCommand command, ConfiguredSubtitleDecoder subtitleDecoder, ConfiguredSubtitleEncoder subtitleEncoder)
	   at Emby.Server.MediaEncoding.Encoder.TranscodingCommandBuilder.SetupSubtitleStreams(EncodingJobInfo state, FfmpegCommand command)
	   at Emby.Server.MediaEncoding.Encoder.TranscodingCommandBuilder.GetProgressiveVideoFullCommandLine(EncodingJobInfo state, String outputPath)
	   at Emby.Server.MediaEncoding.Encoder.VideoEncoder.GetCommandLineArguments(EncodingJobInfo state, TranscodingCommandBuilder transcodingCommandBuilder)
	   at Emby.Server.MediaEncoding.Encoder.BaseEncoder.Start(EncodingJobOptions options, IProgress`1 progress, CancellationToken cancellationToken)
	

It appears that it cannot find the input stream. Shouldn't the command line include a pointer to the input stream?

I believe this error is only happening as a result of tinkering with the diagnostics plugin. 

Link to comment
Share on other sites

SteveFintel

I don't think I did. Do you have an 'unmolested' list of the settings that I can check against? There's no 'restore defaults' button anywhere.

Link to comment
Share on other sites

SteveFintel

I think I have a smoking gun: I tried downloading the same program at the same bit rate to a PC instead of the iPad. The transcode process completed as expected. When I target the iPad instead, it fails immediately. Are you still sure this is because I have incorrect settings in the diagnostics plugin? Remember, I can successfully download other programs (that are not in .ts containers) to the iPad.

Link to comment
Share on other sites

  • 1 month later...
On 11/30/2022 at 7:04 PM, SteveFintel said:

I don't think I did. Do you have an 'unmolested' list of the settings that I can check against? There's no 'restore defaults' button anywhere.

Don't worry about that. What @Luke forgot to mention is that the Diagnostic Options (on the settings page of that name) are being reset each time you restart Emby Server, so you can't do much wrong and you don't need to care about resetting manually or finding "the original values".

What's happening here is that the file you're trying to convert is having closed captions and probably it's the client device's profile which requests a conversion of those closed captions to a certain subtitle format. These things are still pending to be tested.

Edited by softworkz
Link to comment
Share on other sites

SteveFintel

Thanks for responding, @softworkz. Am I the only person who has raised this issue? I get failures from all of my iDevices. Is there some way to configure my client to not request the closed captions?

Link to comment
Share on other sites

18 minutes ago, SteveFintel said:

Am I the only person who has raised this issue?

It seems so, but I'm not sure as I'm not following everything. 

21 minutes ago, SteveFintel said:

Is there some way to configure my client to not request the closed captions?

This is a question for @Luke to answer..

 

One thing you can try (if you haven't yet) is to go to "Advanced Transcoding" >> "Subtitles" and there click the button to enable. Leave everything else as it is and retry the conversion. It might or might not make a change, I can't say - we never came to test this, but it would be interesting to know..

 

Please note: The enablement doesn't survive server restarts, so you'll be back to defaults easily.

Link to comment
Share on other sites

A sure-shot way to get it going - but without subtitles/cc would be to check this diagnostic option:

image.png.d6b4ff089e022ccb2f99b26d3f0b5e04.png

(also doesn't survive restarts)

Link to comment
Share on other sites

19 minutes ago, SteveFintel said:

@softworkz, I tried that and it still failed instantly. Thanks for trying though.

Hey, that's my text: "Thanks for trying though!" 🙂 

Link to comment
Share on other sites

  • 2 weeks later...
On 1/3/2023 at 9:51 PM, SteveFintel said:

@softworkz, I tried that and it still failed instantly. Thanks for trying though.

@SteveFintel can you please attach the emby server log from when you did that? Thanks.

Link to comment
Share on other sites

  • 2 months later...
jbirmingham40

It it is still happening for me.  I just downloaded the latest beta version for CentOS 4.8.0.21. Still seeing the error 

Quote

Emby.Server.MediaEncoding.Unified.Ffmpeg.FfRunException: Emby.Server.MediaEncoding.Unified.Ffmpeg.FfRunException: Output stream (input stream id 100) not found.

Easily reproducible on my machine.  Take any show with embedded EIA_608 subtitles and try downloading to an iPad. Fails almost immediately with this error. If I strip the subtitles from the show with ffmpeg the show will transcode and download fine.  I am tempted to make this a post-recording step but then I lose subtitles when I am watching on other devices which isn't a great tradeoff.

Interestingly it plays find on the iPad as long as I don't download it.  It will even play if I adjust the show quality forcing transcoding.  Only fails when I try and download it to the same iPad.

Sever logs are attached.

embyserver.txt

Edited by jbirmingham40
Link to comment
Share on other sites

On 3/17/2023 at 2:48 PM, jbirmingham40 said:

It it is still happening for me.  I just downloaded the latest beta version for CentOS 4.8.0.21. Still seeing the error 

Easily reproducible on my machine.  Take any show with embedded EIA_608 subtitles and try downloading to an iPad. Fails almost immediately with this error. If I strip the subtitles from the show with ffmpeg the show will transcode and download fine.  I am tempted to make this a post-recording step but then I lose subtitles when I am watching on other devices which isn't a great tradeoff.

Interestingly it plays find on the iPad as long as I don't download it.  It will even play if I adjust the show quality forcing transcoding.  Only fails when I try and download it to the same iPad.

Sever logs are attached.

embyserver.txt 92.19 kB · 0 downloads

@jbirmingham40 please try again with the next beta server build. Thanks.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...