SRF/m3u8 + ffmpeg: httpS Problem

Infos, Fragen, Ideen und alles rund um P2Tools
Antworten
thowe
Beiträge: 78
Registriert: 09.05.2023, 09:10

SRF/m3u8 + ffmpeg: httpS Problem

Beitrag von thowe »

Ich kriege keine m3u8 (vom SRF) runtergeladen. Abspielen mit VLC geht.

Ein typischer Programmaufruf ist (`<>` durch ` ` ersetzt, Pfad gequotet):

Code: Alles auswählen

/usr/bin/ffmpeg  -i  https://srf-vod-amd.akamaized.net/ch/hls/spielfilm/2024/05/spielfilm_20240504_003932_5420548_v_webcast_h264_,q40,q10,q20,q30,q50,q60,.mp4.csmil/index-f6-v1-a1.m3u8  -c  copy  -bsf:a  aac_adtstoasc  '/media/medien/Filme/Schweizer Film/«Die Ehe des Herrn Mississippi» – Komödie von Dürrenmatt (HD) SRF.mp4'
Der schmeißt mir auch in der Konsole einen Error:

Code: Alles auswählen

localhost% /usr/bin/ffmpeg  -i  https://srf-vod-amd.akamaized.net/ch/hls/spielfilm/2024/05/spielfilm_20240504_003932_5420548_v_webcast_h264_,q40,q10,q20,q30,q50,q60,.mp4.csmil/index-f6-v1-a1.m3u8  -c  copy  -bsf:a  aac_adtstoasc  '/media/medien/Filme/Schweizer Film/«Die Ehe des Herrn Mississippi» – Komödie von Dürrenmatt (HD) SRF.mp4'
ffmpeg version 3.4.13 Copyright (c) 2000-2023 the FFmpeg developers
built with gcc 13 (SUSE Linux)
configuration: --prefix=/usr --libdir=/usr/lib64 --shlibdir=/usr/lib64 --incdir=/usr/include/ffmpeg --extra-cflags='-O2 -Wall -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=3 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -Werror=return-type -g' --optflags='-O2 -Wall-U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=3 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -Werror=return-type -g' --disable-htmlpages --enable-pic --disable-stripping --enable-shared --disable-static --enable-gpl --disable-openssl --enable-avresample --enable-libcdio --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libcelt --enable-libcdio --enable-libdc1394 --enable-libfreetype --enable-libgsm --enable-libmp3lame --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libzimg --enable-libzvbi --enable-vaapi --enable-vdpau --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-version3 --enable-libx264 --enable-libx265 --enable-libxvid
libavutil      55. 78.100 / 55. 78.100
libavcodec     57.107.100 / 57.107.100
libavformat    57. 83.100 / 57. 83.100
libavdevice    57. 10.100 / 57. 10.100
libavfilter     6.107.100 /  6.107.100
libavresample   3.  7.  0 /  3.  7.  0
libswscale      4.  8.100 /  4.  8.100
libswresample   2.  9.100 /  2.  9.100
libpostproc    54.  7.100 / 54.  7.100
https://srf-vod-amd.akamaized.net/ch/hls/spielfilm/2024/05/spielfilm_20240504_003932_5420548_v_webcast_h264_,q40,q10,q20,q30,q50,q60,.mp4.csmil/index-f6-v1-a1.m3u8: Input/output error
localhost%
Ersetze ich in der URL `httpS` durch `http`, dann klappts:

Code: Alles auswählen

localhost% /usr/bin/ffmpeg  -i  http://srf-vod-amd.akamaized.net/ch/hls/spielfilm/2024/05/spielfilm_20240504_003932_5420548_v_webcast_h264_,q40,q10,q20,q30,q50,q60,.mp4.csmil/index-f6-v1-a1.m3u8  -c  copy-bsf:a  aac_adtstoasc  '/media/medien/Filme/Schweizer Film/«Die Ehe des Herrn Mississippi» – Komödievon Dürrenmatt (HD) SRF.mp4'
ffmpeg version 3.4.13 Copyright (c) 2000-2023 the FFmpeg developers
built with gcc 13 (SUSE Linux)
configuration: --prefix=/usr --libdir=/usr/lib64 --shlibdir=/usr/lib64 --incdir=/usr/include/ffmpeg --extra-cflags='-O2 -Wall -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=3 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -Werror=return-type -g' --optflags='-O2 -Wall-U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=3 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -Werror=return-type -g' --disable-htmlpages --enable-pic --disable-stripping --enable-shared --disable-static --enable-gpl --disable-openssl --enable-avresample --enable-libcdio --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libcelt --enable-libcdio --enable-libdc1394 --enable-libfreetype --enable-libgsm --enable-libmp3lame --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libzimg --enable-libzvbi --enable-vaapi --enable-vdpau --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-version3 --enable-libx264 --enable-libx265 --enable-libxvid
libavutil      55. 78.100 / 55. 78.100
libavcodec     57.107.100 / 57.107.100
libavformat    57. 83.100 / 57. 83.100
libavdevice    57. 10.100 / 57. 10.100
libavfilter     6.107.100 /  6.107.100
libavresample   3.  7.  0 /  3.  7.  0
libswscale      4.  8.100 /  4.  8.100
libswresample   2.  9.100 /  2.  9.100
libpostproc    54.  7.100 / 54.  7.100
[hls,applehttp @ 0x55aa19ec6c80] Opening 'http://srf-vod-amd.akamaized.net/ch/hls/spielfilm/2024/05/spielfilm_20240504_003932_5420548_v_webcast_h264_,q40,q10,q20,q30,q50,q60,.mp4.csmil/segment-1-f6-v1-a1.ts?caption=srf/9c6632c4-9e36-42e1-8796-a1b66ecff4df/episode/de/vod/vod.m3u8:de:Deutsch:sdh&webvttbaseurl=subtitles.eai-general.aws.srf.ch' for reading
Input #0, hls,applehttp, from 'http://srf-vod-amd.akamaized.net/ch/hls/spielfilm/2024/05/spielfilm_20240504_003932_5420548_v_webcast_h264_,q40,q10,q20,q30,q50,q60,.mp4.csmil/index-f6-v1-a1.m3u8':
Duration: 01:31:27.00, start: 0.141000, bitrate: N/A
Program 0
Metadata:
variant_bitrate : 0
Stream #0:0: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 25 fps, 25 tbr, 90k tbn, 50 tbc
Metadata:
variant_bitrate : 0
Stream #0:1: Audio: aac (LC) ([15][0][0][0] / 0x000F), 48000 Hz, stereo, fltp
Metadata:
variant_bitrate : 0
Stream #0:2: Data: timed_id3 (ID3  / 0x20334449)
Metadata:
...
Und so sieht das Log in MTP aus:

Code: Alles auswählen

[18:13:05] INFO:         =====================
[18:13:05] INFO:         Starte Array: 
[18:13:05] INFO:          -> /usr/bin/ffmpeg<>-i<>https://srf-vod-amd.akamaized.net/ch/hls/spielfilm/2024/05/spielfilm_20240504_003932_5420548_v_webcast_h264_,q40,q10,q20,q30,q50,q60,.mp4.csmil/index-f6-v1-a1.m3u8<>-c<>copy<>-bsf:a<>aac_adtstoasc<>/media/medien/Filme/Schweizer Film/«Die Ehe des Herrn Mississippi» – Komödie von Dürrenmatt (HD) SRF.mp4
[18:13:05] INFO:         =====================
[18:13:05] EXT_TOOL:     [00084] >> ERRORSTREAM: ffmpeg version 3.4.13 Copyright (c) 2000-2023 the FFmpeg developers
[18:13:05] EXT_TOOL:     [00084] >> ERRORSTREAM:   built with gcc 13 (SUSE Linux)
[18:13:05] EXT_TOOL:     [00084] >> ERRORSTREAM:   configuration: --prefix=/usr --libdir=/usr/lib64 --shlibdir=/usr/lib64 --incdir=/usr/include/ffmpeg --extra-cflags='-O2 -Wall -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=3 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -Werror=return-type -g' --optflags='-O2 -Wall -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=3 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -Werror=return-type -g' --disable-htmlpages --enable-pic --disable-stripping --enable-shared --disable-static --enable-gpl --disable-openssl --enable-avresample --enable-libcdio --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libcelt --enable-libcdio --enable-libdc1394 --enable-libfreetype --enable-libgsm --enable-libmp3lame --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libzimg --enable-libzvbi --enable-vaapi --enable-vdpau --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-version3 --enable-libx264 --enable-libx265 --enable-libxvid
[18:13:05] EXT_TOOL:     [00084] >> ERRORSTREAM:   libavutil      55. 78.100 / 55. 78.100
[18:13:05] EXT_TOOL:     [00084] >> ERRORSTREAM:   libavcodec     57.107.100 / 57.107.100
[18:13:05] EXT_TOOL:     [00084] >> ERRORSTREAM:   libavformat    57. 83.100 / 57. 83.100
[18:13:05] EXT_TOOL:     [00084] >> ERRORSTREAM:   libavdevice    57. 10.100 / 57. 10.100
[18:13:05] EXT_TOOL:     [00084] >> ERRORSTREAM:   libavfilter     6.107.100 /  6.107.100
[18:13:05] EXT_TOOL:     [00084] >> ERRORSTREAM:   libavresample   3.  7.  0 /  3.  7.  0
[18:13:05] EXT_TOOL:     [00084] >> ERRORSTREAM:   libswscale      4.  8.100 /  4.  8.100
[18:13:05] EXT_TOOL:     [00084] >> ERRORSTREAM:   libswresample   2.  9.100 /  2.  9.100
[18:13:05] EXT_TOOL:     [00084] >> ERRORSTREAM:   libpostproc    54.  7.100 / 54.  7.100
[18:13:05] EXT_TOOL:     [00084] >> ERRORSTREAM: https://srf-vod-amd.akamaized.net/ch/hls/spielfilm/2024/05/spielfilm_20240504_003932_5420548_v_webcast_h264_,q40,q10,q20,q30,q50,q60,.mp4.csmil/index-f6-v1-a1.m3u8: Input/output error
[18:13:07] INFO:         =====================
[18:13:07] INFO:         Starte Array: 
...

Das Set dazu ist dieses:

Code: Alles auswählen

<SetDataList>
	<SetData>
		<id>Speichern Allgemein</id>
		<visibleName>Speichern Film</visibleName>
		<prefix>http</prefix>
		<suffix>avi,flv,m4a,m4v,mov,mp3,mp4,VOB,webm</suffix>
		<color>#000000ff</color>
		<destPath>/media/medien/Filme</destPath>
		<destName>%T (%q) %s.%S</destName>
		<play>false</play>
		<save>true</save>
		<button>true</button>
		<abo>true</abo>
		<maxSize>0</maxSize>
		<maxField>0</maxField>
		<resolution>hd</resolution>
		<infoFile>true</infoFile>
		<subtitle>false</subtitle>
		<genAboSubDir>true</genAboSubDir>
		<aboSubDir_ENSubDirNo>2</aboSubDir_ENSubDirNo>

		<ProgramList>
			<Program>
				<name>ffmpeg</name>
				<destName>%T (%q) %s.mp4</destName>
				<progPath>/usr/bin/ffmpeg</progPath>
				<progSwitch>-i %f -c copy -bsf:a aac_adtstoasc **</progSwitch>
				<prefix>http,https</prefix>
				<suffix>m3u8</suffix>
				<downManager>false</downManager>
			</Program>
		</ProgramList>
	</SetData>
((^^Tip: Um die Einrückungen zu erhalten, ERST den Code-Block anlegen, DANN den Code reinkopieren.))


Wotzefack. Wie krieg ich in MTP das störende `S`aus dem `https` raus? Wenn's bei Euch klappt, muss ich doch irgendwas ganz Dummes falsch machen. — Aber was???
Benutzeravatar
linuxopa
Beiträge: 101
Registriert: 06.05.2023, 18:51

Re: SRF/m3u8 + ffmpeg: httpS Problem

Beitrag von linuxopa »

Moin.

Ich compiliere ffmpeg immer selbst:
cd ~/ffmpeg_sources && \
wget -O ffmpeg-snapshot.tar.bz2 https://ffmpeg.org/releases/ffmpeg-snapshot.tar.bz2 && \
tar xjvf ffmpeg-snapshot.tar.bz2 && \
cd ffmpeg && \
PATH="$HOME/bin:$PATH" PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig" ./configure \
--prefix="$HOME/ffmpeg_build" \
--pkg-config-flags="--static" \
--extra-cflags="-I$HOME/ffmpeg_build/include" \
--extra-ldflags="-L$HOME/ffmpeg_build/lib" \
--extra-libs="-lpthread -lm" \
--bindir="$HOME/bin" \
--enable-gpl \
--enable-libaom \
--enable-libass \
--enable-libfdk-aac \
--enable-libfreetype \
--enable-libmp3lame \
--enable-libopus \
--enable-libvorbis \
--enable-libvpx \
--enable-libx264 \
--enable-libx265 \
--enable-openssl \
--enable-nonfree && \
PATH="$HOME/bin:$PATH" make && \
make install && \
hash -r

das, was dir evtl. fehlt, könnte enable-openssl sein
thowe
Beiträge: 78
Registriert: 09.05.2023, 09:10

Re: SRF/m3u8 + ffmpeg: httpS Problem

Beitrag von thowe »

Wollja!
Das war's.

(vv kein <b> in Code daher als Zitat formatiert):
localhost% ffmpeg
ffmpeg version 3.4.13 Copyright (c) 2000-2023 the FFmpeg developers
built with gcc 13 (SUSE Linux)
configuration: --prefix=/usr --libdir=/usr/lib64 --shlibdir=/usr/lib64 --incdir=/usr/include/ffmpeg --extra-cflags='-O2 -Wall -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=3 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -Werror=return-type -g' --optflags='-O2-Wall -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=3 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -Werror=return-type -g' --disable-htmlpages --enable-pic --disable-stripping --enable-shared --disable-static --enable-gpl --disable-openssl --enable-avresample--enable-libcdio --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libcelt --enable-libcdio --enable-libdc1394 --enable-libfreetype --enable-libgsm --enable-libmp3lame --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libzimg --enable-libzvbi --enable-vaapi --enable-vdpau --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-version3 --enable-libx264 --enable-libx265 --enable-libxvid
Nach update auf ffmpeg 7.x klappt der Download.

Danke!
Antworten