I am trying to download a playlist of videos, all of them with auto-generated subtitles but when I insert the flag --write-sub/--write-auto-sub it says that de videos do not have subtitles. I usually use the same code to download videos with subtitles, which is simple and usually does the job. However with the auto-generated subtitles does not work:
youtube-dl -f best --yes-playlist --output '%(title)s.%(ext)s' --write-auto-sub
https://www.youtube.com/watch?v=S7MNX_UD7vY&list=PLIhvC56v63IJVXv0GJcl9vO5Z6znCVb1P
I also tried to add --sub-lang en with no results.
Thank you,
This is a known issue with youtube-dl for a month or so.
As of now (Dec 26, 2020), a fix is already merged to master https://github.com/ytdl-org/youtube-dl/pull/27388 and most probably will be available in the next version ( > 2020.12.22)
Related
I am extracting audio only from youtube videos using youtube-dl. I would like to write the metadata (i.e. Artist Name and Song Title, Year, Album, Duration, Genre) into the mp3/m4a file after downloading. My attempt to accomplish this starts with this code:
#echo off
youtube-dl --format m4a/mp3 --youtube-skip-dash-manifest --embed-thumbnail -o "%%(title)s.%%(ext)s" --metadata-from-title "%%(artist)s - %%(title)s" --add-metadata 2Y6Nne8RvaA
pause
This code produces the following output:
[youtube] 2Y6Nne8RvaA: Downloading webpage
[youtube] 2Y6Nne8RvaA: Extracting video information
[youtube] 2Y6Nne8RvaA: Downloading thumbnail ...
[youtube] 2Y6Nne8RvaA: Writing thumbnail to: Kungs vs Cookin' on 3 Burners - Thi
s Girl.jpg
[download] Destination: Kungs vs Cookin' on 3 Burners - This Girl.m4a
[download] 100% of 2.99MiB in 00:01
[ffmpeg] Correcting container in "Kungs vs Cookin' on 3 Burners - This Girl.m4a"
[fromtitle] parsed title: This Girl
[fromtitle] parsed artist: Kungs vs Cookin' on 3 Burners
[ffmpeg] Adding metadata to 'Kungs vs Cookin' on 3 Burners - This Girl.m4a'
ERROR: AtomicParsley was not found. Please install.
Press any key to continue . . .
As you can see, I am able to successfully able to add a few of the tags from the video, but not all of them and the Year is royally screwed up.
What is this AtomicParsely error and how do I remedy it? Do I need this program to correctly add all the Metadata to the file that I want, or can this be accomplished in another way?
Referencing Steven Penny's post, FFmpeg metadata not showing in Windows?, is solving this problem as simple as using an ffmpeg command?
When I do a google search for this song, the first link that shows is the exact link I'm using on YouTube, and the search shows pertinent metadata (see below). I'm not sure if this data is input manually by users, or if Google mined this from the video:
I admit that I'm new to using youtube-dl and ffmpeg, but with the help of the commenters on StackOverflow, I'm learning more each day. This post is a follow-up to my previous question: Downloading YouTube to mp3 and writing metadata (artist/song title) to mp3 file using youtube-dl
You are trying to use YouTube-DL, and in turn AtomicParsley to set the tags of
this file.
To use --embed-thumbnail, YouTube-DL must call an external program, as doing
that is beyond the scope of the YouTube-DL project. In this case they are
calling AtomicParsley.
Proper embedding thumbnails into M4A/MP4 is not easy, even in 2016. Several
tools can do this, but they each have their problems:
TagEditor is probably best suited to this task. It can do in place
editing assuming the file has enough padding. It does have an issue with
non ASCII content however.
MP4Box, Bento4 and AtomicParsley can all do this as well, but none of
them do in place editing. This can be a problem with larger files. In addition
AtomicParsley is starting to show its age.
Picard is also quite useful if you do not mind a GUI.
FFmpeg is a huge project and can’t do this at all.
Regarding the year: in this case YouTube-DL cannot help you, because that
information is not in the page:
$ de=$(mktemp)
$ wget -O "$de" https://www.youtube.com/watch?v=2Y6Nne8RvaA
$ grep '2009[^[:digit:]]' "$de" | wc
0 0 0
It is up to the uploader what they put in the description, and in what format.
How to transfer metadata using FFMPEG or other tools with CMD ?
I'm trying to encode video/audio and since they already have metadata inside obviously i want to preserve them into my new file
btw since i'm using mediamonkey as main player, there's also some Custom metadata. this is the one who wont transfer
for Video output file using mp4/mkv (using x264)
for Audio output file using m4a (using neroAac)
Thank You!
ps. which container is best for neroAac and x264? since i can't seem to edit mkv metadata (when i remove from mediamonkey playlist, they're all gone), mp4 is fine though and i can't seem to play AAC, although it's fine when muxed into video
Copy all custom and global metadata tag information using the following command:
ffmpeg <inputfile> -movflags use_metadata_tags -c copy <outputfile>
I converted some .mp4 files to .webm with Miro. They play in Chrome and Opera but they do not play in Firefox 16. Firefox has supported .webm since FF 4. I tested video.canPlayType() and it returns "probably". I know that the MIME types are correct in .htaccess. I downloaded the a test .webm file from html5rocks and uploaded it to the same server and it played fine in FF, which makes me think it must be the encoding. I tried converting the videos multiple times and still no dice. Can anyone think of what would cause the them to not work in FF? Is there a more reliable way to convert videos to .webm?
Chrome_ImF.webm <== works in FF
amber-miro.webm <== does not work in FF
costa-miro.webm <== does not work in FF
There seems to be no problem with the encoding, however there are some errors with the file format on the webm files you created with Miro. I suggest using ffmpeg.
I've tested amber.webm which you provided as a sample. I used ffmpeg to re-format it into webm, without encoding, using the commandline:
ffmpeg -i amber.webm -acodec copy -vcodec copy amber1.webm
And the resulting file seems to play well in Firefox.
To directly convert .mov to .webm via ffmpeg you can use:
ffmpeg -i amber.mov -qscale 0 amber.webm
-qscale 0 is meant to retain the highest quality. See the ffmpeg docs.
The issue is in the version of ffmpeg included with MVC 3.0 on windows. It appears that it's skipping frames at the beginning of the webm conversion.
To workaround this issue for now, you can download an updated version of ffmpeg for windows from here: http://ffmpeg.zeranoe.com/builds/.
Extract the files and copy the updated ffmpeg.exe file here:
C://Program Files/Participatory Culture Foundation/Miro Video Converter/ffmpeg/ replacing the outdated ffmpeg.exe file.
After that your webm conversions with Miro Video Converter should work fine on Firefox.
I have an ISO file that I would like to encode it out to mp4 in parts so it's easier to upload to youtube. I am not sure how it handles with chapters etc in this iso file. I have tried
ffmpeg -i file.iso newfile.mp4
which works great however it's one large file.
I have google and read some where that says if you put a % within the output file, it should automatically give you parts of the video based on the -t you set, so I went ahead and did this
ffmpeg -i file.iso -t 30 newfile%.mp4
however, the above does not work as it only give me 30 seconds with the file name: newfile%.mp4
Thanks for your time and hoping I can get some help with this. Thank you in advance!
You can use -t and -ss in conjunction to do this with a script.
Here is one: http://grapsus.net/blog/post/A-script-for-splitting-videos-using-ffmpeg
ffmpeg.exe -i "imageLarge.jpg" -y -f mjpeg -s 72x92 -vframes 1 -an thumbnail7292.jpg
We are using this command to generate thumbnails of image files using FFmpeg but found that it is not able to generate thumbnails of files larger than .6 MB can somebody suggest something on this.
It isn't clear what exactly the problem with ffmpeg is, but in any case I'd recommend using the convert utility from imagemagick. It's much simpler:
convert imageLarge.jpg -resize 72x92 thumbnail7292.jpg
If you give a description of the actual error, then more people will be able to help you.
EDIT
The OP's error is:
swScaler: Compile time max width is 2048
change VOF/VOFW and recompile
Cannot get resampling context
It's quite clear what the problem is. Your JPEG files are too big for your current build of ffmpeg. You will have to recompile ffmpeg or get a newer version if you want to work with larger images.
This is from src/libswscale/swscale_internal.h (version: FFmpeg SVN-r26402).
#if ARCH_X86
#define VOFW 5120
#else
#define VOFW 2048 // faster on PPC and not tested on others
#endif
That's the file you need to edit if you want to change the limits.
What version of ffmpeg are you using? This problem seems to have been addressed over a year ago.
If you don't want to rebuild ffmpeg, you could just use convert, like I originally advised.