Re: [FFmpeg-user] Extracting forced subtitles from a DVD.
> dvd2concat uncompressed.dvdmedia > file.concat > ffmpeg -analyzeduration 500M -probesize 500M -forced_subs_only 1 \ > -safe 0 -f concat -protocol_whitelist concat,ffconcat,file,subfile -i > file.concat \ > -vsync cfr \ > -map 0:0 -c:v hevc_videotoolbox -disposition:v default \ > -map 0:1 -c:a:0 copy -disposition:a:0 default \ > -map 0:5 -c:s:0 copy -disposition:s:0 default \ > -default_mode passthrough \ > compressed.mkv > > However, when I play that compressed.mkv movie I see English subtitles for > EVERYTHING and not for only the forced parts i.e. when only a foreign > language is being spoken. > > Could somebody please help me doing this last part so that my final subtitle > track only contains the forced subtitles like it does when I start with an > MKV instead. Thanks! I think I found a solution through dumb luck while awaiting a response. I had previously been using the dvdsub codec and was told to use the "copy" codec instead, so I switched everything over to that. Later, when the dvd2concat technique was proposed, I ended up with the above commands, but that still didn't work - the final mkv file had English subtitles for everything instead of just the desired forced subtitles. On a whim, I thought I'd try using the "dvdsub" subtitle codec again i.e. these commands: dvd2concat uncompressed.dvdmedia > file.concat ffmpeg -analyzeduration 500M -probesize 500M -forced_subs_only 1 \ -safe 0 -f concat -protocol_whitelist concat,ffconcat,file,subfile -i file.concat \ -vsync cfr \ -map 0:0 -c:v hevc_videotoolbox -disposition:v default \ -map 0:1 -c:a:0 copy -disposition:a:0 default \ -map 0:5 -c:s:0 dvdsub -disposition:s:0 default \ -default_mode passthrough \ compressed.mkv and this time my final subtitle track was only the forced subtitles!! I'm so happy :-). It looks like if you use the dvd2concat method you must the dvdsub codec if you want "-forced_subs_only 1" to work. There is also apparently an error in my earlier posts. I could have sworn when I switched everything over to the subtitle "copy" codec that I confirmed I still got only the forced subtitles with an MKV input, but I just checked again and that's not so. It looks like the only way to get just the forced subtitles via "-forced_subs_only 1" with an MKV input is by using the dvdsub codec. Regards, Mick ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-user To unsubscribe, visit link above, or email ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".
[FFmpeg-user] Hauppauge WinTV-7164 Analog Composite/S-Video Capture
Seems I'm plagued by the same bug as described here: https://stackoverflow.com/questions/19113197/ffmpeg-directshow-capture-2-pins Hauppauge WinTV-7164 Analog Composite/S-Video Capture Using this device trying to capture composite/s-video from VCR/VHS media. dshow device: "Hauppauge WinTV-7164 Analog Capture" (NTSC Model 2250) This Hauppauge PCIe device, likely many Hauppuage video capture cards, capture a video stream already combined with an audio stream. The bug and fix posted to stackoverflow is similar. When specifying the following, either with/without ~Audio (pin 1), I do get an audio stream detected, but the audio stream is null/silent: D:\record-ffmpeg>ffplay -f dshow -rtbufsize 500M -video_size 720x480 -framerate 29.97 -audio_pin_name ~Audio -show_video_device_dialog false -i video="Hauppauge WinTV-7164 Analog Capture":audio="Hauppauge WinTV-7164 Analog Capture" D:\record-ffmpeg>ffplay -f dshow -video_size 352x288 -i video="Hauppauge WinTV-7164 Analog Capture":audio="Hauppauge WinTV-7164 Analog Capture" ffplay version 5.0.1-full_build-www.gyan.dev Copyright (c) 2003-2022 the FFmpeg developers built with gcc 11.2.0 (Rev7, Built by MSYS2 project) configuration: --enable-gpl --enable-version3 --enable-static --disable-w32threads --disable-autodetect --enable-fontconfig --enable-iconv --enable-gnutls --enable-libxml2 --enable-gmp --enable-bzlib --enable-lzma --enable-libsnappy --enable-zlib --enable-librist --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-libbluray --enable-libcaca --enable-sdl2 --enable-libdav1d --enable-libdavs2 --enable-libuavs3d --enable-libzvbi --enable-librav1e --enable-libsvtav1 --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs2 --enable-libxvid --enable-libaom --enable-libopenjpeg --enable-libvpx --enable-mediafoundation --enable-libass --enable-frei0r --enable-libfreetype --enable-libfribidi --enable-liblensfun --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-ffnvcodec --enable-nvdec --enable-nvenc --enable-d3d11va --enable-dxva2 --enable-libmfx --enable-libshaderc --enable-vulkan --enable-libplacebo --enable-opencl --enable-libcdio --enable-libgme --enable-libmodplug --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame --enable-libshine --enable-libtheora --enable-libtwolame --enable-libvo-amrwbenc --enable-libilbc --enable-libgsm --enable-libopencore-amrnb --enable-libopus --enable-libspeex --enable-libvorbis --enable-ladspa --enable-libbs2b --enable-libflite --enable-libmysofa --enable-librubberband --enable-libsoxr --enable-chromaprint libavutil 57. 17.100 / 57. 17.100 libavcodec 59. 18.100 / 59. 18.100 libavformat59. 16.100 / 59. 16.100 libavdevice59. 4.100 / 59. 4.100 libavfilter 8. 24.100 / 8. 24.100 libswscale 6. 4.100 / 6. 4.100 libswresample 4. 3.100 / 4. 3.100 libpostproc56. 3.100 / 56. 3.100 [dshow @ 020e9bb04f00] Could not find audio only device with name [Hauppauge WinTV-7164 Analog Capture] among source devices of type audio. [dshow @ 020e9bb04f00] Searching for audio device within video devices for Hauppauge WinTV-7164 Analog Capture Input #0, dshow, from 'video=Hauppauge WinTV-7164 Analog Capture:audio=Hauppauge WinTV-7164 Analog Capture': Duration: N/A, start: 3738.527811, bitrate: 1536 kb/s Stream #0:0: Video: rawvideo (YUY2 / 0x32595559), yuyv422, 352x288, 29.97 fps, 29.97 tbr, 1k tbn Stream #0:1: Audio: pcm_s16le, 48000 Hz, 2 channels, s16, 1536 kb/s 3740.13 A-V: -0.010 fd= 0 aq=0KB vq=0KB sq=0B f=0/0 D:\record-ffmpeg> It's possible the fix was, possibly a hack/workaround, specifically applied only for certain devices such as "AJA Capture Source". Many Hauppauge capture cards should be added as well. Sometimes right after booting into Windows 10, I may get ffplay to play audio only with a blue screen. Subsequent ffplay executions drop audio, with a blue screen, until either Hauppauge's WinTV10 or VirtualDub64 are subsequently executed, likely properly initializing the video capture card. Subsequent ffplay executions show video properly but again without audio, only stating the video/audio stream specifications. Nor is the audio stream recorded to file using ffmpeg. ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-user To unsubscribe, visit link above, or email ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".
Re: [FFmpeg-user] Single-field deinterlace with nnedi
I'm trying to use nnedi to deinterlace a 29.97 fps video without doubling the frame rate. I added the fields=a option which I thought was supposed to make nnedi only use one of the two fields, but the output is still 59.94 fps. Is this a bug or am I misunderstanding something? Filter still produces same number of frames as input in field mode. Just every second frame is duplicated in output file because of fixed frame rate. So should I just drop every other frame with an fps filter to get half the field rate? ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-user To unsubscribe, visit link above, or email ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".
[FFmpeg-user] Pipe 360° content to VLC player
Hello, I'm using this command line to capture 360° content from a Ricoh Theta V camera and pipe the live video to VLC player: ffmpeg -f dshow -i video="RICOH THETA V/Z1 FullHD" -f mpegts - | "C:\Program Files\VideoLAN\VLC\vlc.exe" - This command line works, but VLC doesn't recognize that it's 360° content, which means I can't change the viewing direction in the player. I know that for mp4 videos the "Spatial Media Metadata Injector" must be used, and then VLC recognizes the video as 360°. But this isn't applicable in this case, because I'm using live input from the camera. Is there any solution for this problem? I could use another player, if that helps. Thanks, Michael ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-user To unsubscribe, visit link above, or email ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".
Re: [FFmpeg-user] Extracting forced subtitles from a DVD.
Hi again, So I've had time to digest the inputs I've received so far and have my next question. Just to recap, I have a decrypted ripped DVD (just the main movie was extracted, no menus, no compression etc.) into a folder called "uncompressed.dvdmedia" that contains: ls -R uncompressed.dvdmedia AUDIO_TSInfo.json VIDEO_TS uncompressed.dvdmedia/AUDIO_TS: uncompressed.dvdmedia/VIDEO_TS: VIDEO_TS.IFOVTS_01_0.IFOVTS_01_1.VOBVTS_01_2.VOB I converted uncompressed.dvdmedia to an MKV file named "uncompressed.mkv" using MakeMKV. Here is the relevant English subtitle stream info for that file, and note that stream also contains embedded tags for the parts that are forced subtitles: ffmpeg -i uncompressed.mkv ... Stream #0:5(eng): Subtitle: dvd_subtitle, 720x480 (default) Metadata: BPS-eng : 3503 DURATION-eng: 00:46:28.37507 NUMBER_OF_FRAMES-eng: 372 NUMBER_OF_BYTES-eng: 1221288 SOURCE_ID-eng : 0120BD _STATISTICS_WRITING_APP-eng: MakeMKV v1.16.7 darwin(x64-release) _STATISTICS_WRITING_DATE_UTC-eng: 2022-04-28 03:45:22 _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES SOURCE_ID When I do the following command I end up with a movie that displays ONLY the forced English subtitles by default (which is exactly what I want): ffmpeg -forced_subs_only 1 \ -i uncompressed.mkv \ -vsync cfr \ -map 0:0 -c:v hevc_videotoolbox -disposition:v default \ -map 0:1 -c:a:0 copy -disposition:a:0 default \ -map 0:5 -c:s:0 copy -disposition:s:0 default \ -default_mode passthrough \ compressed.mkv However, I don't want to have to first convert my movie to an MKV because that process is prone to introducing A/V sync issues. I was instructed by Nicolas George to use dvd2concat and then operate on that output. So here's what I did: dvd2concat uncompressed.dvdmedia > file.concat Here's the streams that contains: ffmpeg -analyzeduration 500M -probesize 500M -safe 0 -f concat -protocol_whitelist concat,ffconcat,file,subfile -i file.concat ... Stream #0:0: Video: mpeg2video (Main), yuv420p(tv, progressive), 720x480 [SAR 32:27 DAR 16:9], 29.50 fps, 59.94 tbr, 90k tbn Side data: cpb: bitrate max/min/avg: 760/0/0 buffer size: 1835008 vbv_delay: N/A Stream #0:1(en): Audio: ac3, 48000 Hz, 5.1(side), fltp, 448 kb/s Stream #0:2(fr): Audio: ac3, 48000 Hz, 5.1(side), fltp, 384 kb/s Stream #0:3(pt): Audio: ac3, 48000 Hz, 5.1(side), fltp, 384 kb/s Stream #0:4(en): Audio: ac3, 48000 Hz, stereo, fltp, 192 kb/s Stream #0:5(en): Subtitle: dvd_subtitle, 720x480 Stream #0:6(en): Subtitle: dvd_subtitle, 720x480 Stream #0:7(fr): Subtitle: dvd_subtitle, 720x480 Stream #0:8(pt): Subtitle: dvd_subtitle, 720x480 Stream #0:9(es): Subtitle: dvd_subtitle, 720x480 Stream #0:10(en): Subtitle: dvd_subtitle, 720x480 Stream #0:11(pt): Subtitle: dvd_subtitle, 720x480 Stream #0:12(es): Subtitle: dvd_subtitle, 720x480 I have confirmed stream 0:5 is still the correct English subtitle track, so I then did: ffmpeg -analyzeduration 500M -probesize 500M -forced_subs_only 1 \ -safe 0 -f concat -protocol_whitelist concat,ffconcat,file,subfile -i file.concat \ -vsync cfr \ -map 0:0 -c:v hevc_videotoolbox -disposition:v default \ -map 0:1 -c:a:0 copy -disposition:a:0 default \ -map 0:5 -c:s:0 copy -disposition:s:0 default \ -default_mode passthrough \ compressed.mkv However, when I play that compressed.mkv movie I see English subtitles for EVERYTHING and not for only the forced parts i.e. when only a foreign language is being spoken. Could somebody please help me doing this last part so that my final subtitle track only contains the forced subtitles like it does when I start with an MKV instead. Thanks! Regards, Mick ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-user To unsubscribe, visit link above, or email ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".
[FFmpeg-user] Compile error: libavcodec/x86/hevc_mc.o] Error 1
I have a compile error with the git FFmpeg under Slackware -current and gcc 11.2.0: - libavcodec/x86/hevc_mc.asm:1853: error: symbol `..@88472.table' not defined libavcodec/x86/hevc_mc.asm:1805: ... from macro `HEVC_PUT_HEVC_QPEL_HV_AVX512ICL' defined here libavcodec/x86/hevc_mc.asm:1730: ... from macro `QPEL_FILTER_V' defined here libavcodec/x86/hevc_mc.asm:1853: error: symbol `..@88472.table' not defined libavcodec/x86/hevc_mc.asm:1805: ... from macro `HEVC_PUT_HEVC_QPEL_HV_AVX512ICL' defined here libavcodec/x86/hevc_mc.asm:1730: ... from macro `QPEL_FILTER_V' defined here libavcodec/x86/hevc_mc.asm:1853: error: symbol `..@88472.table' not defined libavcodec/x86/hevc_mc.asm:1805: ... from macro `HEVC_PUT_HEVC_QPEL_HV_AVX512ICL' defined here libavcodec/x86/hevc_mc.asm:1730: ... from macro `QPEL_FILTER_V' defined here libavcodec/x86/hevc_mc.asm:1853: error: symbol `..@88472.table' not defined libavcodec/x86/hevc_mc.asm:1805: ... from macro `HEVC_PUT_HEVC_QPEL_HV_AVX512ICL' defined here libavcodec/x86/hevc_mc.asm:1730: ... from macro `QPEL_FILTER_V' defined here libavcodec/x86/hevc_mc.asm:1853: error: symbol `..@88472.table' not defined libavcodec/x86/hevc_mc.asm:1805: ... from macro `HEVC_PUT_HEVC_QPEL_HV_AVX512ICL' defined here libavcodec/x86/hevc_mc.asm:1730: ... from macro `QPEL_FILTER_V' defined here libavcodec/x86/hevc_mc.asm:1853: error: symbol `..@88472.table' not defined libavcodec/x86/hevc_mc.asm:1805: ... from macro `HEVC_PUT_HEVC_QPEL_HV_AVX512ICL' defined here libavcodec/x86/hevc_mc.asm:1730: ... from macro `QPEL_FILTER_V' defined here libavcodec/x86/hevc_mc.asm:1853: error: symbol `..@88472.table' not defined libavcodec/x86/hevc_mc.asm:1805: ... from macro `HEVC_PUT_HEVC_QPEL_HV_AVX512ICL' defined here libavcodec/x86/hevc_mc.asm:1730: ... from macro `QPEL_FILTER_V' defined here libavcodec/x86/hevc_mc.asm:1853: error: symbol `..@88472.table' not defined libavcodec/x86/hevc_mc.asm:1805: ... from macro `HEVC_PUT_HEVC_QPEL_HV_AVX512ICL' defined here libavcodec/x86/hevc_mc.asm:1730: ... from macro `QPEL_FILTER_V' defined here STRIP libswscale/x86/output.o make: *** [ffbuild/common.mak:100: libavcodec/x86/hevc_mc.o] Error 1 make: *** Waiting for unfinished jobs STRIP libavcodec/x86/vp9lpf.o STRIP libavutil/x86/tx_float.o - This error occurs with or without x265, I am running x265 version 3.4. Encoding with FFmpeg / hevc still works fine... Thanks, Andrew -- You think that's air you're breathing now? ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-user To unsubscribe, visit link above, or email ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".
Re: [FFmpeg-user] Single-field deinterlace with nnedi
On Sat, Apr 30, 2022 at 8:51 AM Alexander Zhang wrote: > Hello, > > I'm trying to use nnedi to deinterlace a 29.97 fps video without > doubling the frame rate. I added the fields=a option which I thought was > supposed to make nnedi only use one of the two fields, but the output is > still 59.94 fps. Is this a bug or am I misunderstanding something? > Filter still produces same number of frames as input in field mode. Just every second frame is duplicated in output file because of fixed frame rate. > > Here's the command and the output: > $ ffmpeg -i foo.mkv -vf nnedi=weights=nnedi3_weights.bin:field=a bar.mkv > ffmpeg version 4.4.2 Copyright (c) 2000-2021 the FFmpeg developers >built with gcc 11 (GCC) >configuration: --prefix=/usr --bindir=/usr/bin > --datadir=/usr/share/ffmpeg --docdir=/usr/share/doc/ffmpeg > --incdir=/usr/include/ffmpeg --libdir=/usr/lib64 --mandir=/usr/share/man > --arch=x86_64 --optflags='-O2 -flto=auto -ffat-lto-objects -fexceptions > -g -grecord-gcc-switches -pipe -Wall -Werror=format-security > -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS > -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong > -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic > -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection' > --extra-ldflags='-Wl,-z,relro -Wl,--as-needed -Wl,-z,now > -specs=/usr/lib/rpm/redhat/redhat-hardened-ld > -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 ' --extra-cflags=' > -I/usr/include/rav1e' --enable-libopencore-amrnb > --enable-libopencore-amrwb --enable-libvo-amrwbenc --enable-version3 > --enable-bzlib --enable-chromaprint --disable-crystalhd > --enable-fontconfig --enable-frei0r --enable-gcrypt --enable-gnutls > --enable-ladspa --enable-libaom --enable-libdav1d --enable-libass > --enable-libbluray --enable-libbs2b --enable-libcdio --enable-libdrm > --enable-libjack --enable-libfreetype --enable-libfribidi > --enable-libgsm --enable-libilbc --enable-libmp3lame --enable-libmysofa > --enable-nvenc --enable-openal --enable-opencl --enable-opengl > --enable-libopenjpeg --enable-libopenmpt --enable-libopus > --enable-libpulse --enable-librsvg --enable-librav1e --enable-librtmp > --enable-librubberband --enable-libsmbclient --enable-version3 > --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libsrt > --enable-libssh --enable-libsvtav1 --enable-libtesseract > --enable-libtheora --enable-libtwolame --enable-libvorbis > --enable-libv4l2 --enable-libvidstab --enable-libvmaf --enable-version3 > --enable-vapoursynth --enable-libvpx --enable-vulkan --enable-libglslang > --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxvid > --enable-libxml2 --enable-libzimg --enable-libzmq --enable-libzvbi > --enable-lv2 --enable-avfilter --enable-avresample --enable-libmodplug > --enable-postproc --enable-pthreads --disable-static --enable-shared > --enable-gpl --disable-debug --disable-stripping --shlibdir=/usr/lib64 > --enable-lto --enable-libmfx --enable-runtime-cpudetect >libavutil 56. 70.100 / 56. 70.100 >libavcodec 58.134.100 / 58.134.100 >libavformat58. 76.100 / 58. 76.100 >libavdevice58. 13.100 / 58. 13.100 >libavfilter 7.110.100 / 7.110.100 >libavresample 4. 0. 0 / 4. 0. 0 >libswscale 5. 9.100 / 5. 9.100 >libswresample 3. 9.100 / 3. 9.100 >libpostproc55. 9.100 / 55. 9.100 > Input #0, matroska,webm, from 'foo.mkv': >Metadata: > ENCODER : Lavf58.76.100 >Duration: 00:00:15.02, start: 0.00, bitrate: 9479 kb/s >Stream #0:0: Video: h264 (High), yuv420p(tv, bt709, top coded first > (swapped)), 1920x1080 [SAR 1:1 DAR 16:9], 29.97 fps, 29.97 tbr, 1k tbn, > 59.94 tbc (default) > Metadata: >DURATION: 00:00:15.01500 > Stream mapping: >Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264)) > Press [q] to stop, [?] for help > [libx264 @ 0x55ee59541800] using SAR=1/1 > [libx264 @ 0x55ee59541800] using cpu capabilities: MMX2 SSE2Fast SSSE3 > SSE4.2 AVX FMA3 BMI2 AVX2 > [libx264 @ 0x55ee59541800] profile High, level 4.2, 4:2:0, 8-bit > [libx264 @ 0x55ee59541800] 264 - core 163 r3060 5db6aa6 - H.264/MPEG-4 > AVC codec - Copyleft 2003-2021 - http://www.videolan.org/x264.html - > options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 > psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 > 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=6 > lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 > bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 > b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 > keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf > mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 > aq=1:1.00 > Output #0, matroska, to 'bar.mkv': >Metadata: > encoder : Lavf58.76.100 >Stream #0:0: Video: h264 (H264 / 0x34363248), yuv420p(