ChrisHammond56 4 Posted October 12, 2020 Share Posted October 12, 2020 Question on trigger event. I have successfully configured the plugin to execute a BASH script for the onLiveTVRecordingStart event. This is working perfectly. I wish to complete my integration by adding more events to Scripter-X. The background here is that I am using an M3U IPTV source in Emby, and the BASH script changes to the desired channel. For Scheduled recording or by clicking Record in EMby, the BASH script is called. However, for Live TV playback (once a channel is selected), the onLiveTVRecrdfingStart event is not called (obviously). So, my question is, can events be added to Scripter-X for example onLiveTVStart onLiveTVChannelChange (or onLiveTVChannelUp/Down maybe?) This way, I can point my three events (Playback/Channel Change and Recording) to the BASH script assuming that %nnnnnnn.channel.numner% and %xxxxxx.tuner.url% can be included in the trigger parameters. If you can these events included, it would really make my day. Now if only Emby could sort out the multiple MU3 Tuner issue :) Link to comment Share on other sites More sharing options...
harrv 88 Posted October 15, 2020 Share Posted October 15, 2020 (edited) On 8/29/2020 at 12:40 PM, ltek said: Can this send POST commands and replace the built-in Webhooks (which is nearly useless)? Need more robust triggers for Emby like Tautulli has for Plex. Looking for solution to automating lighting and such for Home Theater / Home Automation. thx On 8/29/2020 at 1:50 PM, PenkethBoy said: indirectly - yes once an event is triggered - then your script can do a POST/GET etc via the emby api On 8/29/2020 at 2:38 PM, ltek said: Hoping @Anthony Musgrove can include a feature to directly send POST commands that include criteria his plugin already uses. Emby's API exposes POST too. Having separate scripts that need to read/parse and then send POST is a tedious. Emby's lack of easy integration for home theater and home automation may push me to Plex. I just discovered this extremely useful plugin! And coming here, I see that its creator, Anthony, hasn't been heard from for a while. I hope he's OK! Even though I know @ltek and @PenkethBoy had the conversation I quoted above about six weeks ago, I wanted to reply in case this info is still useful to either of them. More than three months before you discussed it here, seemingly unaware of this feature, Anthony did indeed give the Scripter-X plugin the ability to natively call a webhook, without needing to write any script. I've tried it and it works great. See this post for details: To use the feature, all you need to do is create a JSON file that will act as a template for the webhook payload. Within the template you use the same data field names (like %username%) that are shown in the plugin UI for that event. Then, in the UI, you click the plus (+) for the event you want to send a webhook for, and instead of pointing to a script you give it the URL of your webhook receiver and instead of "cmd" or "bash" you use "web:post" and then the parameter is the path to your JSON template file (which must be accessible from your Emby server). Simple, flexible, and works great. Edited October 15, 2020 by harrv 1 Link to comment Share on other sites More sharing options...
PenkethBoy 2063 Posted October 16, 2020 Share Posted October 16, 2020 cool - thanks - missed that amongst all the stuff Anthony did yes i hope he is ok and that he makes a return Link to comment Share on other sites More sharing options...
harrv 88 Posted October 16, 2020 Share Posted October 16, 2020 (edited) 22 hours ago, PenkethBoy said: cool - thanks - missed that amongst all the stuff Anthony did yes i hope he is ok and that he makes a return Yeah, scary times. Hoping for the best. If something sad has happened and we don't see Anthony here again, I worry his plugin could be dead in the water unless someone can find its source code somewhere (and finds it to be open source). Initially I thought that it would be possible for someone to fork the Scripter-X GitHub repo that Anthony created, and continue it from there. However, after examining it I see that repo doesn't actually have any of the plugin source code. It only has some example scripts and an example package that show some of the ways you can use Scripter-X. It also has a somewhat outdated binary .dll file that is the actual plugin, but no source code to build it (and the one in the Emby catalog is newer anyway). Although the plugin is definitely useful the way it is now, especially as a way to trigger web hooks for events that Emby doesn't expose via their web hook feature yet, during the course of using it for the first time yesterday for a few hours I found several bugs, so not having a maintainer for it could make it less-than-ideal to use. Thankfully all but one or two of the bugs I encountered yesterday were minor and could be worked around. The one that will be harder for me to work around (but not impossible) is that replacement values that have JSON special characters in them are inserted into the JSON payload as-is with no escaping, causing the JSON to be invalid and unparsable. Very few values in Emby would have characters like that though--the most common being the '\' character found in Windows or UNC paths. That character is also the JSON escape character. It needs to be doubled when a literal '\' is desired in a JSON string. Anyway, yeah, all that to say I'm hoping for the best for our friend (who I've never met, but think fondly of for even having come up with the idea of making this plugin!). Edited October 17, 2020 by harrv Link to comment Share on other sites More sharing options...
PenkethBoy 2063 Posted October 17, 2020 Share Posted October 17, 2020 Hi - yes at some point the plugin will stop working once the server code moves on far enough - which will be a shame. if you look in the closed issues on git - Anthony was asked to open the source up but he said no - as he was going to make the plugin a premium feature as for the escaping of special characters i have used it a lot (with paths etc) and do not get that issue - if you could give an example there might be something i do different that might get you past that etc Link to comment Share on other sites More sharing options...
sfatula 185 Posted October 17, 2020 Share Posted October 17, 2020 39 minutes ago, PenkethBoy said: Hi - yes at some point the plugin will stop working once the server code moves on far enough - which will be a shame. if you look in the closed issues on git - Anthony was asked to open the source up but he said no - as he was going to make the plugin a premium feature as for the escaping of special characters i have used it a lot (with paths etc) and do not get that issue - if you could give an example there might be something i do different that might get you past that etc Someone (perhaps me for example) should probably have asked him as a follow up to put the code into escrow then in case of abandonment for x time. He may not have done that either, but, it's a fair thing to ask for closed source with one developer. He didn't have to necessarily use an expensive agent. But hopefully he's ok and whatever issue(s) he is facing will subside. Link to comment Share on other sites More sharing options...
Luke 37112 Posted October 17, 2020 Share Posted October 17, 2020 In terms of something that would be easier for us to support, what if we had someone whip up a standalone app that can receive webhook notifications from the Emby webhooks feature, and then launch scripts of your choice depending on the notification? In other words, it would essentially act as a passthrough from webhook to command line. Then, as you need more new notifications, or more data attached to them, we simply add them to webhooks and everybody wins, both the webhooks crowd and the scripting crowd. 2 Link to comment Share on other sites More sharing options...
PenkethBoy 2063 Posted October 17, 2020 Share Posted October 17, 2020 You would also need to enhance significantly the existing webhooks currently in emby as i dont think they match the sophistication of what anthony did Link to comment Share on other sites More sharing options...
Luke 37112 Posted October 17, 2020 Share Posted October 17, 2020 12 minutes ago, PenkethBoy said: You would also need to enhance significantly the existing webhooks currently in emby as i dont think they match the sophistication of what anthony did Which is fine because the web hooks users have been asking for enhancements anyway. 2 Link to comment Share on other sites More sharing options...
PenkethBoy 2063 Posted October 17, 2020 Share Posted October 17, 2020 Good Link to comment Share on other sites More sharing options...
Anthony Musgrove 195 Posted October 24, 2020 Author Share Posted October 24, 2020 Hey guys, thank you so much for your concern Ive been working flat out and moving house and things have been crazy! I will be back into this very soon thpugh and I am so excited to be back 6 Link to comment Share on other sites More sharing options...
PenkethBoy 2063 Posted October 24, 2020 Share Posted October 24, 2020 5 minutes ago, Anthony Musgrove said: Hey guys, thank you so much for your concern Ive been working flat out and moving house and things have been crazy! I will be back into this very soon thpugh and I am so excited to be back Great and Great welcome back cobba Link to comment Share on other sites More sharing options...
MangoMC 50 Posted November 6, 2020 Share Posted November 6, 2020 Is it possible to script with that plugin something to stop playpack when ppl try to transcode HEVC? Link to comment Share on other sites More sharing options...
ginjaninja 537 Posted November 11, 2020 Share Posted November 11, 2020 (edited) On 06/11/2020 at 14:49, MangoMC said: Is it possible to script with that plugin something to stop playpack when ppl try to transcode HEVC? i guess you could script off the onplaybackstart event..you could use user and filename tokens to mostly target a specific session in api, but if you want to stop all hevc transcoding thats perhaps not an issue. then you need endpoints in the api that would provide the info/control /sessions, seems to show the original codec , wether its being transcoded (playmethod) and wether remote control commands are supported. /Sessions/{Id}/Command....may be end point that you can use to send 'stop' to. of course this wont stop it before it begins but stop it soon after (if it could be made to work)... [ { "PlayState": { "PositionTicks": 41188580, "CanSeek": true, "IsPaused": false, "IsMuted": false, "VolumeLevel": 100, "AudioStreamIndex": 1, "MediaSourceId": "ebeb612b66c7d14a33c491d655b8adca", "PlayMethod": "DirectStream", "RepeatMode": "RepeatNone", "SubtitleOffset": 0, "PlaybackRate": 1 }, "AdditionalUsers": [], "RemoteEndPoint": "192.168.4.31", "PlayableMediaTypes": [ "Audio", "Video" ], "PlaylistIndex": 0, "PlaylistLength": 1, "Id": "3bfe9d16c8e2892705fca0bf10db94a2", "ServerId": "fccaa6f897f140dbb689938224ae1938", "UserId": "6cc6d0fa039849af8147592f5da46188", "UserName": "Nicholas Bird", "Client": "Emby Web", "LastActivityDate": "2020-11-11T10:08:23.8933781Z", "DeviceName": "Chrome", "NowPlayingItem": { "Name": "Jayde Adams, Josie d’Arby, Rufus Hound and Scott Mills (2/5)", "ServerId": "fccaa6f897f140dbb689938224ae1938", "Id": "511563", "DateCreated": "2020-10-30T21:28:20.0000000+00:00", "PresentationUniqueKey": "a71871c0188748e410881f6fbd8d86b9-004 - 0012", "Container": "mkv", "PremiereDate": "2020-10-27T00:00:00.0000000+00:00", "ExternalUrls": [ { "Name": "TheTVDB", "Url": "https://thetvdb.com/?tab=episode&id=7996093" } ], "Path": "L:\\TVDoNotKeep\\Richard Osman's House of Games\\Season 04\\Richard Osman's House of Games - S04E12 - Jayde Adams, Josie d’Arby, Rufus Hound and Scott Mills (2+5).mkv", "Overview": "Jayde Adams, Josie d’Arby, Rufus Hound and Scott Mills test their general knowledge skills on today's House of Games.", "Taglines": [], "Genres": [ "Games & Quizzes" ], "RunTimeTicks": 17312600000, "ProductionYear": 2020, "IndexNumber": 12, "ParentIndexNumber": 4, "ProviderIds": { "Tvdb": "7996093" }, "IsFolder": false, "ParentId": "510913", "Type": "Episode", "Studios": [], "GenreItems": [ { "Name": "Games & Quizzes", "Id": 211757 } ], "ParentBackdropItemId": "389180", "ParentBackdropImageTags": [ "55f91cf32e06cf1aba16027954c71f21" ], "SeriesName": "Richard Osman's House of Games", "SeriesId": "389180", "SeasonId": "510913", "PrimaryImageAspectRatio": 1.7777777777777777, "SeriesPrimaryImageTag": "ee2f6bbe69fcb23b9804200e2d7b9c07", "SeasonName": "Season 4", "MediaStreams": [ { "Codec": "h264", "ColorTransfer": "bt709", "ColorPrimaries": "bt709", "ColorSpace": "bt709", "TimeBase": "1/1000", "CodecTimeBase": "1/50", "VideoRange": "SDR", "DisplayTitle": "720p H264", "NalLengthSize": "4", "IsInterlaced": false, "IsAVC": true, "BitRate": 1430221, "BitDepth": 8, "RefFrames": 1, "IsDefault": true, "IsForced": false, "Height": 720, "Width": 1280, "AverageFrameRate": 25, "RealFrameRate": 25, "Profile": "Main", "Type": "Video", "AspectRatio": "16:9", "Index": 0, "IsExternal": false, "IsTextSubtitleStream": false, "SupportsExternalStream": false, "Protocol": "File", "PixelFormat": "yuv420p", "Level": 40, "IsAnamorphic": false }, { "Codec": "aac", "Language": "eng", "TimeBase": "1/1000", "CodecTimeBase": "1/48000", "Title": "Stereo", "DisplayTitle": "English AAC stereo (Default)", "DisplayLanguage": "English", "IsInterlaced": false, "ChannelLayout": "stereo", "BitRate": 192000, "Channels": 2, "SampleRate": 48000, "IsDefault": true, "IsForced": false, "Profile": "LC", "Type": "Audio", "Index": 1, "IsExternal": false, "IsTextSubtitleStream": false, "SupportsExternalStream": false, "Protocol": "File" } ], "ImageTags": { "Primary": "e497681cbc0c0bd689e535493195fbee" }, "BackdropImageTags": [], "Chapters": [ { "StartPositionTicks": 0, "Name": "Chapter 1" }, { "StartPositionTicks": 3000000000, "Name": "Chapter 2" }, { "StartPositionTicks": 6000000000, "Name": "Chapter 3" }, { "StartPositionTicks": 9000000000, "Name": "Chapter 4" }, { "StartPositionTicks": 12000000000, "Name": "Chapter 5" }, { "StartPositionTicks": 15000000000, "Name": "Chapter 6" } ], "MediaType": "Video", "Width": 1280, "Height": 720 }, "DeviceId": "958e4948-00fd-4c33-999d-e994eb35d23f", "ApplicationVersion": "4.6.0.5", "AppIconUrl": "https://github.com/MediaBrowser/Emby.Resources/raw/master/images/devices/chrome.png", "SupportedCommands": [ "MoveUp", "MoveDown", "MoveLeft", "MoveRight", "PageUp", "PageDown", "PreviousLetter", "NextLetter", "ToggleOsd", "ToggleContextMenu", "Select", "Back", "SendKey", "SendString", "GoHome", "GoToSettings", "VolumeUp", "VolumeDown", "Mute", "Unmute", "ToggleMute", "SetVolume", "SetAudioStreamIndex", "SetSubtitleStreamIndex", "RefreshMediaSource", "DisplayContent", "GoToSearch", "DisplayMessage", "SetRepeatMode", "SetSubtitleOffset", "SetPlaybackRate", "ChannelUp", "ChannelDown", "PlayMediaSource", "PlayTrailers" ], "SupportsRemoteControl": true }, { "PlayState": { "CanSeek": false, "IsPaused": false, "IsMuted": false, "RepeatMode": "RepeatNone", "SubtitleOffset": 0, "PlaybackRate": 1 }, "AdditionalUsers": [], "RemoteEndPoint": "192.168.4.162", "PlayableMediaTypes": [], "PlaylistIndex": 0, "PlaylistLength": 0, "Id": "7c9149dacce9009bf6202d1d2ddbfbea", "ServerId": "fccaa6f897f140dbb689938224ae1938", "Client": "nickapp", "LastActivityDate": "2020-11-11T10:08:19.8753227Z", "DeviceName": "Chrome", "DeviceId": "fccaa6f897f140dbb689938224ae1938", "ApplicationVersion": "4.5.0.11", "SupportedCommands": [], "SupportsRemoteControl": false }, { "PlayState": { "CanSeek": false, "IsPaused": false, "IsMuted": false, "RepeatMode": "RepeatNone", "SubtitleOffset": 0, "PlaybackRate": 1 }, "AdditionalUsers": [], "RemoteEndPoint": "192.168.4.13", "PlayableMediaTypes": [ "Audio", "Video" ], "PlaylistIndex": 0, "PlaylistLength": 0, "Id": "dc2be329055d18ff5705d1aa28caf2c4", "ServerId": "fccaa6f897f140dbb689938224ae1938", "UserId": "6cc6d0fa039849af8147592f5da46188", "UserName": "Nicholas Bird", "Client": "Emby for Android Mobile", "LastActivityDate": "2020-11-11T10:03:09.6069702Z", "DeviceName": "Galaxy S8+", "DeviceId": "6fea097c6c11e5fc", "ApplicationVersion": "3.1.44", "AppIconUrl": "https://github.com/MediaBrowser/Emby.Resources/raw/master/images/devices/android.png", "SupportedCommands": [ "MoveUp", "MoveDown", "MoveLeft", "MoveRight", "PageUp", "PageDown", "PreviousLetter", "NextLetter", "ToggleOsd", "ToggleContextMenu", "Select", "Back", "SendKey", "SendString", "GoHome", "GoToSettings", "VolumeUp", "VolumeDown", "Mute", "Unmute", "ToggleMute", "SetVolume", "SetAudioStreamIndex", "SetSubtitleStreamIndex", "RefreshMediaSource", "DisplayContent", "GoToSearch", "DisplayMessage", "SetRepeatMode", "SetSubtitleOffset", "SetPlaybackRate", "ChannelUp", "ChannelDown", "PlayMediaSource", "PlayTrailers" ], "SupportsRemoteControl": true }, { "PlayState": { "CanSeek": false, "IsPaused": false, "IsMuted": false, "RepeatMode": "RepeatNone", "SubtitleOffset": 0, "PlaybackRate": 1 }, "AdditionalUsers": [], "RemoteEndPoint": "::1", "PlayableMediaTypes": [ "Audio", "Video" ], "PlaylistIndex": 0, "PlaylistLength": 0, "Id": "fc979cd242cea208056ee85f7801fed6", "ServerId": "fccaa6f897f140dbb689938224ae1938", "UserId": "6cc6d0fa039849af8147592f5da46188", "UserName": "Nicholas Bird", "Client": "Emby Web", "LastActivityDate": "2020-11-11T08:34:07.7617514Z", "DeviceName": "Chrome", "DeviceId": "TW96aWxsYS81LjAgKFdpbmRvd3MgTlQgMTAuMDsgV2luNjQ7IHg2NCkgQXBwbGVXZWJLaXQvNTM3LjM2IChLSFRNTCwgbGlrZSBHZWNrbykgQ2hyb21lLzcyLjAuMzYyNi4xMjEgU2FmYXJpLzUzNy4zNnwxNTUyNzM5MTY1MzY5", "ApplicationVersion": "4.6.0.5", "AppIconUrl": "https://github.com/MediaBrowser/Emby.Resources/raw/master/images/devices/chrome.png", "SupportedCommands": [ "MoveUp", "MoveDown", "MoveLeft", "MoveRight", "PageUp", "PageDown", "PreviousLetter", "NextLetter", "ToggleOsd", "ToggleContextMenu", "Select", "Back", "SendKey", "SendString", "GoHome", "GoToSettings", "VolumeUp", "VolumeDown", "Mute", "Unmute", "ToggleMute", "SetVolume", "SetAudioStreamIndex", "SetSubtitleStreamIndex", "RefreshMediaSource", "DisplayContent", "GoToSearch", "DisplayMessage", "SetRepeatMode", "SetSubtitleOffset", "SetPlaybackRate", "ChannelUp", "ChannelDown", "PlayMediaSource", "PlayTrailers" ], "SupportsRemoteControl": false }, { "PlayState": { "CanSeek": false, "IsPaused": false, "IsMuted": false, "RepeatMode": "RepeatNone", "SubtitleOffset": 0, "PlaybackRate": 1 }, "AdditionalUsers": [], "RemoteEndPoint": "::1", "PlayableMediaTypes": [ "Audio", "Video" ], "PlaylistIndex": 0, "PlaylistLength": 0, "Id": "6ff56edc17d3530167d5b39c95835bfa", "ServerId": "fccaa6f897f140dbb689938224ae1938", "UserId": "6cc6d0fa039849af8147592f5da46188", "UserName": "Nicholas Bird", "Client": "Emby Mobile", "LastActivityDate": "2020-11-11T01:54:50.6281979Z", "DeviceName": "Chrome", "DeviceId": "TW96aWxsYS81LjAgKFdpbmRvd3MgTlQgMTAuMDsgV2luNjQ7IHg2NCkgQXBwbGVXZWJLaXQvNTM3LjM2IChLSFRNTCwgbGlrZSBHZWNrbykgQ2hyb21lLzcyLjAuMzYyNi4xMjEgU2FmYXJpLzUzNy4zNnwxNTUyNzM5MTY1MzY5", "ApplicationVersion": "4.6.0.5", "AppIconUrl": "https://github.com/MediaBrowser/Emby.Resources/raw/master/images/devices/chrome.png", "SupportedCommands": [ "MoveUp", "MoveDown", "MoveLeft", "MoveRight", "PageUp", "PageDown", "PreviousLetter", "NextLetter", "ToggleOsd", "ToggleContextMenu", "Select", "Back", "SendKey", "SendString", "GoHome", "GoToSettings", "VolumeUp", "VolumeDown", "Mute", "Unmute", "ToggleMute", "SetVolume", "SetAudioStreamIndex", "SetSubtitleStreamIndex", "RefreshMediaSource", "DisplayContent", "GoToSearch", "DisplayMessage", "SetRepeatMode", "SetSubtitleOffset", "SetPlaybackRate", "ChannelUp", "ChannelDown", "PlayMediaSource", "PlayTrailers" ], "SupportsRemoteControl": true } ] Edited November 11, 2020 by ginjaninja Link to comment Share on other sites More sharing options...
ginjaninja 537 Posted November 15, 2020 Share Posted November 15, 2020 can anyone think of a way to fire an event when the nextup view changes...or is that a feature request? Link to comment Share on other sites More sharing options...
PenkethBoy 2063 Posted November 15, 2020 Share Posted November 15, 2020 (edited) not sure there is an event for that but the nextup row changes when you finish watching an episode of a series in the row i.e. its fully played so i would do that and review the emby log to see what the app is calling to get the row - to give you a better idea not sure what the actual criteria is for being in next up row as never looked but can guess Edited November 15, 2020 by PenkethBoy 1 Link to comment Share on other sites More sharing options...
mbevacqua_1999 0 Posted December 3, 2020 Share Posted December 3, 2020 I am looking for an option to do live-tv recording post processing with Node-Js on a Synology NAS. The events supported by this plugin seem to return a ton of meta data, but I'm not seeing much information on the actual content format. This link.. https://emby-scripterx.info/ is giving me SSL errors, so I've only been able to browse the Git-Hub, so I may not have all the info. I need to find out if a newly added video is interlaced, is that information available, or will I need external means of reading the file content? Thanks Link to comment Share on other sites More sharing options...
Carlo 4330 Posted December 3, 2020 Share Posted December 3, 2020 Don't forget you can kick off post processing scripts directly without this plugin as well. Link to comment Share on other sites More sharing options...
PenkethBoy 2063 Posted December 3, 2020 Share Posted December 3, 2020 Ok you are missing a step - this plugin is mainly focussed on giving you an event to monitor you then use that to run your script that does the necessary work what i do is get the event then run with the info and process the file - either before its finished recording or after - depending what we are trying to accomplish Emby PP is very limited as it only provides you the path to the recorded file after its finished recording Link to comment Share on other sites More sharing options...
mbevacqua_1999 0 Posted December 3, 2020 Share Posted December 3, 2020 Thanks.... I think I'm going in the right direction here. I've got a very slow Synology NAS running an ARM8 (~3hrs to transcode an 1hr of 1080p) that I can't/don't know how to access ffmpeg on. When a video is done recording, I want to check if it is interlaced, and, if it is, copy it to a temp folder that is setup for Emby to auto convert on new media add. When it is done converting, I'm presuming that Emby will generate another "new media added" event, at which time I will copy it back to the original folder and delete it from the temp folder. This is all so I can selectively do the transcode based on interlacing. I don't see a way to be selective in the current Emby folder settings. I had 3 hrs of video to autoconvert last night, it started at midnight and took 10hrs. 2hrs of that was already 1080p and did not need to be converted. Enjoy Link to comment Share on other sites More sharing options...
PenkethBoy 2063 Posted December 3, 2020 Share Posted December 3, 2020 you dont need to know if it is interlaced or not ffmpeg will de-interlace if necessary put "-vf yadif" in the ffmpeg command line and it will work it out itself or use ffprobe to see if the file is interlaced first and i would use something else beside the NAS to do you ffmpeg work if you have a gpu use that - e.g. an hour recording of 1080p on my 980ti to h265 takes 6-10 mins depending on the original file spec Link to comment Share on other sites More sharing options...
mbevacqua_1999 0 Posted December 3, 2020 Share Posted December 3, 2020 PenkethBoy That is plan "B". My goal here, since I don't know anything about accessing ffmpeg on the NAS (maybe I need more research on that), is to have Emby do all the transcoding work. I am just moving files around and letting Emby's autoconvert pick up the file change and do the transcoding. I don't need any special knowledge to copy/paste. Having said that, if ffmpeg has a simple command line interface, and presumably Emby server installed ffmpeg on the NAS, maybe that method is as easy as finding where ffmpeg is located and feeding it the file to convert. Enjoy Link to comment Share on other sites More sharing options...
PenkethBoy 2063 Posted December 3, 2020 Share Posted December 3, 2020 personally - i would avoid emby convert you have little to no control read up on ffmpeg/ffprobe and see that you have huge power/control on what happens look in the transcode/convert logs and you will see how to connect to ffmpeg on your nas but we are getting way off topic for this thread - open a new thread and you will get more help there Link to comment Share on other sites More sharing options...
Luke 37112 Posted December 3, 2020 Share Posted December 3, 2020 On 10/17/2020 at 1:34 AM, Luke said: In terms of something that would be easier for us to support, what if we had someone whip up a standalone app that can receive webhook notifications from the Emby webhooks feature, and then launch scripts of your choice depending on the notification? In other words, it would essentially act as a passthrough from webhook to command line. Then, as you need more new notifications, or more data attached to them, we simply add them to webhooks and everybody wins, both the webhooks crowd and the scripting crowd. I still like this idea, just saying. Changing to this would temporarily set this plugin backwards in terms of supported features, but in the long run it would reduce the dev effort and make two features more robust together at the same time. 1 Link to comment Share on other sites More sharing options...
CJTripper 9 Posted April 3, 2021 Share Posted April 3, 2021 On 10/12/2020 at 7:58 AM, ChrisHammond56 said: Question on trigger event. I have successfully configured the plugin to execute a BASH script for the onLiveTVRecordingStart event. This is working perfectly. I wish to complete my integration by adding more events to Scripter-X. The background here is that I am using an M3U IPTV source in Emby, and the BASH script changes to the desired channel. For Scheduled recording or by clicking Record in EMby, the BASH script is called. However, for Live TV playback (once a channel is selected), the onLiveTVRecrdfingStart event is not called (obviously). So, my question is, can events be added to Scripter-X for example onLiveTVStart onLiveTVChannelChange (or onLiveTVChannelUp/Down maybe?) This way, I can point my three events (Playback/Channel Change and Recording) to the BASH script assuming that %nnnnnnn.channel.numner% and %xxxxxx.tuner.url% can be included in the trigger parameters. If you can these events included, it would really make my day. Now if only Emby could sort out the multiple MU3 Tuner issue Hi Chris, I was able to accomplish channel change for playback using the onPlaybackStart (filter for LiveTvChannel) to pass the Channel Call Sign (%item.name%) to a PHP script and then search/parse/get the channel number from my .m3u tuner playlist file to use for my channel change. I don't have any hardware capable of testing the Channel Up/Down, but as long as it also triggers "onPlaybackStart" in Scripter-X, it should work for that too. Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now