...and the final post process command for Windows was:
--pid=12345678 --command-radio "ffmpeg -i \""<filename>"\" -c:a
copy \""<dir>\<fileprefix>.m4a"\" && del \""<filename>"\""
or when set in options file it became:
commandradio ffmpeg -i "<filename>" -c:a copy
"<dir>\<fileprefix>.m4a" && del "<filename>"
which just allows me to type
get_iplayer --pid=12345678
whether it's a video or an audio.
thanks again.
On 29/03/2023 11:05, fred.d wrote:
Well, that was an interesting diversion.
Having seen your post processing commands, I thought I'd see if I
could put these in the options file as my aim is just to type "gip
pid" followed by series or individual PID lists and let gip produce
the outputs that I want.
Indeed you can have commands in the options file.
Next I thought - this is daft, if I'm preserving .ts just for video, I
could try to switch it the other way and post process the video and
allow the radio to come down on MP3 or M4A. should be even simpler and
less conversion. So I scrapped the force TS option as a first step and
sure enough audio came down as M4A.
...except it didn't! I happened to have the target directory open when
I tried another sounds file and noticed that it downloads the radio
stuff as a .ts then converts.
Now given that video comes down as M4A and M4V, then gets converted to
.TS before it gets converted to .MP4 I've gone back to the original
logic and restored force .TS as that actually gives me minimal
conversion on video. I assume TS to MP4 is lossless and it's a
container swap but it takes time and as previously stated I prefer to
edit .ts anyway.
...and I'll post process the audio manually using a command in the
options file as I don't really want that as .ts for audio.
Anyway, thanks for your assistance.
On 28/03/2023 16:35, MacFH - C E Macfarlane - News wrote:
On 28/03/2023 15:43, MacFH - C E Macfarlane - News wrote:
Tch! Both Fred and then myself forgot to reply to all ...
-------- Forwarded Message --------
Subject: Re: output format
Date: Tue, 28 Mar 2023 01:13:58 +0100
From: MacFH - C E Macfarlane - News <n...@macfh.co.uk>
To: fred.d <fre...@timelords.org.uk>
On 27/03/2023 18:54, fred.d wrote:
On 27/03/2023 18:22, MacFH - C E Macfarlane - News wrote:
On 27/03/2023 17:56, fred.d wrote:
Recently started using gip to download sounds and audio files.
Unfortunately I've got my prefs set to force output to mpeg .TS.
Result is my downloaded audio is being converted to .ts files
unless I override the command line with --raw when downloading
audio :-(
What command-line option are you using to set this?
options config file: mpegts 1
Equivalent to ...
--mpeg-ts Ensure raw audio and video files are re-muxed into
MPEG-TS file regardless of stream format. Overrides --raw.
Does anyone know a way to configure gip Video output format
separately from Audio output format? I've had a quick look at all
the options I have docs on but I can't see anything obvious.
Difficult to say without knowing how you set the preference in the
first place.
I think you have two options. The following examples use "Bells On
Sunday" (radio) and weather forecasts (TV) as being conveniently
short programmes with correspondingly small download sizes to test
with. Also, make sure you read the notes below before trying
anything out:
1. Leave the option --mpeg-ts as is, but add an additional
post-download option for audio files using --command-radio to
convert the download to m4a (or any other audio format of your
choice). The downside of this is that it may sometimes mean
converting audio files twice, depending on the format of the
original download.
Example:
--command-radio "ffmpeg -i '<filename>' -c:a copy '<fileprefix>.m4a'
&& del '<filename>" --type radio --pid m001jkbm --raw -g
Not sure how this happened when cutting & pasting but every example
is missing a closing single quote just before the closing double
quote, as follows:
del '<filename>'" [<-here]
So the above should have read:
--command-radio "ffmpeg -i '<filename>' -c:a copy '<fileprefix>.m4a'
&& del '<filename>'" --type radio --pid m001jkbm --raw -g
2. Remove that option altogether and use the --raw option instead,
and give different --command-radio and --command-tv options to get
the two different types into the respective end formats required.
This should ensure that each type only gets converted once.
Examples:
--command-radio "ffmpeg -i '<filename>' -c:a copy '<fileprefix>.m4a'
&& del '<filename>" --type radio --pid m001jkbm --raw -g
--command-tv "ffmpeg -i '<filename>' -c:a copy -c:v copy
'<fileprefix>.mp4' & del '<filename>" --type tv --tv-quality sd
--pid m001kjpf --raw -g
As above, should have read:
--command-radio "ffmpeg -i '<filename>' -c:a copy '<fileprefix>.m4a'
&& del '<filename>'" --type radio --pid m001jkbm --raw -g
--command-tv "ffmpeg -i '<filename>' -c:a copy -c:v copy
'<fileprefix>.mp4' & del '<filename>'" --type tv --tv-quality sd
--pid m001kjpf --raw -g
Sorry about that.
IMPORTANT! Notes:
Firstly, note that unless you want to keep the originally downloaded
file as well as the converted file, you have to include a command to
delete it, the double ampersand means that the del command only
happens if the ffmpeg command didn't produce an error code when
making the conversion. The command is for a Windows set up, you'd
use rm instead of DEL on a Linux system.
Secondly, the above FFMPEG commands are greatly simplified from the
original commands that GiP would have fed to FFMPEG without the
--mpeg-ts or --raw options being specified, which may be why the
video one above corresponding to 2 below gave an avalanche of
'Invalid DTS' messages that don't occur when you let GiP do the
job. As the weather video played back alright, I didn't bother to
investigate that further.
1) ffmpeg -loglevel fatal -stats -y -i "<path>\Bells On Sunday -
Cathedral Church Of St Mary The Virgin With St Paul In Blackburn
Lancashire.hls.ts" "-c:v" copy "-c:a" copy "-bsf:a" aac_adtstoasc
-movflags faststart "<path>\Bells On Sunday - Cathedral Church Of St
Mary The Virgin With St Paul In Blackburn Lancashire.partial.m4a"
2) ffmpeg -loglevel fatal -stats -y -i "<path>\Weather For The Week
Ahead - 2023-03-27.hls.ts" "-c:v" copy "-c:a" copy "-bsf:a"
aac_adtstoasc -movflags faststart "<path>\Weather For The Week Ahead
- 2023-03-27.partial.mp4"
Thirdly, the available substitution parameters to use in the
filenames are here, but not all will have values in all
circumstances, for example <rawaudio> was empty when I tried it
https://github.com/get-iplayer/get_iplayer/wiki/subparams
Lastly, I know that once upon another life in some obscure case I
tried to use a post-download command before, but struggled with it
for hours, and now can't remember whether actually I ever even got
it to work! A significant part of the problem was that, as above,
you need to put some parameters in quotes, for example filenames
with spaces, but they tend to get stripped off by GetIPlayer when it
feeds the quoted parameters to the external command. I remember a
lot of faffing around with single quotes inside double, and vice
versa, trying to get it to work, but above examples do work on my
system!
_______________________________________________
get_iplayer mailing list
get_iplayer@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/get_iplayer
_______________________________________________
get_iplayer mailing list
get_iplayer@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/get_iplayer
_______________________________________________
get_iplayer mailing list
get_iplayer@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/get_iplayer
_______________________________________________
get_iplayer mailing list
get_iplayer@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/get_iplayer