I am using the command line below to convert ass subtitles into hard coded subtitles.
I got this resultCode:ffmpeg -i "D:\pending\input.VOB" -vf "ass='D:\pending\input.ass'" -c:v mpeg2video -pix_fmt yuv420p -preset slow -r 29.97 -s 720x480 -b:v 4000k -threads 1 -acodec mp2 -ac 2 -ar 44100 -b:a 192k -f vob out.mpg
It seems that the ass video filter does not file full path. I did try it by copying the file in the folder where I was running this application from and it works. Does anyone know how to make this work?Code:ffmpeg version N-50442-g4f0d4ac Copyright (c) 2000-2013 the FFmpeg developers built on Mar 2 2013 15:25:54 with gcc 4.7.2 (GCC) configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enabl e-gnutls --enable-libass --enable-libbluray --enable-libcaca --enable-libfreetype --enable-libgsm --enable-libilbc --enable-libmp3lame --enable-l ibopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinger --enable-libsoxr --en able-libspeex --enable-libtheora --enable-libtwolame --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-li bx264 --enable-libxavs --enable-libxvid --enable-zlib libavutil 52. 17.103 / 52. 17.103 libavcodec 54. 92.100 / 54. 92.100 libavformat 54. 63.102 / 54. 63.102 libavdevice 54. 3.103 / 54. 3.103 libavfilter 3. 41.100 / 3. 41.100 libswscale 2. 2.100 / 2. 2.100 libswresample 0. 17.102 / 0. 17.102 libpostproc 52. 2.100 / 52. 2.100 [mpeg @ 023a8a40] max_analyze_duration 5000000 reached at 5024000 microseconds Input #0, mpeg, from 'D:\pending\input.VOB': Duration: 00:16:01.31, start: 0.060000, bitrate: 5773 kb/s Stream #0:0[0x1e0]: Video: mpeg2video (Main), yuv420p, 720x480 [SAR 8:9 DAR 4:3], 29.97 fps, 29.97 tbr, 90k tbn, 59.94 tbc Stream #0:1[0x80]: Audio: ac3, 48000 Hz, stereo, fltp, 192 kb/s No option name near '\pending\input.ass' [AVFilterGraph @ 031b4c60] Error initializing filter 'ass' with args 'D:\pending\input.ass' Error opening filters!
Try StreamFab Downloader and download from Netflix, Amazon, Youtube! Or Try DVDFab and copy Blu-rays! or rip iTunes movies!
+ Reply to Thread
Results 1 to 22 of 22
Thread
-
-
Maybe try with double backslashes like D:\\pending\\input.ass
-
Code:
ffmpeg -i "D:\pending\input.VOB" -vf "ass=D:\\pending\\input.ass" -c:v mpeg2video -pix_fmt yuv420p -r 29.97 -s 720x480 -b:v 4000k -threads 1 -acodec mp2 -ac 2 -ar 44100 -b:a 192k -f vob out.mpg ffmpeg version N-61570-gaa86ccc Copyright (c) 2000-2014 the FFmpeg developers built on Mar 17 2014 22:01:34 with gcc 4.8.2 (GCC) configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enabl e-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libcaca --enable-libfreetype --enable-libgsm --enable-libilbc --enable-libmod plug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-li bschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-aacenc --enable-libvo- amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-zlib libavutil 52. 67.100 / 52. 67.100 libavcodec 55. 52.102 / 55. 52.102 libavformat 55. 34.101 / 55. 34.101 libavdevice 55. 11.100 / 55. 11.100 libavfilter 4. 3.100 / 4. 3.100 libswscale 2. 5.101 / 2. 5.101 libswresample 0. 18.100 / 0. 18.100 libpostproc 52. 3.100 / 52. 3.100 Input #0, mpeg, from 'D:\\pending\input.VOB': Duration: 00:16:01.31, start: 0.060000, bitrate: 5773 kb/s Stream #0:0[0x1bf]: Data: dvd_nav_packet Stream #0:1[0x1e0]: Video: mpeg2video (Main), yuv420p(tv), 720x480 [SAR 8:9 DAR 4:3], max. 7000 kb/s, 29.97 fps, 29.97 tbr, 90k tbn, 59.94 tb c Stream #0:2[0x80]: Audio: ac3, 48000 Hz, stereo, fltp, 192 kb/s File 'out.mpg' already exists. Overwrite ? [y/N] y [ass @ 02bad1a0] Unable to parse option value "pendinginput.ass" as image size Last message repeated 1 times [ass @ 02bad1a0] Error setting option original_size to value pendinginput.ass. [Parsed_ass_0 @ 03d19700] Error applying options to the filter. [AVFilterGraph @ 03d1ac80] Error initializing filter 'ass' with args 'D:\pending\input.ass' Error opening filters!
-
In video filter chains you have to escape the colon in file paths because it there is used as a argument separator.
You can use this...
-vf "ass=D\:/pending/input.ass" -
Just had same problem... The "ass=" entry only takes certain '/' not the '\' and doesn't need the base reference c:\ so you would enter:
-vf "ass=../../../../../../pending/input.ass'" (Notice the slashes are ALL changed to '/')
The ../ is an old Dos designation to go up a directory so enter enough to get back to the c:\ folder, extras don't matter.
Further complicating FFMpeg subtitles is the fact that any compiled version much past 2013-01-10 doesn't work on this format and needs a new format found at
http://en.wikibooks.org/wiki/FFMPEG_An_Intermediate_Guide/subtitle_options and I cannot get this to work EVER, any way.
My suggestion is download the 2013-01-10 version of FFMpeg and use your format with the slashes changed and no base directory. Unfortunately you are trying to go to the D:\ drive and I don't think that will work.
Here is actual test entry:
Here is the CLI running:
And here is the result:
-
Thank You, Thank You, Thank You Baldrick for the valuable information and Thank You wotdefcuk for providing the feedback. I can now make my program reference external drives! Woot!
An extra note... my system needs the extra single quotes also but it works great now as below.
-vf "ass='D\:\\pending\\input.ass'" -
-
Thanks for the above posts. This problem baffled me for a long time to create a subbed video with ffmpeg. In my endeavors, I was able to able to create a soft sub using ffmpeg, but I must play the video with ffplay if I wanted see the sub. On the other hand, if I wanted a permanent sub to the video I needed to frameserve avisynth subtitle and convert with ffmpeg.
I’m still not satisfactorily able to create subbed video in any folder; if the output file is not in the same project folder ffmpeg will complain that fontconfig is not found even though the video is processed. I’ve tried to configure fonts.conf in environmental variable. http://ffmpeg.zeranoe.com/forum/viewtopic.php?f=10&t=318&start=20
This did little to help. Yet, I should be thankful for this thread for solving idiosyncratic ffmpeg coding I needed to decipher. @Budman: I, too, needed 2 quotes; however, I did not need double slashes as long as the video was in the same folder. Moreover, I did not need to trace up the directly tree; I was able to use different drive letter to sub with ffmpeg without any problem. -
-
Has anyone been able to use the subtitles filter to burn srt file to the video? I always get No such filters
-
Do you use the shared build? http://ffmpeg.zeranoe.com/builds/
My command: -vf "ass='E\:\\path\\to\\sub\\subtitle.ass'"
I have no error using this command. But, no subtitle are burned. ^^ A fontconfig problem, I presume. -
http://ffmpeg.mplayerhq.hu/ffmpeg-filters.html#subtitles-1
-vf "subtitles='E\:\\path\\to\\sub\\subtitle.srt'" -
no luck. I am getting this
Code:D:\>ffmpeg -nostats -i test.VOB -y -vf "subtitles='test.srt'" -c:v libx264 -pix_fmt yuv420p -profile:v main -level:v 3.1 -preset slow -s 720x480 -b:v 2000k -x264 opts crf=20:keyint=40:ref=3:vbv-bufsize=14000:vbv-maxrate=2000 -threads 1 -c:a libvo_aacenc -ac 2 -ar 44100 -b:a 128k -af volume=1.5dB test.mp4 ffmpeg version N-47062-g26c531c Copyright (c) 2000-2012 the FFmpeg developers built on Nov 25 2012 12:25:21 with gcc 4.7.2 (GCC) configuration: --enable-gpl --enable-version3 --disable-pthreads --enable-runtime-cpudetect --enable-avisynth --enable-bzlib --enable-frei0r --enable-libass -- enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libfreetype --enable-libgsm --enable-libmp3lame --enable-libnut --enable-libopenjpeg --enable-libopu s --enable-librtmp --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libutvideo --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvo rbis --enable-libvpx --enable-libx264 --enable-libxavs --enable-libxvid --enable-zlib libavutil 52. 9.100 / 52. 9.100 libavcodec 54. 77.100 / 54. 77.100 libavformat 54. 37.100 / 54. 37.100 libavdevice 54. 3.100 / 54. 3.100 libavfilter 3. 23.102 / 3. 23.102 libswscale 2. 1.102 / 2. 1.102 libswresample 0. 17.101 / 0. 17.101 libpostproc 52. 2.100 / 52. 2.100 [mpeg @ 0000000001f572c0] max_analyze_duration 5000000 reached at 5024000 Input #0, mpeg, from 'test.VOB': Duration: 00:16:01.31, start: 0.060000, bitrate: 5773 kb/s Stream #0:0[0x1e0]: Video: mpeg2video (Main), yuv420p, 720x480 [SAR 8:9 DAR 4:3], 29.97 fps, 29.97 tbr, 90k tbn, 59.94 tbc Stream #0:1[0x80]: Audio: ac3, 48000 Hz, stereo, s16, 192 kb/s [AVFilterGraph @ 000000000027bbc0] No such filter: 'subtitles' Error opening filters!
-
Just an add on to the already wealth of information in this thread... I set 3 environment variables and then I had to put the font.conf file in the location specified by the variable. I BELIEVE as wotdefcuk mentioned, if the variable is not set then the libass defaults to WHATEVER was specified in the build. This caused me problems as I swapped in and out later and earlier versions of FFMpeg trying to make it work, somedefaulting to the FFMpeg directory and some the fonts directory, so I set the environment variables and I stick with it now.
Also, I had problems similar to HelpVid, looking back over the conversion and for some reason later FFmpeg's did not like the 'mode' settings in the font.conf file. I removed them and just copied the entries such as:
<alias>
<family>Courier</family>
<prefer><family>Courier New</family></prefer>
<default><family>monospace</family></default>
</alias> -
@wotdefcuk
Code:ffmpeg version N-47062-g26c531c Copyright (c) 2000-2012 the FFmpeg developers built on Nov 25 2012 12:25:21 with gcc 4.7.2 (GCC)
-
-