mirror of
				https://github.com/yt-dlp/yt-dlp.git
				synced 2025-11-04 00:25:15 +00:00 
			
		
		
		
	[ie/orf:on] Allow downloading of video in segments (#10314)
Closes #10142 Authored by: seproDev
This commit is contained in:
		@@ -1851,6 +1851,9 @@ The following extractors use this feature:
 | 
				
			|||||||
#### soundcloud
 | 
					#### soundcloud
 | 
				
			||||||
* `formats`: Formats to request from the API. Requested values should be in the format of `{protocol}_{extension}` (omitting the bitrate), e.g. `hls_opus,http_aac`. The `*` character functions as a wildcard, e.g. `*_mp3`, and can passed by itself to request all formats. Known protocols include `http`, `hls` and `hls-aes`; known extensions include `aac`, `opus` and `mp3`. Original `download` formats are always extracted. Default is `http_aac,hls_aac,http_opus,hls_opus,http_mp3,hls_mp3`
 | 
					* `formats`: Formats to request from the API. Requested values should be in the format of `{protocol}_{extension}` (omitting the bitrate), e.g. `hls_opus,http_aac`. The `*` character functions as a wildcard, e.g. `*_mp3`, and can passed by itself to request all formats. Known protocols include `http`, `hls` and `hls-aes`; known extensions include `aac`, `opus` and `mp3`. Original `download` formats are always extracted. Default is `http_aac,hls_aac,http_opus,hls_opus,http_mp3,hls_mp3`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#### orfon (orf:on)
 | 
				
			||||||
 | 
					* `prefer_segments_playlist`: Prefer a playlist of program segments instead of a single complete video when available. If individual segments are desired, use `--concat-playlist never --extractor-args "orfon:prefer_segments_playlist"`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
**Note**: These options may be changed/removed in the future without concern for backward compatibility
 | 
					**Note**: These options may be changed/removed in the future without concern for backward compatibility
 | 
				
			||||||
 | 
					
 | 
				
			||||||
<!-- MANPAGE: MOVE "INSTALLATION" SECTION HERE -->
 | 
					<!-- MANPAGE: MOVE "INSTALLATION" SECTION HERE -->
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -550,7 +550,8 @@ class ORFONIE(InfoExtractor):
 | 
				
			|||||||
            return self._extract_video_info(segment_id, selected_segment)
 | 
					            return self._extract_video_info(segment_id, selected_segment)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        # Even some segmented videos have an unsegmented version available in API response root
 | 
					        # Even some segmented videos have an unsegmented version available in API response root
 | 
				
			||||||
        if not traverse_obj(api_json, ('sources', ..., ..., 'src', {url_or_none})):
 | 
					        if (self._configuration_arg('prefer_segments_playlist')
 | 
				
			||||||
 | 
					                or not traverse_obj(api_json, ('sources', ..., ..., 'src', {url_or_none}))):
 | 
				
			||||||
            return self.playlist_result(
 | 
					            return self.playlist_result(
 | 
				
			||||||
                (self._extract_video_info(str(segment['id']), segment) for segment in segments),
 | 
					                (self._extract_video_info(str(segment['id']), segment) for segment in segments),
 | 
				
			||||||
                video_id, **self._parse_metadata(api_json), multi_video=True)
 | 
					                video_id, **self._parse_metadata(api_json), multi_video=True)
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user